/** snapshot viewer colors **/\r
public static Color SNAPSHOT_VIEWER_BORDER = getColor("snapshot_viewer_border"); //$NON-NLS-1$\r
\r
+ /** Page chart colors**/\r
+ public static Color PAGE_CHART_HAEDER_BG = getColor("page_chart_header_bg"); //$NON-NLS-1$\r
+ public static Color PAGE_CHART_SELECTION_BG = getColor("page_chart_selection_bg"); //$NON-NLS-1$\r
+ public static Color PAGE_CHART_PARENT_BG = getColor("page_chart_parent_bg"); //$NON-NLS-1$\r
+ public static Color PAGE_CHART_CHILD_BG = getColor("page_chart_child_bg"); //$NON-NLS-1$\r
+ \r
/** File chart colors **/\r
public static Color FILE_CLOSED_START = getColor("file_closed_start"); //$NON-NLS-1$\r
public static Color FILE_CLOSED_END = getColor("file_closed_end"); //$NON-NLS-1$\r
/** snapshot viewer colors **/\r
SNAPSHOT_VIEWER_BORDER = getColor("snapshot_viewer_border"); //$NON-NLS-1$\r
\r
+ /** Page chart colors **/\r
+ PAGE_CHART_HAEDER_BG = getColor("page_chart_header_bg"); //$NON-NLS-1$\r
+ PAGE_CHART_SELECTION_BG = getColor("page_chart_selection_bg"); //$NON-NLS-1$\r
+ PAGE_CHART_PARENT_BG = getColor("page_chart_parent_bg"); //$NON-NLS-1$\r
+ PAGE_CHART_CHILD_BG = getColor("page_chart_child_bg"); //$NON-NLS-1$\r
+\r
/** File chart colors **/\r
FILE_CLOSED_START = getColor("file_closed_start"); //$NON-NLS-1$\r
FILE_CLOSED_END = getColor("file_closed_end"); //$NON-NLS-1$\r
--- /dev/null
+package org.tizen.dynamicanalyzer.nl;
+
+import org.eclipse.osgi.util.NLS;
+
+public class DAPageChartLabels extends NLS {
+ private static final String BUNDLE_NAME = "org.tizen.dynamicanalyzer.nl.DAPageChartLabels"; //$NON-NLS-1$
+ public static String KEY_COLUMN_HEADER_IMAGE_LEFT_MARGIN;
+ public static String KEY_COLUMN_HEADER_IMAGE_TOP_MARGIN;
+ public static String KEY_COLUMN_HEADER_TEXT_LEFT_MARGIN;
+ public static String KEY_COLUMN_HEADER_TEXT_TOP_MARGIN;
+ public static String KEY_CHART_SCALE;
+ public static String KEY_CHART_START_TIME;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, DAPageChartLabels.class);
+ }
+ private DAPageChartLabels() {
+ }
+}
--- /dev/null
+KEY_COLUMN_HEADER_IMAGE_LEFT_MARGIN=ImageLeftMargin
+KEY_COLUMN_HEADER_IMAGE_TOP_MARGIN=ImageTopMargin
+KEY_COLUMN_HEADER_TEXT_LEFT_MARGIN=TextLeftMargin
+KEY_COLUMN_HEADER_TEXT_TOP_MARGIN=TextTopMargin
+KEY_CHART_SCALE=ChartScale
+KEY_CHART_START_TIME=StartTime
\ No newline at end of file
/** snapshot viewer colors **/
setColor("snapshot_viewer_border", new RGB(49, 104, 127)); //$NON-NLS-1$
+ /** Page chart colors **/
+ setColor("page_chart_header_bg", new RGB(45, 45, 46)); //$NON-NLS-1$
+ setColor("page_chart_selection_bg", new RGB(0, 151, 201)); //$NON-NLS-1$
+ setColor("page_chart_parent_bg", new RGB(84, 85, 86)); //$NON-NLS-1$
+ setColor("page_chart_child_bg", new RGB(59, 59, 60)); //$NON-NLS-1$
+
/** File chart colors **/
setColor("file_closed_start", new RGB(168, 198, 71)); //$NON-NLS-1$
setColor("file_closed_end", new RGB(130, 152, 54)); //$NON-NLS-1$
setColor("tab_bg_color_start", new RGB(205, 205, 205));
setColor("tab_bg_color_end", new RGB(216, 216, 216));
setColor("tab_bg_outline_color", new RGB(160, 160, 160));
-
+
+ /** Page chart colors **/
+ setColor("page_chart_header_bg", new RGB(45, 45, 46)); //$NON-NLS-1$
+ setColor("page_chart_selection_bg", new RGB(0, 151, 201)); //$NON-NLS-1$
+ setColor("page_chart_parent_bg", new RGB(84, 85, 86)); //$NON-NLS-1$
+ setColor("page_chart_child_bg", new RGB(59, 59, 60)); //$NON-NLS-1$
+
/** File chart colors **/
setColor("file_closed_start", new RGB(168, 198, 71)); //$NON-NLS-1$
setColor("file_closed_end", new RGB(130, 152, 54)); //$NON-NLS-1$
private static int COMBO_FIRST_INDEX = 0;
- public static boolean bThreadPageWork = false; // FIXME
+ public static boolean bThreadPageWork = true; // FIXME
private ShellListener shellListener = new ShellListener() {
import org.eclipse.nebula.widgets.grid.Grid;
import org.eclipse.nebula.widgets.grid.GridColumn;
+import org.eclipse.nebula.widgets.grid.internal.DefaultColumnHeaderRenderer;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.tizen.dynamicanalyzer.ColorResources;
import org.tizen.dynamicanalyzer.FontResources;
+import org.tizen.dynamicanalyzer.nl.DAPageChartLabels;
+import org.tizen.dynamicanalyzer.ui.views.filePage.fileChart.DAFileChartHeaderRenderer;
import org.tizen.dynamicanalyzer.ui.views.filePage.fileChart.FileChartManager;
import org.tizen.dynamicanalyzer.ui.views.pageInfo.PageChartGraphItem;
import org.tizen.dynamicanalyzer.ui.views.pageInfo.PageChartItem;
public final static int DEFAULT_CHART_HEIGHT = 40;
public final static int DEFAULT_CHART_FIRST_COLUMN_WIDTH = 125;
public final static int DEFAULT_CHART_SECOND_COLUMN_WIDTH = 700;
+ private final static int SCALE_100 = 100;
+ private final static int SCALE_200 = 200;
+ private final static int SCALE_400 = 400;
private int chartHeight = DEFAULT_CHART_HEIGHT;
private int chartFirstColumnWidth = DEFAULT_CHART_FIRST_COLUMN_WIDTH;
private int chartSecondColumnWidth = DEFAULT_CHART_SECOND_COLUMN_WIDTH;
+ private int startTime = 0;
+ private int scale = SCALE_100;
+
+ private GridColumn columnName;
+ private GridColumn columnTime;
- public DAPageChart(Composite parent, int style, String chartName) {
+ public DAPageChart(Composite parent, int style, String ColumnHeaderText) {
super(parent, SWT.NONE);
this.setLayout(new FormLayout());
this.setBackground(ColorResources.TABLE_BG_COLOR);
data.top = new FormAttachment(0, 0);
data.bottom = new FormAttachment(100, -20);
chart.setLayoutData(data);
+
+ SetChartScale(scale);
+ SetChartStartTime(startTime);
- SetColumns(chartName);
+ SetColumns(ColumnHeaderText);
}
public void AddItem(PageChartItem item) {
}
private void SetColumns(String name) {
- GridColumn columnName = new GridColumn(chart, SWT.NONE);
+ columnName = new GridColumn(chart, SWT.NONE);
columnName.setText(name);
columnName.setResizeable(false);
columnName.setWidth(chartFirstColumnWidth);
+ columnName.setHeaderRenderer(new DAPageChartNameHeaderRenderer());
// columnName.pack();
- GridColumn columnTime = new GridColumn(chart, SWT.NONE);
+ columnTime = new GridColumn(chart, SWT.NONE);
columnTime.setResizeable(false);
columnTime.setWidth(chartSecondColumnWidth);
+ columnTime.setHeaderRenderer(new DAPageChartTimelineHeaderRenderer());
// columnTime.pack();
}
public Grid GetInnerChart() {
return chart;
}
-
+
+ public void SetColumnHeaderImage(Image image){
+ columnName.setImage(image);
+ }
+
+ public void SetColumnHeaderText(String columnText){
+ columnName.setText(columnText);
+ }
+
+ public void SetColumnHeaderImageMargin(int left, int top){
+ columnName.setData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_LEFT_MARGIN, left);
+ columnName.setData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_TOP_MARGIN, top);
+
+ }
+
+ public void SetColumnHeaderTextMargin(int left, int top){
+ columnName.setData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_LEFT_MARGIN, left);
+ columnName.setData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_TOP_MARGIN, top);
+ }
+
+ public int GetChartScale(){
+ return scale;
+ }
+
+ public int GetChartStartTime(){
+ return startTime;
+ }
+
+ private void SetChartScale(int scale){
+ this.scale = scale;
+ chart.setData(DAPageChartLabels.KEY_CHART_SCALE, this.scale);
+ }
+
+ private void SetChartStartTime(int time){
+ this.startTime = time;
+ chart.setData(DAPageChartLabels.KEY_CHART_START_TIME, this.startTime);
+ }
}
--- /dev/null
+package org.tizen.dynamicanalyzer.ui.widgets.DAPageChart;
+
+import org.eclipse.nebula.widgets.grid.GridColumn;
+import org.eclipse.nebula.widgets.grid.internal.DefaultColumnHeaderRenderer;
+import org.eclipse.nebula.widgets.grid.internal.TextUtils;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Rectangle;
+import org.tizen.dynamicanalyzer.ColorResources;
+import org.tizen.dynamicanalyzer.nl.DAPageChartLabels;
+
+public class DAPageChartNameHeaderRenderer extends DefaultColumnHeaderRenderer {
+ public final static int DEFAULT_IMAGE_TOP_MARGIN = 2;
+ public final static int DEFAULT_IMAGE_LEFT_MARGIN = 2;
+ public final static int DEFAULT_TEXT_TOP_MARGIN = 5;
+ public final static int DEFAULT_TEXT_LEFT_MARGIN = 5;
+ private int imageTopMargin = DEFAULT_IMAGE_TOP_MARGIN;
+ private int imageLeftMargin = DEFAULT_IMAGE_LEFT_MARGIN;
+ private int textTopMargin = DEFAULT_TEXT_TOP_MARGIN;
+ private int textLeftMargin = DEFAULT_TEXT_LEFT_MARGIN;
+
+ public void paint(GC gc, Object value) {
+ GridColumn column = (GridColumn) value;
+ gc.setBackground(ColorResources.PAGE_CHART_HAEDER_BG);
+ gc.setForeground(ColorResources.TABLE_LINE_COLOR);
+ Rectangle r = getBounds();
+ // draw bg colcumn box
+ gc.fillRectangle(r);
+ gc.drawRectangle(r);
+ // draw image
+ int x = 0;
+ int y = 0;
+ if (column.getImage() != null) {
+ if (column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_LEFT_MARGIN) != null) {
+ imageLeftMargin = (Integer) column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_LEFT_MARGIN);
+ }
+ if (column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_TOP_MARGIN) != null) {
+ imageTopMargin = (Integer) column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_IMAGE_TOP_MARGIN);
+ }
+ x = r.x + imageLeftMargin;
+ y = r.y + imageTopMargin;
+ gc.drawImage(column.getImage(), x, y);
+ x += column.getImage().getBounds().width;
+ y += column.getImage().getBounds().height;
+ }
+ // draw text
+ if (column.getText() != null) {
+ if (column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_LEFT_MARGIN) != null) {
+ textLeftMargin = (Integer) column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_LEFT_MARGIN);
+ }
+ if (column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_TOP_MARGIN) != null) {
+ textTopMargin = (Integer) column
+ .getData(DAPageChartLabels.KEY_COLUMN_HEADER_TEXT_TOP_MARGIN);
+ }
+ x += r.x + textLeftMargin;
+ y += r.y + textTopMargin;
+ gc.setForeground(ColorResources.TITLEBAR_TEXT_COLOR);
+ gc.drawString(
+ TextUtils.getShortString(gc, column.getText(), r.width - x
+ - 1), x, y);
+ }
+ }
+}
--- /dev/null
+package org.tizen.dynamicanalyzer.ui.widgets.DAPageChart;
+
+import org.eclipse.nebula.widgets.grid.GridColumn;
+import org.eclipse.nebula.widgets.grid.internal.DefaultColumnHeaderRenderer;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Rectangle;
+import org.tizen.dynamicanalyzer.ColorResources;
+import org.tizen.dynamicanalyzer.nl.DAPageChartLabels;
+
+public class DAPageChartTimelineHeaderRenderer extends
+ DefaultColumnHeaderRenderer {
+ int startTime;
+ int scale;
+
+ public void paint(GC gc, Object value) {
+ GridColumn column = (GridColumn) value;
+ gc.setBackground(ColorResources.PAGE_CHART_HAEDER_BG);
+ gc.setForeground(ColorResources.TABLE_LINE_COLOR);
+ Rectangle r = getBounds();
+
+ // draw bg colcumn box
+ gc.fillRectangle(r);
+ gc.drawRectangle(r);
+
+ // draw gradation
+ startTime = (Integer) (column.getParent()
+ .getData(DAPageChartLabels.KEY_CHART_START_TIME));
+ scale = (Integer) (column.getParent()
+ .getData(DAPageChartLabels.KEY_CHART_SCALE));
+ }
+}