public static final Image DA_SCREENSHOT_ICON_FOC = getPngImage("da_screenshot_icon_foc");
public static final Image DA_SCREENSHOT_ICON_NOR = getPngImage("da_screenshot_icon_nor");
public static final Image DA_SCREENSHOT_ICON_OVER = getPngImage("da_screenshot_icon_over");
+ public static final Image DIMENSION_IC_NOR = getPngImage("dimension_ic_nor");
+ public static final Image DIMENSION_IC_OVER = getPngImage("dimension_ic_over");
+ public static final Image DIMENSION_IC_SEL = getPngImage("dimension_ic_sel");
public static final Image DROP_ARROW_DOWN_HOVER = getPngImage("drop_arrow_down_edit");
public static final Image DROP_ARROW_DOWN_NOR = getPngImage("drop_arrow_down_nor");
public static final Image DROP_ARROW_DOWN_DIM = getPngImage("drop_arrow_down_dim");
returnCombo.setComboGradation(ColorResources.WHITE, ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE, ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130, ColorResources.WHITE, ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL, ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
+ returnCombo.setOutlineColors(ColorResources.GRAY_170, ColorResources.GRAY_170, ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL, ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
returnCombo.setComboImagePoint(new Point(160, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE, ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130,
- ColorResources.WHITE,
- ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
+ returnCombo.setOutlineColors(ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL,
+ ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
returnCombo.setComboImagePoint(new Point(160, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE,
ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130,
- ColorResources.WHITE,
- ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
+ returnCombo.setOutlineColors(ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL,
+ ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
returnCombo.setComboImagePoint(new Point(160, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE,
ColorResources.WHITE,
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.tizen.dynamicanalyzer.ui.toolbar.Toolbar;
import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonAttribute;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener;
import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer;
import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlotIntervalMarker;
import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoard;
import org.tizen.dynamicanalyzer.widgets.combo.DACustomCombo;
-import org.tizen.dynamicanalyzer.widgets.combo.DACustomComboSelectionListener;
import org.tizen.dynamicanalyzer.widgets.da.view.DAViewComposite;
import org.tizen.dynamicanalyzer.widgets.da.view.DAViewData;
import org.tizen.dynamicanalyzer.widgets.scale.DAScaleSelectionListener;
private DACustomCombo frameRateCombo;
private final StackLayout stackLayout;
- private DAToolBarCustomCombo processCombo;
+ private DAToolBarCustomCombo frameRateProcessCombo;
+ private DAToolBarCustomCombo frameTimeProcessCombo;
+
+ private DACustomButton frameRateDimensionSwitchButton;
+ private DACustomButton frameTimeDimensionSwitchButton;
public GLChartView(Composite parent, int style) {
super(parent, style, false);
frameRateline.addMouseMoveListener(listener);
frameRateline.addMouseListener(listener);
- processCombo = makeProcessCombo(frameRateChartBoard.getTitleComp());
+ frameRateChartBoard.getTitleComp().setLayout(new FormLayout());
+ frameTimeChartBoard.getTitleComp().setLayout(new FormLayout());
+
+ frameRateProcessCombo = makeProcessCombo(frameRateChartBoard.getTitleComp());
FormData data = new FormData();
data.top = new FormAttachment(0, 0);
data.left = new FormAttachment(0, 0);
- data.width = 190;
- data.height = 20;
- processCombo.setLayoutData(data);
+ data.width = 167;
+ data.height = 25;
+ frameRateProcessCombo.setLayoutData(data);
+
+ frameTimeProcessCombo = makeProcessCombo(frameTimeChartBoard.getTitleComp());
+ frameTimeProcessCombo.setLayoutData(data);
+
+ frameRateDimensionSwitchButton = new DACustomButton(frameRateChartBoard.getTitleComp(),
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR
+ );
+
+ frameTimeDimensionSwitchButton = new DACustomButton(frameTimeChartBoard.getTitleComp(),
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL
+ );
+
+ frameRateDimensionSwitchButton.setBackground(ColorResources.WHITE);
+ frameTimeDimensionSwitchButton.setBackground(ColorResources.WHITE);
+ frameRateDimensionSwitchButton.setForeground(ColorResources.GRAY_170);
+ frameTimeDimensionSwitchButton.setForeground(ColorResources.GRAY_170);
+
+ frameRateDimensionSwitchButton.setRenderer(new DACustomButtonRenderer() {
+ @Override
+ public void draw(GC gc, Canvas canvas, int state,
+ DACustomButtonAttribute attr) {
+ Rectangle rect = canvas.getClientArea();
+
+ if (attr.getDrawType() == DACustomButton.TYPE_IMAGE) {
+ drawImageButton(gc, rect, state, attr);
+ } else if (attr.getDrawType() == DACustomButton.TYPE_COLOR
+ || attr.getDrawType() == DACustomButton.TYPE_GRADATION) {
+ drawButton(gc, rect, state, attr);
+ }
+ drawButtonImage(gc, rect, attr, state);
+ drawIcon(gc, rect, attr);
+ gc.drawLine(0, 0, 25, 0);
+ gc.drawLine(0, 24, 25, 24);
+ gc.drawLine(24, 0, 24, 24);
+ }
+ });
- initProcessCombo();
+ frameTimeDimensionSwitchButton.setRenderer(new DACustomButtonRenderer() {
+ @Override
+ public void draw(GC gc, Canvas canvas, int state,
+ DACustomButtonAttribute attr) {
+ Rectangle rect = canvas.getClientArea();
+
+ if (attr.getDrawType() == DACustomButton.TYPE_IMAGE) {
+ drawImageButton(gc, rect, state, attr);
+ } else if (attr.getDrawType() == DACustomButton.TYPE_COLOR
+ || attr.getDrawType() == DACustomButton.TYPE_GRADATION) {
+ drawButton(gc, rect, state, attr);
+ }
+ drawButtonImage(gc, rect, attr, state);
+ drawIcon(gc, rect, attr);
+ gc.drawLine(0, 0, 25, 0);
+ gc.drawLine(0, 24, 25, 24);
+ gc.drawLine(24, 0, 24, 24);
+ }
+ });
+
+ frameRateDimensionSwitchButton.addClickListener(new DACustomButtonClickEventListener() {
+ @Override
+ public void handleEvent(Event event) {
+ changeBoardTimeToRate();
+
+ }
+
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+
+ }
+ });
+
+ frameTimeDimensionSwitchButton.addClickListener(new DACustomButtonClickEventListener() {
+ @Override
+ public void handleEvent(Event event) {
+ changeBoardRateToTime();
+ }
+
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+
+ }
+ });
+
+ data = new FormData();
+ data.top = new FormAttachment(0, 0);
+ data.left = new FormAttachment(frameRateProcessCombo, 0);
+ data.width = 25;
+ data.height = 25;
+ frameRateDimensionSwitchButton.setLayoutData(data);
+
+ data = new FormData();
+ data.top = new FormAttachment(0, 0);
+ data.left = new FormAttachment(frameTimeProcessCombo, 0);
+ data.width = 25;
+ data.height = 25;
+ frameTimeDimensionSwitchButton.setLayoutData(data);
+
+ initProcessCombo(frameRateProcessCombo);
+ initProcessCombo(frameTimeProcessCombo);
updateScale();
frameTimeChartBoard.getScale().addSelectionListener(new DAScaleSelectionListener() {
@Override
Toolbar.INSTANCE.setScaleSelection(frameRateChartBoard.getScale().getSelection());
}
});
+
+
+
}
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130,
- ColorResources.WHITE,
- ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
- returnCombo.setComboImagePoint(new Point(160, 9));
+ returnCombo.setOutlineColors(ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL,
+ ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
+ returnCombo.setComboImagePoint(new Point(135, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE,
ColorResources.WHITE,
ColorResources.WHITE,
return returnCombo;
}
- public void initProcessCombo() {
- processCombo.initCombo();
- processCombo.add(Toolbar.ALL_PROCESS);
- processCombo.select(0);
+ public void initProcessCombo(final DAToolBarCustomCombo combo) {
+ combo.initCombo();
+ combo.add(Toolbar.ALL_PROCESS);
+ combo.select(0);
- processCombo.addSelectionListener(new ToolBarComboListener() {
+ combo.addSelectionListener(new ToolBarComboListener() {
@Override
public void selectionEvent(DAToolBarCustomCombo combo) {
}
});
- processCombo.addListener(SWT.MouseDown, new Listener() {
+ combo.addListener(SWT.MouseDown, new Listener() {
@Override
public void handleEvent(Event event) {
if (null == project) {
return;
}
- processCombo.initCombo();
- processCombo.add(Toolbar.ALL_PROCESS);
+ combo.initCombo();
+ combo.add(Toolbar.ALL_PROCESS);
Toolbar.INSTANCE.getProcessCombo().initCombo();
Toolbar.INSTANCE.getProcessCombo().add(Toolbar.ALL_PROCESS);
StringBuffer buffer = new StringBuffer();
buffer.append(process.getPid()).append(Toolbar.PROCESS_SPLITER);
buffer.append(binName);
- processCombo.add(buffer.toString());
+ combo.add(buffer.toString());
Toolbar.INSTANCE.getProcessCombo().add(buffer.toString());
}
}
frameTimeChartBoard = new GLFrameTimeChartBoard(contents,
GLPageLabels.GL_CHART_TITLE_FRAME_TIME, DAChartBoard.BOARD_STYLE_FRAME);
frameTimeChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
- frameTimeCombo = makeDACustomCombo(frameTimeChartBoard.getTitleComp());
- frameTimeCombo.initCombo();
- frameTimeCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_RATE);
- frameTimeCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_TIME);
- frameTimeCombo.select(1);
- frameTimeCombo.setEnabled(true);
- frameTimeCombo.addSelectionListener(new DACustomComboSelectionListener() {
- @Override
- public void selectionEvent(DACustomCombo combo) {
- String selected = combo.getText();
- if (null == selected || selected.isEmpty()) {
- return;
- }
- if (selected.equals(GLPageLabels.GL_CHART_TITLE_FRAME_RATE)) {
- changeComboRateToTime();
- } else {
- return;
- }
- }
- });
+// frameTimeCombo = makeDACustomCombo(frameTimeChartBoard.getTitleComp());
+// frameTimeCombo.initCombo();
+// frameTimeCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_RATE);
+// frameTimeCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_TIME);
+// frameTimeCombo.select(1);
+// frameTimeCombo.setEnabled(true);
+// frameTimeCombo.addSelectionListener(new DACustomComboSelectionListener() {
+// @Override
+// public void selectionEvent(DACustomCombo combo) {
+// String selected = combo.getText();
+// if (null == selected || selected.isEmpty()) {
+// return;
+// }
+// if (selected.equals(GLPageLabels.GL_CHART_TITLE_FRAME_RATE)) {
+// changeComboRateToTime();
+// } else {
+// return;
+// }
+// }
+// });
ScrollBar hScrollBar = frameTimeChartBoard.getHScrollBar();
hScrollBar.addSelectionListener(new SelectionAdapter() {
@Override
frameRateChartBoard = new GLFrameRateChartBoard(contents,
GLPageLabels.GL_CHART_TITLE_FRAME_RATE, DAChartBoard.BOARD_STYLE_TIME);
frameRateChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
- frameRateCombo = makeDACustomCombo(frameRateChartBoard.getTitleComp());
- frameRateCombo.initCombo();
- frameRateCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_RATE);
- frameRateCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_TIME);
- frameRateCombo.select(0);
- frameRateCombo.setEnabled(true);
- frameRateCombo.addSelectionListener(new DACustomComboSelectionListener() {
- @Override
- public void selectionEvent(DACustomCombo combo) {
- String selected = combo.getText();
- if (null == selected || selected.isEmpty()) {
- return;
- }
- if (selected.equals(GLPageLabels.GL_CHART_TITLE_FRAME_TIME)) {
- changeComboTimeToRate();
- } else {
- return;
- }
- }
- });
+// frameRateCombo = makeDACustomCombo(frameRateChartBoard.getTitleComp());
+// frameRateCombo.initCombo();
+// frameRateCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_RATE);
+// frameRateCombo.add(GLPageLabels.GL_CHART_TITLE_FRAME_TIME);
+// frameRateCombo.select(0);
+// frameRateCombo.setEnabled(true);
+// frameRateCombo.addSelectionListener(new DACustomComboSelectionListener() {
+// @Override
+// public void selectionEvent(DACustomCombo combo) {
+// String selected = combo.getText();
+// if (null == selected || selected.isEmpty()) {
+// return;
+// }
+// if (selected.equals(GLPageLabels.GL_CHART_TITLE_FRAME_TIME)) {
+// changeComboTimeToRate();
+// } else {
+// return;
+// }
+// }
+// });
ScrollBar hScrollBar = frameRateChartBoard.getHScrollBar();
hScrollBar.addSelectionListener(new SelectionAdapter() {
@Override
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130,
- ColorResources.WHITE,
- ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
+ returnCombo.setOutlineColors(ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL,
+ ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
returnCombo.setComboImagePoint(new Point(160, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE,
ColorResources.WHITE,
updateView();
}
+ private void changeBoardRateToTime() {
+ stackLayout.topControl = frameRateChartBoard;
+ GLDataManager.getInstance().setSelectFrameRateChart(true);
+ contents.layout();
+ frameRateChartBoard.setScaleVal(frameTimeChartBoard.getScaleVal());
+ frameRateChartBoard.setVisibleStart(frameTimeChartBoard.getVisibleStart());
+ frameRateChartBoard.setItemsHeightMode(frameTimeChartBoard.isItemMinimized());
+ updateView();
+ }
+
+ private void changeBoardTimeToRate() {
+ stackLayout.topControl = frameTimeChartBoard;
+ GLDataManager.getInstance().setSelectFrameRateChart(false);
+ contents.layout();
+ frameTimeChartBoard.setScaleVal(frameRateChartBoard.getScaleVal());
+ frameTimeChartBoard.setVisibleStart(frameRateChartBoard.getVisibleStart());
+ frameTimeChartBoard.setItemsHeightMode(frameRateChartBoard.isItemMinimized());
+ updateView();
+ }
+
private void updateProcessCombo() {
int index = Toolbar.INSTANCE.getProcessCombo().getSelectionIndex();
- if(index+1 > processCombo.getItems().size()) {
+ if(index+1 > frameRateProcessCombo.getItems().size()) {
addProcessListToProcessCombo();
}
- processCombo.select(index);
+ frameRateProcessCombo.select(index);
}
private void addProcessListToProcessCombo() {
StringBuffer buffer = new StringBuffer();
buffer.append(process.getPid()).append(Toolbar.PROCESS_SPLITER);
buffer.append(binName);
- processCombo.add(buffer.toString());
+ frameRateProcessCombo.add(buffer.toString());
Toolbar.INSTANCE.getProcessCombo().add(buffer.toString());
}
}
import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.tizen.dynamicanalyzer.ui.thread.type.ThreadPageThreadData;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
import org.tizen.dynamicanalyzer.ui.timeline.logparser.LifecycleLogParser;
+import org.tizen.dynamicanalyzer.ui.toolbar.DAToolBarCustomCombo;
+import org.tizen.dynamicanalyzer.ui.toolbar.ToolBarComboListener;
import org.tizen.dynamicanalyzer.ui.toolbar.Toolbar;
import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonAttribute;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener;
import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer;
import org.tizen.dynamicanalyzer.widgets.chart.DAChartPlotIntervalMarker;
import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoard;
import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoardItem;
import org.tizen.dynamicanalyzer.widgets.chartBoard.DAChartBoardSelectionListener;
import org.tizen.dynamicanalyzer.widgets.combo.DACustomCombo;
-import org.tizen.dynamicanalyzer.widgets.combo.DACustomComboSelectionListener;
import org.tizen.dynamicanalyzer.widgets.da.view.DAViewComposite;
import org.tizen.dynamicanalyzer.widgets.da.view.DAViewData;
import org.tizen.dynamicanalyzer.widgets.scale.DAScaleSelectionListener;
private DACustomCombo syncCombo;
private final StackLayout stackLayout;
- private DACustomCombo processCombo;
+ private DAToolBarCustomCombo threadProcessCombo;
+ private DAToolBarCustomCombo syncProcessCombo;
+
+ private DACustomButton threadDimensionSwitchButton;
+ private DACustomButton syncDimensionSwitchButton;
public ThreadChartView(Composite parent, int style) {
super(parent, style, false);
initializeCharts();
- processCombo = makeDACustomCombo(threadChartBoard.getTitleComp());
+ threadChartBoard.getTitleComp().setLayout(new FormLayout());
+ syncChartBoard.getTitleComp().setLayout(new FormLayout());
+
+ threadProcessCombo = makeDACustomCombo(threadChartBoard.getTitleComp());
FormData data = new FormData();
data.top = new FormAttachment(0, 0);
data.left = new FormAttachment(0, 0);
- data.width = 140;
- data.height = 20;
- processCombo.setLayoutData(data);
+ data.width = 167;
+ data.height = 25;
+ threadProcessCombo.setLayoutData(data);
+
+ syncProcessCombo = makeDACustomCombo(syncChartBoard.getTitleComp());
+ syncProcessCombo.setLayoutData(data);
+
+ threadDimensionSwitchButton = new DACustomButton(threadChartBoard.getTitleComp(),
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR,
+ ImageResources.DIMENSION_IC_NOR
+ );
+
+ syncDimensionSwitchButton = new DACustomButton(syncChartBoard.getTitleComp(),
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL,
+ ImageResources.DIMENSION_IC_SEL
+ );
+
+ threadDimensionSwitchButton.setForeground(ColorResources.GRAY_170);
+ threadDimensionSwitchButton.setBackground(ColorResources.WHITE);
+ syncDimensionSwitchButton.setForeground(ColorResources.GRAY_170);
+ syncDimensionSwitchButton.setBackground(ColorResources.WHITE);
+
+ threadDimensionSwitchButton.setRenderer(new DACustomButtonRenderer() {
+ @Override
+ public void draw(GC gc, Canvas canvas, int state,
+ DACustomButtonAttribute attr) {
+ Rectangle rect = canvas.getClientArea();
+
+ if (attr.getDrawType() == DACustomButton.TYPE_IMAGE) {
+ drawImageButton(gc, rect, state, attr);
+ } else if (attr.getDrawType() == DACustomButton.TYPE_COLOR
+ || attr.getDrawType() == DACustomButton.TYPE_GRADATION) {
+ drawButton(gc, rect, state, attr);
+ }
+ drawButtonImage(gc, rect, attr, state);
+ drawIcon(gc, rect, attr);
+ gc.drawLine(0, 0, 25, 0);
+ gc.drawLine(0, 24, 25, 24);
+ gc.drawLine(24, 0, 24, 24);
+ }
+ });
- initProcessCombo();
+ syncDimensionSwitchButton.setRenderer(new DACustomButtonRenderer() {
+ @Override
+ public void draw(GC gc, Canvas canvas, int state,
+ DACustomButtonAttribute attr) {
+ Rectangle rect = canvas.getClientArea();
+
+ if (attr.getDrawType() == DACustomButton.TYPE_IMAGE) {
+ drawImageButton(gc, rect, state, attr);
+ } else if (attr.getDrawType() == DACustomButton.TYPE_COLOR
+ || attr.getDrawType() == DACustomButton.TYPE_GRADATION) {
+ drawButton(gc, rect, state, attr);
+ }
+ drawButtonImage(gc, rect, attr, state);
+ drawIcon(gc, rect, attr);
+ gc.drawLine(0, 0, 25, 0);
+ gc.drawLine(0, 24, 25, 24);
+ gc.drawLine(24, 0, 24, 24);
+ }
+ });
+
+ threadDimensionSwitchButton.addClickListener(new DACustomButtonClickEventListener() {
+ @Override
+ public void handleEvent(Event event) {
+ changeBoardThreadToSync();
+ }
+
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+
+ }
+ });
+
+ syncDimensionSwitchButton.addClickListener(new DACustomButtonClickEventListener() {
+ @Override
+ public void handleEvent(Event event) {
+ changeBoardSyncToThread();
+ }
+
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+
+ }
+ });
+
+ data = new FormData();
+ data.top = new FormAttachment(0, 0);
+ data.left = new FormAttachment(threadProcessCombo, 0);
+ data.width = 25;
+ data.height = 25;
+ threadDimensionSwitchButton.setLayoutData(data);
+
+ data = new FormData();
+ data.top = new FormAttachment(0, 0);
+ data.left = new FormAttachment(syncProcessCombo, 0);
+ data.width = 25;
+ data.height = 25;
+ syncDimensionSwitchButton.setLayoutData(data);
+
+ initProcessCombo(threadProcessCombo);
+ initProcessCombo(syncProcessCombo);
updateScale();
threadChartBoard.getScale().addSelectionListener(new DAScaleSelectionListener() {
@Override
Toolbar.INSTANCE.setScaleSelection(threadChartBoard.getScale().getSelection());
}
});
+ syncChartBoard.getScale().addSelectionListener(new DAScaleSelectionListener() {
+ @Override
+ public void widgetSelected() {
+ Toolbar.INSTANCE.setScaleSelection(syncChartBoard.getScale().getSelection());
+ updateScale();
+ }
+ });
+ syncChartBoard.getListComposite().addListener(SWT.MouseWheel, new Listener() {
+ @Override
+ public void handleEvent(Event event) {
+ Toolbar.INSTANCE.setScaleSelection(syncChartBoard.getScale().getSelection());
+ }
+ });
}
- private DACustomCombo makeDACustomCombo(Composite parent) {
- DACustomCombo returnCombo = new DACustomCombo(parent, SWT.NONE);
+ private DAToolBarCustomCombo makeDACustomCombo(Composite parent) {
+ int PROCESS_COMBO = 2;
+ DAToolBarCustomCombo returnCombo = new DAToolBarCustomCombo(parent, SWT.NONE);
returnCombo.setComboGradation(ColorResources.WHITE,
- ColorResources.WHITE, ColorResources.POINT,
- ColorResources.POINT, ColorResources.WHITE,
+ ColorResources.WHITE, ColorResources.WHITE,
+ ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE, ColorResources.WHITE,
ColorResources.WHITE);
- returnCombo.setOutlineColors(ColorResources.GRAY_130,
- ColorResources.WHITE,
- ColorResources.GRAY_130,
- ColorResources.GRAY_130);
- returnCombo.setComboImages(ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_NORMAL,
- ImageResources.TOOLBAR_COMBO_BUTTON_DISABLE);
- returnCombo.setComboImagePoint(new Point(130, 9));
+ returnCombo.setOutlineColors(ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170,
+ ColorResources.GRAY_170);
+ returnCombo.setComboImages(ImageResources.DROP_ARROW_DOWN_NOR,
+ ImageResources.DROP_ARROW_DOWN_SEL,
+ ImageResources.DROP_ARROW_DOWN_HOVER,
+ ImageResources.DROP_ARROW_DOWN_DIM);
+ returnCombo.setComboImagePoint(new Point(135, 9));
returnCombo.setComboButtonColor(ColorResources.WHITE,
ColorResources.WHITE,
ColorResources.WHITE,
ColorResources.BLACK,
ColorResources.GRAY_170);
returnCombo.setButtonRenderer(new DACustomButtonRenderer());
+ returnCombo.setDeviceCombo(PROCESS_COMBO);
return returnCombo;
}
- public void initProcessCombo() {
- processCombo.initCombo();
- processCombo.add(Toolbar.ALL_PROCESS);
- processCombo.select(0);
+ public void initProcessCombo(final DAToolBarCustomCombo combo) {
+ combo.initCombo();
+ combo.add(Toolbar.ALL_PROCESS);
+ combo.select(0);
- processCombo.addSelectionListener(new DACustomComboSelectionListener() {
+ combo.addSelectionListener(new ToolBarComboListener() {
@Override
- public void selectionEvent(DACustomCombo combo) {
+ public void selectionEvent(DAToolBarCustomCombo combo) {
for(int i = 0; i < Toolbar.INSTANCE.getProcessCombo().getItems().size(); i++) {
if(combo.getText().equals(Toolbar.INSTANCE.getProcessCombo().getItem(i))) {
Toolbar.INSTANCE.getProcessCombo().select(i);
}
});
- processCombo.addListener(SWT.MouseDown, new Listener() {
+ combo.addListener(SWT.MouseDown, new Listener() {
@Override
public void handleEvent(Event event) {
if (null == project) {
return;
}
- processCombo.initCombo();
- processCombo.add(Toolbar.ALL_PROCESS);
+ combo.initCombo();
+ combo.add(Toolbar.ALL_PROCESS);
Toolbar.INSTANCE.getProcessCombo().initCombo();
Toolbar.INSTANCE.getProcessCombo().add(Toolbar.ALL_PROCESS);
StringBuffer buffer = new StringBuffer();
buffer.append(process.getPid()).append(Toolbar.PROCESS_SPLITER);
buffer.append(binName);
- processCombo.add(buffer.toString());
+ combo.add(buffer.toString());
Toolbar.INSTANCE.getProcessCombo().add(buffer.toString());
}
}
int scaleSelection = Toolbar.INSTANCE.getScaleSelection();
threadChartBoard.getBoardManager().scaleChanged(scaleSelection);
threadChartBoard.setScaleVal(scaleSelection);
+ syncChartBoard.getBoardManager().scaleChanged(scaleSelection);
+ syncChartBoard.setScaleVal(scaleSelection);
}
private void initSyncChart() {
syncChartBoard = new SyncChartBoard(contents, ThreadPageLabels.THREAD_CHART_SYNC,
DAChartBoard.BOARD_STYLE_TIME);
- syncChartBoard.setItemHeight(THREAD_CHART_HEIGHT);
+// syncChartBoard.setItemHeight(THREAD_CHART_HEIGHT);
syncChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
syncChartBoard.addSelectionListener(new DAChartBoardSelectionListener() {
@Override
}
}
});
- syncCombo = makeDACustomCombo(syncChartBoard.getTitleComp());
- syncCombo.initCombo();
- syncCombo.add(ThreadPageLabels.THREAD_CHART_THREAD);
- syncCombo.add(ThreadPageLabels.THREAD_CHART_SYNC);
- syncCombo.select(1);
- syncCombo.setEnabled(true);
- syncCombo.addSelectionListener(new DACustomComboSelectionListener() {
- @Override
- public void selectionEvent(DACustomCombo combo) {
- String selected = combo.getText();
- if (null == selected || selected.isEmpty()) {
- return;
- }
- if (selected.equals(ThreadPageLabels.THREAD_CHART_THREAD)) {
- changeComboSyncToThread();
- } else {
- return;
- }
- }
- });
+// syncCombo = makeDACustomCombo(syncChartBoard.getTitleComp());
+// syncCombo.initCombo();
+// syncCombo.add(ThreadPageLabels.THREAD_CHART_THREAD);
+// syncCombo.add(ThreadPageLabels.THREAD_CHART_SYNC);
+// syncCombo.select(1);
+// syncCombo.setEnabled(true);
+// syncCombo.addSelectionListener(new DACustomComboSelectionListener() {
+// @Override
+// public void selectionEvent(DACustomCombo combo) {
+// String selected = combo.getText();
+// if (null == selected || selected.isEmpty()) {
+// return;
+// }
+// if (selected.equals(ThreadPageLabels.THREAD_CHART_THREAD)) {
+// changeComboSyncToThread();
+// } else {
+// return;
+// }
+// }
+// });
}
private void initThreadChart() {
threadChartBoard = new ThreadChartBoard(contents, ThreadPageLabels.THREAD_CHART_THREAD,
DAChartBoard.BOARD_STYLE_TIME);
- threadChartBoard.setItemHeight(THREAD_CHART_HEIGHT);
+// threadChartBoard.setItemHeight(THREAD_CHART_HEIGHT);
threadChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
threadChartBoard.addSelectionListener(new DAChartBoardSelectionListener() {
@Override
}
}
});
- threadCombo = makeDACustomCombo(threadChartBoard.getTitleComp());
- threadCombo.initCombo();
- threadCombo.add(ThreadPageLabels.THREAD_CHART_THREAD);
- threadCombo.add(ThreadPageLabels.THREAD_CHART_SYNC);
- threadCombo.select(0);
- threadCombo.setEnabled(true);
- threadCombo.addSelectionListener(new DACustomComboSelectionListener() {
- @Override
- public void selectionEvent(DACustomCombo combo) {
- String selected = combo.getText();
- if (null == selected || selected.isEmpty()) {
- return;
- }
- if (selected.equals(ThreadPageLabels.THREAD_CHART_SYNC)) {
- changeComboThreadToSync();
- } else {
- return;
- }
- }
- });
+// threadCombo = makeDACustomCombo(threadChartBoard.getTitleComp());
+// threadCombo.initCombo();
+// threadCombo.add(ThreadPageLabels.THREAD_CHART_THREAD);
+// threadCombo.add(ThreadPageLabels.THREAD_CHART_SYNC);
+// threadCombo.select(0);
+// threadCombo.setEnabled(true);
+// threadCombo.addSelectionListener(new DACustomComboSelectionListener() {
+// @Override
+// public void selectionEvent(DACustomCombo combo) {
+// String selected = combo.getText();
+// if (null == selected || selected.isEmpty()) {
+// return;
+// }
+// if (selected.equals(ThreadPageLabels.THREAD_CHART_SYNC)) {
+// changeComboThreadToSync();
+// } else {
+// return;
+// }
+// }
+// });
}
private void callUpdatePage(DAChartBoardItem selectItem) {
updateView();
}
+ private void changeBoardThreadToSync() {
+ stackLayout.topControl = syncChartBoard;
+ syncChartBoard.setScaleVal(threadChartBoard.getScaleVal());
+ syncChartBoard.setVisibleStart(threadChartBoard.getVisibleStart());
+ syncChartBoard.setItemsHeightMode(threadChartBoard.isItemMinimized());
+ contents.layout();
+ updateView();
+ }
+
+ private void changeBoardSyncToThread() {
+ stackLayout.topControl = threadChartBoard;
+ threadChartBoard.setScaleVal(syncChartBoard.getScaleVal());
+ threadChartBoard.setVisibleStart(syncChartBoard.getVisibleStart());
+ threadChartBoard.setItemsHeightMode(syncChartBoard.isItemMinimized());
+ contents.layout();
+ updateView();
+ }
+
private void updateProcessCombo() {
int index = Toolbar.INSTANCE.getProcessCombo().getSelectionIndex();
- if(index+1 > processCombo.getItems().size()) {
+ if(index+1 > threadProcessCombo.getItems().size()) {
addProcessListToProcessCombo();
}
- processCombo.select(index);
+ threadProcessCombo.select(index);
}
private void addProcessListToProcessCombo() {
StringBuffer buffer = new StringBuffer();
buffer.append(process.getPid()).append(Toolbar.PROCESS_SPLITER);
buffer.append(binName);
- processCombo.add(buffer.toString());
+ threadProcessCombo.add(buffer.toString());
Toolbar.INSTANCE.getProcessCombo().add(buffer.toString());
}
}