\r
/** device and application combo specific colors end **/\r
\r
+ /** title tab combo color **/\r
+ public static Color TAB_COMBO_NORMAL_START = getColor("tab_combo_normar_start"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_NORMAL_END = getColor("tab_combo_normar_end"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_NORMAL_STROKE = getColor("tab_combo_normar_stroke"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_HOVER_START = getColor("tab_combo_hover_start"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_HOVER_END = getColor("tab_combo_hover_end"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_HOVER_STROKE = getColor("tab_combo_hover_stroke"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_PUSH_START = getColor("tab_combo_push_start"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_PUSH_END = getColor("tab_combo_push_end"); //$NON-NLS-1$\r
+ public static Color TAB_COMBO_PUSH_STROKE = getColor("tab_combo_push_stroke"); //$NON-NLS-1$\r
+ \r
+ \r
/** title combo color **/\r
public static Color FRAME_RATE_COMBO_DISABLE_START = getColor("frame_rate_combo_disable_start"); //$NON-NLS-1$\r
public static Color FRAME_RATE_COMBO_DISABLE_END = getColor("frame_rate_combo_disable_end"); //$NON-NLS-1$\r
public static Color PAGE_USE_START = getColor("page_use_start"); //$NON-NLS-1$\r
public static Color PAGE_USE_END = getColor("page_use_end"); //$NON-NLS-1$\r
\r
- /** Thread chart colors **/\r
- public static Color THREAD_OPEN_START_RUN = getColor("thread_open_start_run"); //$NON-NLS-1$\r
- public static Color THREAD_OPEN_END_RUN = getColor("thread_open_end_run"); //$NON-NLS-1$\r
- public static Color THREAD_OPEN_START_STOP = getColor("thread_open_start_stop"); //$NON-NLS-1$\r
- public static Color THREAD_OPEN_END_STOP = getColor("thread_open_end_stop"); //$NON-NLS-1$\r
- public static Color THREAD_CLOSED_START = getColor("thread_closed_start"); //$NON-NLS-1$\r
- public static Color THREAD_CLOSED_END = getColor("thread_closed_end"); //$NON-NLS-1$\r
- public static Color THREAD_SLEEP_START = getColor("thread_sleep_start"); //$NON-NLS-1$\r
- public static Color THREAD_SLEEP_END = getColor("thread_sleep_end"); //$NON-NLS-1$\r
+// /** Thread chart colors **/\r
+// public static Color THREAD_OPEN_START_RUN = getColor("thread_open_start_run"); //$NON-NLS-1$\r
+// public static Color THREAD_OPEN_END_RUN = getColor("thread_open_end_run"); //$NON-NLS-1$\r
+// public static Color THREAD_OPEN_START_STOP = getColor("thread_open_start_stop"); //$NON-NLS-1$\r
+// public static Color THREAD_OPEN_END_STOP = getColor("thread_open_end_stop"); //$NON-NLS-1$\r
+// public static Color THREAD_CLOSED_START = getColor("thread_closed_start"); //$NON-NLS-1$\r
+// public static Color THREAD_CLOSED_END = getColor("thread_closed_end"); //$NON-NLS-1$\r
+// public static Color THREAD_SLEEP_START = getColor("thread_sleep_start"); //$NON-NLS-1$\r
+// public static Color THREAD_SLEEP_END = getColor("thread_sleep_end"); //$NON-NLS-1$\r
\r
/** File chart colors **/\r
public static Color FILE_API_USED = getColor("file_api_used"); //$NON-NLS-1$\r
// public static Color STOP_PROGRESS_BAR_OUTLINE_COLOR = getColor("stop_progress_bar_outline_color"); //$NON-NLS-1$\r
\r
// thread graph\r
- public static Color THREAD_GRAPH_CPU_LOAD_COLOR = getColor("thread_graph_cpu_load_color"); //$NON-NLS-1$\r
+ public static Color THREAD_GRAPH_MIN_CPU_LOAD_COLOR = getColor("thread_graph_min_cpu_load_color"); //$NON-NLS-1$\r
+ public static Color THREAD_GRAPH_MAX_CPU_LOAD_COLOR = getColor("thread_graph_max_cpu_load_color"); //$NON-NLS-1$\r
public static Color THREAD_GRAPH_CALLEE_COLOR = getColor("thread_graph_callee_color"); //$NON-NLS-1$\r
public static Color THREAD_GRAPH_LOCK_NEW_COLOR = getColor("thread_graph_lock_new_color"); //$NON-NLS-1$\r
public static Color THREAD_GRAPH_LOCK_WAIT_COLOR = getColor("thread_graph_lock_wait_color"); //$NON-NLS-1$\r
/* combo */\r
public static final Image TOOLBAR_COMBO_BUTTON_NORMAL = getPngImage("dropdown_arrow_normal"); //$NON-NLS-1$\r
public static final Image TOOLBAR_COMBO_BUTTON_DISABLE = getPngImage("dropdown_arrow_disable"); //$NON-NLS-1$\r
+ public static final Image TAB_COMBO_BUTTON_DOWN = getPngImage("dropbox_down"); //$NON-NLS-1$\r
\r
/* range */\r
public static final Image RANGE_NORMAL = getPngImage("toolbar_range_nor"); //$NON-NLS-1$\r
setColor("toolbar_combo_font_normal_color", new RGB(255,255,255)); //$NON-NLS-1$
setColor("toolbar_combo_font_disable_color", new RGB(119,223,238)); //$NON-NLS-1$
+ /** title tab combo color **/
+ setColor("tab_combo_normar_start", new RGB(251, 251, 251));
+ setColor("tab_combo_normar_end", new RGB(207, 207, 207));
+ setColor("tab_combo_normar_stroke", new RGB(168, 168, 168));
+ setColor("tab_combo_hover_start", new RGB(251, 251, 251));
+ setColor("tab_combo_hover_end", new RGB(207, 207, 207));
+ setColor("tab_combo_hover_stroke", new RGB(47, 180, 200));
+ setColor("tab_combo_push_start", new RGB(207, 207, 207));
+ setColor("tab_combo_push_end", new RGB(251, 251, 251));
+ setColor("tab_combo_push_stroke", new RGB(47, 180, 200));
/*** title combo color ***/
setColor("frame_rate_combo_normal_start", new RGB(251, 251, 251));
setColor("page_use_end", new RGB(44, 104, 153)); //$NON-NLS-1$
/** Thread chart colors **/
- setColor("thread_open_start_run", new RGB(244, 252, 82)); //$NON-NLS-1$
- setColor("thread_open_end_run", new RGB(235, 231, 56)); //$NON-NLS-1$
- setColor("thread_open_start_stop", new RGB(168, 198, 71)); //$NON-NLS-1$
- setColor("thread_open_end_stop", new RGB(130, 152, 54)); //$NON-NLS-1$
- setColor("thread_closed_start", new RGB(168, 198, 71)); //$NON-NLS-1$
- setColor("thread_closed_end", new RGB(130, 152, 54)); //$NON-NLS-1$
- setColor("thread_sleep_start", new RGB(215, 215, 215)); //$NON-NLS-1$
- setColor("thread_sleep_end", new RGB(157, 166, 168)); //$NON-NLS-1$
+// setColor("thread_open_start_run", new RGB(244, 252, 82)); //$NON-NLS-1$
+// setColor("thread_open_end_run", new RGB(235, 231, 56)); //$NON-NLS-1$
+// setColor("thread_open_start_stop", new RGB(168, 198, 71)); //$NON-NLS-1$
+// setColor("thread_open_end_stop", new RGB(130, 152, 54)); //$NON-NLS-1$
+// setColor("thread_closed_start", new RGB(168, 198, 71)); //$NON-NLS-1$
+// setColor("thread_closed_end", new RGB(130, 152, 54)); //$NON-NLS-1$
+// setColor("thread_sleep_start", new RGB(215, 215, 215)); //$NON-NLS-1$
+// setColor("thread_sleep_end", new RGB(157, 166, 168)); //$NON-NLS-1$
/** File chart colors **/
setColor("file_api_used", new RGB(15, 153, 232)); //$NON-NLS-1$
setColor("stop_progress_bar_outline_color", new RGB(150, 150, 150)); //$NON-NLS-1$
/*** thread graph ***/
- setColor("thread_graph_cpu_load_color", new RGB(0, 123, 169)); //$NON-NLS-1$
+ setColor("thread_graph_min_cpu_load_color", new RGB(179, 236, 255)); //$NON-NLS-1$
+ setColor("thread_graph_max_cpu_load_color", new RGB(0, 123, 169)); //$NON-NLS-1$
setColor("thread_graph_callee_color", new RGB(100, 21, 232)); //$NON-NLS-1$
setColor("thread_graph_lock_new_color", new RGB(129, 169, 0)); //$NON-NLS-1$
setColor("thread_graph_lock_wait_color", new RGB(96, 126, 131)); //$NON-NLS-1$
setColor("thread_graph_lock_acquire_color", new RGB(227, 123, 30)); //$NON-NLS-1$
- setColor("thread_graph_lock_release_color", new RGB(255, 255, 255)); //$NON-NLS-1$
+ setColor("thread_graph_lock_release_color", new RGB(0, 148, 170)); //$NON-NLS-1$
setColor("snapshot_viewer_bg_color", new RGB(255, 255, 255)); //$NON-NLS-1$
setColor("checkbox_disabled_font_color", new RGB(135, 135, 135)); //$NON-NLS-1$
private static final int AXIS_LINE_WIDTH = 4;
private static final int AXIS_MARGIN = 2;
-
+
private Rectangle oldStateBarRectangle = new Rectangle(0, 0, 0, 0);
private Rectangle oldStateContinueRectangle = new Rectangle(0, 0, 0, 0);
private Rectangle oldStateConnectionRectangle = new Rectangle(0, 0, 0, 0);
Image backImage = plot.getBackgroundImage();
if (null != backImage) {
Rectangle rect = backImage.getBounds();
- gc.drawImage(backImage, rect.x, rect.y, rect.width,
- rect.height, r.x, r.y, r.width, r.height);
+ gc.drawImage(backImage, rect.x, rect.y, rect.width, rect.height, r.x, r.y, r.width,
+ r.height);
}
} else {
gc.drawImage(buffer, 0, 0);
}
plot = chart.getPlot();
r = chart.getClientArea();
-
+
if (chart.isSelected()) {
gc.setForeground(ColorResources.CHART_BACKGROUND_SELECTED_TOP);
gc.setBackground(ColorResources.CHART_BACKGROUND_SELECTED_BOTTOM);
gc.setBackground(ColorResources.CHART_BACKGROUND_NORMAL_BOTTOM);
}
gc.fillGradientRectangle(r.x, r.y, r.width, r.height, false);
-
+
if (seriesList == null) {
return false;
}
if (plot.getAutoHeightRange() == AutoRangeType.SEMI_AUTO
|| plot.getAutoHeightRange() == AutoRangeType.AUTO) {
double maxY = 0;
- for(DAChartSeries series : seriesList) {
+ for (DAChartSeries series : seriesList) {
double tempY = series.getMaxY();
if (maxY < tempY) {
maxY = tempY;
plot.setAxisEndY(maxY * 1.1);
}
}
-
+
return true;
}
for (int i = 0; i < seriesList.size(); i++) {
DAChartSeries series = seriesList.get(i);
if (0 == i) {
- drawAxis(gc, r, plot.getVisibleStartY(),
- plot.getVisibleEndY(), true);
+ drawAxis(gc, r, plot.getVisibleStartY(), plot.getVisibleEndY(), true);
} else if (1 == i) {
drawAxis(gc, r, 0, series.getEndY(), false);
} else {
}
}
} else {
- drawAxis(gc, r, plot.getVisibleStartY(), plot.getVisibleEndY(),
- true);
+ drawAxis(gc, r, plot.getVisibleStartY(), plot.getVisibleEndY(), true);
}
}
}
protected void drawToGc(GC gc, DAChart chart) {
- if(!preDraw(gc, chart)) {
+ if (!preDraw(gc, chart)) {
return;
}
oldStateBarRectangle.y = 0;
oldStateBarRectangle.width = 0;
oldStateBarRectangle.height = 0;
-
+
oldStateContinueRectangle.x = 0;
oldStateContinueRectangle.y = 0;
oldStateContinueRectangle.width = 0;
oldStateContinueRectangle.height = 0;
-
+
oldStateConnectionRectangle.x = 0;
oldStateConnectionRectangle.y = 0;
oldStateConnectionRectangle.width = 0;
oldStateConnectionRectangle.height = 0;
-
+
for (int i = 0; i < seriesList.size(); i++) {
DAChartSeries series = seriesList.get(i);
switch (series.getStyle()) {
}
// FIXME : current chart axis is based on byte value(less than 1000)
- protected void drawAxis(GC gc, Rectangle rt, double min, double max,
- boolean bPosRight) {
+ protected void drawAxis(GC gc, Rectangle rt, double min, double max, boolean bPosRight) {
Color oldCol = gc.getForeground();
gc.setForeground(ColorResources.CHART_AXIS);
Font axisFont = plot.getAxisFont();
String axisUnit;
- if (true == bPosRight){
- axisUnit = plot.getAxisUnit();
- }
- else{
+ if (true == bPosRight) {
+ axisUnit = plot.getAxisUnit();
+ } else {
axisUnit = plot.getSecondAxisUnit();
}
gc.setFont(axisFont);
} else if (plot.getAxisUnitType() == DAChartPlot.UnitType.MICRO_DECIMAL) {
text = Formatter.convertMicroDecimalPrefix(min);
} else if (plot.getAxisUnitType() == DAChartPlot.UnitType.GL_MS) {
- if(min == 0) {
+ if (min == 0) {
text = "";
} else {
text = "(" + Formatter.convertDecimalPrefix(1000 / min) + "fps)";
}
text += min;
}
-
+
if (null != axisUnit) {
text += axisUnit;
}
} else if (plot.getAxisUnitType() == DAChartPlot.UnitType.MICRO_DECIMAL) {
text = Formatter.convertMicroDecimalPrefix(max);
} else if (plot.getAxisUnitType() == DAChartPlot.UnitType.GL_MS) {
- if(max == 0) {
+ if (max == 0) {
text = "";
} else {
text = "(" + Formatter.convertDecimalPrefix(1000 / max) + "fps)";
}
text += Math.round(max);
} else if (plot.getAxisUnitType() == DAChartPlot.UnitType.GL_FPS) {
- if(max == 0) {
+ if (max == 0) {
text = "";
} else {
text = "(" + Formatter.convertDecimalPrefix((1000 / max)) + "ms)";
pixcelStartX = plot.getXPixcelFromX(marker.getVal());
markerStyle = DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA;
-
+
if (marker instanceof DAChartPlotIntervalMarker) {
- pixcelEndX = plot
- .getXPixcelFromX(((DAChartPlotIntervalMarker) marker)
- .getEndVal());
+ pixcelEndX = plot.getXPixcelFromX(((DAChartPlotIntervalMarker) marker).getEndVal());
markerStyle = ((DAChartPlotIntervalMarker) marker).getMarkerStyle();
-
- if(markerStyle != DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_LINE){
+
+ if (markerStyle != DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_LINE) {
int width = pixcelEndX - pixcelStartX;
- if(width <= 1){
+ if (width <= 1) {
width = marker.getLineWidth();
}
- gc.fillRectangle(pixcelStartX, 0, width,
- r.height);
+ gc.fillRectangle(pixcelStartX, 0, width, r.height);
}
- if(markerStyle != DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA){
+ if (markerStyle != DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA) {
gc.drawLine(pixcelStartX, r.y, pixcelStartX, r.height);
gc.drawLine(pixcelEndX, r.y, pixcelEndX, r.height);
}
int second = (int) sec;
int ms = ((int) (sec * 10)) % 10;
if (second > 3600) {
- ret = String.format("%d:%02d:%02d.", second / 36000,
- (second % 3600) / 6000, second % 6000);
+ ret = String.format("%d:%02d:%02d.", second / 36000, (second % 3600) / 6000,
+ second % 6000);
} else {
ret = String.format("%02d:%02d", second / 60, second % 60);
}
return false;
}
- protected double getMaxYToDraw(DAChartSeries series,
- int startIndex) {
- if(!plot.isSeriesHeightRange()) {
+ protected double getMaxYToDraw(DAChartSeries series, int startIndex) {
+ if (!plot.isSeriesHeightRange()) {
return plot.getVisibleEndY();
}
plot.setAxisEndY(maxY * 1.1);
return maxY * 1.1;
}
-
+
protected void drawTooltip(GC gc) {
if (plot instanceof DAScreenshotChartPlot) {
return;
}
DAChartPlotTooltip tooltip = plot.getTooltip();
- if (tooltip == null || tooltip.shouldBeDrawn() == false
- || tooltip.getStartVal() == -1) {
+ if (tooltip == null || tooltip.shouldBeDrawn() == false || tooltip.getStartVal() == -1) {
return;
}
i = (int) (seriesList.size() * tooltip.getYPosRatio());
series = seriesList.get(i);
} else {
- if(series.isDisableTooltip()) {
+ if (series.isDisableTooltip()) {
tooltipTexts.add(null);
tooltipTimes.add(null);
tooltipColor.add(null);
tooltipSize++;
}
}
-
+
int index = series.getPrevIndexByXvalue(realXVal);
String text = "";
String time = "";
&& true == checkOverlapFromPrevItem(series, index)) {
text += series.getSummarizeString();
} else {
- text += series.getSeriesItemList().get(index)
- .getTooltipText();
+ text += series.getSeriesItemList().get(index).getTooltipText();
}
gc.setForeground(tooltip.getLineColor());
startIndex = 0;
}
double maxY = getMaxYToDraw(series, startIndex);
-
- gc.drawLine(0, plot.getYPixcelFromY(maxY, yVal, r),
- r.width, plot.getYPixcelFromY(maxY, yVal, r));
+
+ gc.drawLine(0, plot.getYPixcelFromY(maxY, yVal, r), r.width,
+ plot.getYPixcelFromY(maxY, yVal, r));
}
-
- gc.drawLine(plot.getXPixcelFromX(xVal), 0,
- plot.getXPixcelFromX(xVal), r.height);
+
+ gc.drawLine(plot.getXPixcelFromX(xVal), 0, plot.getXPixcelFromX(xVal), r.height);
gc.setLineStyle(SWT.LINE_CUSTOM);
// event color
tooltipTexts.add(text);
tooltipTimes.add(time);
tooltipColor.add(color);
-
+
int timeMargin = DAChartPlotTooltip.TOOLTIP_TIME_MARGIN;
if (isMultiColumn) {
timeMargin = 10;
break;
}
}
-
+
/*
* Drawing Tooltip Box
*/
- int preTextWidthMargin = DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH + (DAChartPlotTooltip.TOOLTIP_MARGIN * 2);
- int startX = getTooltipStartX(realXVal, (preTextWidthMargin
- + textWidthMax) * (tooltipSize / seriesCountPerColumn), DAChartPlotTooltip.TOOLTIP_MARGIN);
-
+ int preTextWidthMargin = DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH
+ + (DAChartPlotTooltip.TOOLTIP_MARGIN * 2);
+ int startX = getTooltipStartX(realXVal, (preTextWidthMargin + textWidthMax)
+ * (tooltipSize / seriesCountPerColumn), DAChartPlotTooltip.TOOLTIP_MARGIN);
+
int totalHeight;
if (plot instanceof DAUIEventChartPlot) {
- totalHeight = DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT + DAChartPlotTooltip.TOOLTIP_MARGIN
- + DAChartPlotTooltip.TOOLTIP_MARGIN;
+ totalHeight = DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT
+ + DAChartPlotTooltip.TOOLTIP_MARGIN + DAChartPlotTooltip.TOOLTIP_MARGIN;
} else {
totalHeight = seriesCountPerColumn * DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT
- + DAChartPlotTooltip.TOOLTIP_MARGIN
- + DAChartPlotTooltip.TOOLTIP_BOTTOM_MARGIN
+ + DAChartPlotTooltip.TOOLTIP_MARGIN + DAChartPlotTooltip.TOOLTIP_BOTTOM_MARGIN
+ (seriesCountPerColumn - 1) * DAChartPlotTooltip.TOOLTIP_TEXT_MARGIN;
}
int startY;
if (plot instanceof DAUIEventChartPlot) {
tooltipSize = seriesList.size();
- startY = (int) (r.height
- * (int) (tooltip.getYPosRatio() * tooltipSize) / tooltipSize);
+ startY = (int) (r.height * (int) (tooltip.getYPosRatio() * tooltipSize) / tooltipSize);
if (r.height - startY - totalHeight < 0) {
startY = r.height - totalHeight - 1;
if (startY < 0) {
startY = (r.y + r.height / 2) - (totalHeight / 2);
}
- int tooltipBoxWidth = (preTextWidthMargin
- + textWidthMax) * (tooltipSize / seriesCountPerColumn) + DAChartPlotTooltip.TOOLTIP_MARGIN;
+ int tooltipBoxWidth = (preTextWidthMargin + textWidthMax)
+ * (tooltipSize / seriesCountPerColumn) + DAChartPlotTooltip.TOOLTIP_MARGIN;
gc.setAlpha(150);
gc.setBackground(tooltip.getBackgroundColor());
gc.setForeground(tooltip.getForegroundColor());
for (int i = 0; i < seriesList.size(); i++) {
DAChartSeries series;
if (plot instanceof DAUIEventChartPlot) {
- series = seriesList.get((int) (seriesList.size() * tooltip
- .getYPosRatio()));
+ series = seriesList.get((int) (seriesList.size() * tooltip.getYPosRatio()));
tooltipSize = 0;
} else {
series = seriesList.get(i);
- if(series.isDisableTooltip()) {
+ if (series.isDisableTooltip()) {
continue;
} else {
tooltipSize++;
}
}
- int y = startY + (DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT * (tooltipSize % seriesCountPerColumn))
- + DAChartPlotTooltip.TOOLTIP_MARGIN + (i % seriesCountPerColumn) * DAChartPlotTooltip.TOOLTIP_TEXT_MARGIN;
+ int y = startY
+ + (DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT * (tooltipSize % seriesCountPerColumn))
+ + DAChartPlotTooltip.TOOLTIP_MARGIN + (i % seriesCountPerColumn)
+ * DAChartPlotTooltip.TOOLTIP_TEXT_MARGIN;
Color col = tooltipColor.get(i);
if (col == null) {
gc.setBackground(series.getColor());
} else {
gc.setBackground(col);
}
-
- int startColumnX = startX + (i/seriesCountPerColumn)*(preTextWidthMargin + textWidthMax);
- gc.fillRectangle(startColumnX
- + DAChartPlotTooltip.TOOLTIP_MARGIN, y
+
+ int startColumnX = startX + (i / seriesCountPerColumn)
+ * (preTextWidthMargin + textWidthMax);
+ gc.fillRectangle(startColumnX + DAChartPlotTooltip.TOOLTIP_MARGIN, y
+ DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT / 2
- DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH / 2,
DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH,
gc.setBackground(tooltip.getBackgroundColor());
gc.setForeground(tooltip.getTextColor());
- gc.drawText(tooltipTexts.get(i), startColumnX
- + DAChartPlotTooltip.TOOLTIP_MARGIN
+ gc.drawText(tooltipTexts.get(i), startColumnX + DAChartPlotTooltip.TOOLTIP_MARGIN
+ DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH
+ DAChartPlotTooltip.TOOLTIP_MARGIN, y, SWT.DRAW_DELIMITER
| SWT.DRAW_TRANSPARENT);
-
+
gc.setForeground(tooltip.getTimeColor());
timeStr = tooltipTimes.get(i);
- gc.drawText(
- tooltipTimes.get(i),
- startX + DAChartPlotTooltip.TOOLTIP_MARGIN
- + DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH
- + DAChartPlotTooltip.TOOLTIP_MARGIN + textWidthMax
- - DAChartPlotTooltip.TOOLTIP_MARGIN
- - gc.textExtent(timeStr).x
- + (i/seriesCountPerColumn)*(preTextWidthMargin + textWidthMax)
- , y, SWT.DRAW_DELIMITER
- | SWT.DRAW_TRANSPARENT);
+ gc.drawText(tooltipTimes.get(i), startX + DAChartPlotTooltip.TOOLTIP_MARGIN
+ + DAChartPlotTooltip.TOOLTIP_SERIES_RECT_LENGTH
+ + DAChartPlotTooltip.TOOLTIP_MARGIN + textWidthMax
+ - DAChartPlotTooltip.TOOLTIP_MARGIN - gc.textExtent(timeStr).x
+ + (i / seriesCountPerColumn) * (preTextWidthMargin + textWidthMax), y,
+ SWT.DRAW_DELIMITER | SWT.DRAW_TRANSPARENT);
if (plot instanceof DAUIEventChartPlot) {
break;
}
}
private int findColumnSeriesCount(int tooltipSize, int maxSize) {
- int maxSeriesCount = (maxSize - DAChartPlotTooltip.TOOLTIP_MARGIN +
- DAChartPlotTooltip.TOOLTIP_BOTTOM_MARGIN) /
- (DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT + DAChartPlotTooltip.TOOLTIP_TEXT_MARGIN);
+ int maxSeriesCount = (maxSize - DAChartPlotTooltip.TOOLTIP_MARGIN + DAChartPlotTooltip.TOOLTIP_BOTTOM_MARGIN)
+ / (DAChartPlotTooltip.TOOLTIP_TEXT_HEIGHT + DAChartPlotTooltip.TOOLTIP_TEXT_MARGIN);
return (tooltipSize > maxSeriesCount) ? maxSeriesCount : tooltipSize;
}
-
+
private void drawBarSeries(GC gc, DAChartSeries series) {
List<DAChartSeriesItem> seriesItems = series.getSeriesItemList();
if (null == seriesItems) {
gc.setBackground(color);
gc.setAlpha((int) (255 * 0.8));
gc.setAntialias(SWT.ON);
-
+
int barAlign = series.getBarAlign();
int index = series.getPrevIndexByXvalue(plot.getVisibleStartX());
if (index < 0) {
index = 0;
}
-
+
double maxY = getMaxYToDraw(series, index);
for (int i = index; i < seriesItemSize; i++) {
DAChartSeriesItem seriesItem = seriesItems.get(i);
int pixcelStartX = plot.getXPixcelFromX(seriesItem.getX(), r);
int pixcelStartY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
- int barWidth = plot.getXPixcelFromX(currentX + barWidthTime, r)
- - pixcelStartX;
+ int barWidth = plot.getXPixcelFromX(currentX + barWidthTime, r) - pixcelStartX;
if (barWidth < 1) {
barWidth = 1;
}
-
- if(barAlign == DAChartSeries.SERIES_BAR_ALIGN_CENTER){
- pixcelStartX -= barWidth/2;
- } else if(barAlign == DAChartSeries.SERIES_BAR_ALIGN_RIGHT){
+
+ if (barAlign == DAChartSeries.SERIES_BAR_ALIGN_CENTER) {
+ pixcelStartX -= barWidth / 2;
+ } else if (barAlign == DAChartSeries.SERIES_BAR_ALIGN_RIGHT) {
pixcelStartX -= barWidth;
}
color = seriesItem.getColor();
if (null != color) {
gc.setBackground(color);
- gc.fillRectangle(pixcelStartX, pixcelStartY, barWidth, r.y
- + r.height - pixcelStartY);
+ gc.fillRectangle(pixcelStartX, pixcelStartY, barWidth, r.y + r.height
+ - pixcelStartY);
gc.setBackground(series.getColor());
} else {
DAChartPlot.BoundType boundType = plot.getBoundType();
- if(boundType != null) {
+ if (boundType != null) {
double boundValue = plot.getBoundValue();
- if(boundType == DAChartPlot.BoundType.UNDER) {
+ if (boundType == DAChartPlot.BoundType.UNDER) {
gc.setBackground(ColorResources.DARK_YELLOW);
} else {
- if(boundValue != -1 && seriesItem.getY() > boundValue) {
+ if (boundValue != -1 && seriesItem.getY() > boundValue) {
gc.setBackground(ColorResources.DARK_YELLOW);
}
}
}
- gc.fillRectangle(pixcelStartX, pixcelStartY, barWidth, r.y
- + r.height - pixcelStartY);
+ gc.fillRectangle(pixcelStartX, pixcelStartY, barWidth, r.y + r.height
+ - pixcelStartY);
gc.setBackground(series.getColor());
gc.setAlpha(250);
}
}
}
- private void drawMultiCheckBarSeries(GC gc, DAChartSeries series,
- int seriesIndex, int seriesSize) {
+ private void drawMultiCheckBarSeries(GC gc, DAChartSeries series, int seriesIndex,
+ int seriesSize) {
List<DAChartSeriesItem> seriesItems = series.getSeriesItemList();
if (null == seriesItems) {
return;
}
- Rectangle rect = new Rectangle(r.x, r.y
- + (r.height / seriesSize * seriesIndex), r.width, r.height
- / seriesSize);
+ Rectangle rect = new Rectangle(r.x, r.y + (r.height / seriesSize * seriesIndex), r.width,
+ r.height / seriesSize);
if (r.height == DAChartBoard.DEFAULT_ITEM_HEIGHT - 1) {
gc.setForeground(ColorResources.SERIES_NAME_ANNOTATION);
Font oriFont = gc.getFont();
Font nameAnnotationFont = series.getFont();
gc.setFont(nameAnnotationFont);
- gc.drawText(series.getName(), rect.x + 3, rect.y + rect.height / 2
- - gc.stringExtent(series.getName()).y / 2 + seriesIndex,
- true);
+ gc.drawText(series.getName(), rect.x + 3,
+ rect.y + rect.height / 2 - gc.stringExtent(series.getName()).y / 2
+ + seriesIndex, true);
gc.setFont(oriFont);
}
if (seriesIndex != 0) {
gc.setForeground(ColorResources.CHART_SEPERATE_LINE);
gc.drawLine(rect.x, rect.y, rect.width, rect.y);
}
-
+
int seriesItemSize = seriesItems.size();
if (seriesItemSize < 1) {
return;
index = 0;
}
- int highlightedIndexX = ((DAUIEventChartPlot) plot)
- .getHighlightedEventIndexX();
- int highlightedIndexY = ((DAUIEventChartPlot) plot)
- .getHighlightedEventIndexY();
+ int highlightedIndexX = ((DAUIEventChartPlot) plot).getHighlightedEventIndexX();
+ int highlightedIndexY = ((DAUIEventChartPlot) plot).getHighlightedEventIndexY();
for (int i = index; i < seriesItemSize; i++) {
seriesItem = seriesItems.get(i);
color = seriesItem.getColor();
if (null != color) {
gc.setBackground(color);
- gc.fillRectangle(pixcelStartX, pixcelStartY,
- MULTI_CHECK_BAR_WIDTH, rect.height - MARGIN);
+ gc.fillRectangle(pixcelStartX, pixcelStartY, MULTI_CHECK_BAR_WIDTH, rect.height
+ - MARGIN);
gc.setBackground(series.getColor());
} else {
- gc.fillRectangle(pixcelStartX, pixcelStartY,
- MULTI_CHECK_BAR_WIDTH, rect.height - MARGIN);
+ gc.fillRectangle(pixcelStartX, pixcelStartY, MULTI_CHECK_BAR_WIDTH, rect.height
+ - MARGIN);
}
if (currentX > plot.getVisibleEndX()) {
break;
index = 0;
}
double maxY = getMaxYToDraw(series, index);
-
+
DAChartSeriesItem seriesItem = seriesItems.get(0);
int oldPixcelX = plot.getXPixcelFromX(seriesItem.getX(), r);
int oldPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
int newPixcelX = plot.getXPixcelFromX(currentX, r);
int newPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
-
+
/*
* collect pixcels to draw and then draw them at once.
*/
points.add(newPixcelX);
points.add(newPixcelY);
for (int i = index; i < seriesItemSize; i++) {
- seriesItem = seriesItems.get(i);
+ seriesItem = seriesItems.get(i);
currentX = seriesItem.getX();
newPixcelX = plot.getXPixcelFromX(currentX, r);
newPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
-
+
points.add(newPixcelX);
points.add(newPixcelY);
-
+
if (currentX > plot.getVisibleEndX()) {
break;
}
}
gc.drawPolyline(convertArray(points));
-
+
// // draw endVal
if (true == bEndVal) {
int endX = plot.getXPixcelFromX(plot.getValidEndX(), r);
index = 0;
}
double maxY = getMaxYToDraw(series, index);
-
+
DAChartSeriesItem seriesItem = seriesItems.get(0);
int oldPixcelX = plot.getXPixcelFromX(seriesItem.getX(), r);
int oldPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
int newPixcelX = plot.getXPixcelFromX(currentX, r);
int newPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
-
+
/*
* collect pixcels to draw and then draw them at once.
*/
points.add(newPixcelX);
points.add(newPixcelY);
for (int i = index; i < seriesItemSize; i++) {
- seriesItem = seriesItems.get(i);
+ seriesItem = seriesItems.get(i);
currentX = seriesItem.getX();
newPixcelX = plot.getXPixcelFromX(currentX, r);
newPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
points.add(newPixcelX);
points.add(newPixcelY);
-
+
if (i == seriesItemSize - 1 || currentX > plot.getVisibleEndX()) {
- points.add(newPixcelX);
- points.add(baseY);
+ points.add(newPixcelX);
+ points.add(baseY);
}
if (currentX > plot.getVisibleEndX()) {
break;
gc.fillPolygon(pointArray);
gc.setAlpha((int) (255 * 0.2));
gc.drawPolygon(pointArray);
-
+
// // draw endVal
if (true == bEndVal) {
int endX = plot.getXPixcelFromX(plot.getValidEndX(), r);
if (endX > newPixcelX) {
gc.setAlpha((int) (255 * 0.4));
- int[] polygon = { newPixcelX, baseY, newPixcelX, newPixcelY,
- endX, newPixcelY, endX, baseY };
+ int[] polygon = { newPixcelX, baseY, newPixcelX, newPixcelY, endX, newPixcelY,
+ endX, baseY };
gc.fillPolygon(polygon);
}
}
gc.setAlpha(255);
}
-
+
/*
- * This method is one of Chart renderer. Real chart using this method is File Analysis chart.
- * This renderer draws Rectangle and bar in multi line and need specific seriesItem type.
- * Type is possible SERIES_AREA_START, SERIES_AREA_END, SERIES_AREA_BAR.
+ * This method is one of Chart renderer. Real chart using this method is
+ * File Analysis chart. This renderer draws Rectangle and bar in multi line
+ * and need specific seriesItem type. Type is possible SERIES_AREA_START,
+ * SERIES_AREA_END, SERIES_AREA_BAR.
*/
- private void drawStateAreaSeries(GC gc, DAChartSeries series, int seriesIndex,
- int seriesSize) {
+ private void drawStateAreaSeries(GC gc, DAChartSeries series, int seriesIndex, int seriesSize) {
List<DAChartSeriesItem> seriesItems = series.getSeriesItemList();
if (null == seriesItems) {
return;
}
-
+
int seriesItemSize = seriesItems.size();
if (seriesItemSize < 1) {
return;
if (index < 0) {
index = 0;
}
-
- final int MARGIN_PERCENT = 20; // It's mean 20%
+
+ final int MARGIN_PERCENT = 20; // It's mean 20%
final int STATE_AREA_BAR_WIDTH = 1;
- final int DIAGONAL_DIVIDE = 16; // divided in 16 pieces for diagonal box size.
+ final int DIAGONAL_DIVIDE = 16; // divided in 16 pieces for diagonal box
+ // size.
final Color DIAGONAL_BOX_COLOR = ColorResources.WHITE;
/*
* Formula to divide in equal series heights.
*/
- int margin = (int)((r.height * (MARGIN_PERCENT / 100.0)) / (seriesSize + 1));
+ int margin = (int) ((r.height * (MARGIN_PERCENT / 100.0)) / (seriesSize + 1));
int areaHeight = (r.height - margin * (seriesSize + 1)) / seriesSize;
int pixcelStartY = (margin * (seriesIndex + 1)) + (areaHeight * seriesIndex);
-
+
List<DAChartSeriesItem> barSeriesItems = new ArrayList<DAChartSeriesItem>();
/*
* 1. Draw Start/End Status Area.
for (int i = 0; i < seriesItemSize; i++) {
DAChartSeriesItem seriesItem = seriesItems.get(i);
DAChartSeriesItem endSeriesItem = null;
-
+
int type = (int) seriesItem.getY();
if (DAChartSeriesItem.SERIES_AREA_START == type) {
int startCount = 1;
Color backGroundcolor = seriesItem.getColor();
gc.setForeground(foreGroundColor);
gc.setBackground(backGroundcolor);
-
+
int pixcelStartX = plot.getXPixcelFromX(seriesItem.getX(), r);
int pixcelWidth;
if (endSeriesItem != null) {
pixcelWidth = plot.getXPixcelFromX(endSeriesItem.getX(), r) - pixcelStartX;
} else {
/*
- * endSeriesItem is null when end series is not exist. this case, draw it as much as getValidEndX.
+ * endSeriesItem is null when end series is not exist. this
+ * case, draw it as much as getValidEndX.
*/
pixcelWidth = plot.getXPixcelFromX(plot.getValidEndX(), r) - pixcelStartX;
}
- if (pixcelWidth == 0) { // If diffence is less than 1 second. draw 1 pixcel force.
+ if (pixcelWidth == 0) { // If diffence is less than 1 second.
+ // draw 1 pixcel force.
pixcelWidth = 1;
}
gc.fillRectangle(pixcelStartX, pixcelStartY, pixcelWidth, areaHeight);
-
+
/*
- * If it's needed, draw diagonal line. diagonal line is composed of square boxes.
- * Direction of diagonal line is right top to left down like "/".
+ * If it's needed, draw diagonal line. diagonal line is composed
+ * of square boxes. Direction of diagonal line is right top to
+ * left down like "/".
*/
if (seriesItem.getDiagonal()) {
int diagonalBoxSize = areaHeight / DIAGONAL_DIVIDE;
gc.setBackground(DIAGONAL_BOX_COLOR);
for (int j = 0; j < 16; j++) {
int boxY = pixcelStartY + (diagonalBoxSize * j);
- // Formula to draw diagonal line like "/"
+ // Formula to draw diagonal line like "/"
for (int k = 3 - (j % 4) - (j / 4); k < pixcelWidth; k = k + 3) {
int boxX = diagonalBoxSize * k + pixcelStartX;
- if (pixcelStartX <= boxX && boxX <= pixcelWidth + pixcelStartX - diagonalBoxSize) {
+ if (pixcelStartX <= boxX
+ && boxX <= pixcelWidth + pixcelStartX - diagonalBoxSize) {
gc.fillRectangle(boxX, boxY, diagonalBoxSize, diagonalBoxSize);
}
}
barSeriesItems.add(seriesItem);
}
}
-
+
/*
* 2. Draw Bar series
*/
gc.fillRectangle(pixcelStartX, pixcelStartY, STATE_AREA_BAR_WIDTH, areaHeight);
}
}
-
+
private void drawStepSeries(GC gc, DAChartSeries series, boolean bEndVal) {
List<DAChartSeriesItem> seriesItems = series.getSeriesItemList();
if (seriesItems == null) {
index = 0;
}
double maxY = getMaxYToDraw(series, index);
-
+
DAChartSeriesItem seriesItem = seriesItems.get(0);
int oldPixcelX = plot.getXPixcelFromX(seriesItem.getX(), r);
int oldPixcelY = plot.getYPixcelFromY(maxY, seriesItem.getY(), r);
index = 0;
}
- int highlightedImageIndex = ((DAScreenshotChartPlot) plot)
- .getHighlightedImageIndex();
- int selectedImageIndex = ((DAScreenshotChartPlot) plot)
- .getSelectedImageIndex();
+ int highlightedImageIndex = ((DAScreenshotChartPlot) plot).getHighlightedImageIndex();
+ int selectedImageIndex = ((DAScreenshotChartPlot) plot).getSelectedImageIndex();
for (int i = index; i < seriesItemSize; i++) {
DAChartSeriesItem seriesItem = seriesItems.get(i);
if (seriesItem != null) {
Image image = seriesItem.getImage();
int yPosition = (int) seriesItem.getY();
if (r.height != DAChartBoard.DEFAULT_ITEM_HEIGHT - 1) {
- image = new Image(Display.getDefault(), image.getImageData()
- .scaledTo(image.getBounds().width / 2,
- image.getBounds().height / 2));
+ image = new Image(Display.getDefault(), image.getImageData().scaledTo(
+ image.getBounds().width / 2, image.getBounds().height / 2));
yPosition = SCREENSHOT_Y_POSITION_MINI;
}
gc.drawImage(image, pixcelStartX, yPosition);
gc.setLineWidth(SCREENSHOT_BORDER_LINE_WIDTH);
gc.setForeground(ColorResources.SCREENSHOT_CHART_BORDER_LINE);
- gc.drawRectangle(pixcelStartX, yPosition,
- image.getBounds().width, image.getBounds().height);
+ gc.drawRectangle(pixcelStartX, yPosition, image.getBounds().width,
+ image.getBounds().height);
}
if (currentX > plot.getVisibleEndX()) {
int yPosition = (int) seriesItem.getY();
int highlightedYPosition = SCREENSHOT_SELECTED_Y_POSITION;
if (r.height != DAChartBoard.DEFAULT_ITEM_HEIGHT - 1) {
- selectedImage = new Image(Display.getDefault(), selectedImage
- .getImageData().scaledTo(
- selectedImage.getBounds().width / 2,
+ selectedImage = new Image(Display.getDefault(), selectedImage.getImageData()
+ .scaledTo(selectedImage.getBounds().width / 2,
selectedImage.getBounds().height / 2));
yPosition = SCREENSHOT_Y_POSITION_MINI;
highlightedYPosition = SCREENSHOT_SELECTED_Y_POSITION_MINI;
int screenshotHeight = selectedImage.getBounds().height;
if (selectedImageIndex == highlightedImageIndex) {
- gc.drawRectangle(pixcelStartX - 1, highlightedYPosition - 1,
- screenshotWidth + 3, screenshotHeight + 3);
+ gc.drawRectangle(pixcelStartX - 1, highlightedYPosition - 1, screenshotWidth + 3,
+ screenshotHeight + 3);
} else {
gc.drawImage(selectedImage, pixcelStartX, yPosition);
- gc.drawRectangle(pixcelStartX - 1, r.y + yPosition - 1,
- screenshotWidth + 3, screenshotHeight + 3);
+ gc.drawRectangle(pixcelStartX - 1, r.y + yPosition - 1, screenshotWidth + 3,
+ screenshotHeight + 3);
gc.setLineWidth(SCREENSHOT_BORDER_LINE_WIDTH);
gc.setForeground(ColorResources.SCREENSHOT_CHART_BORDER_LINE);
- gc.drawRectangle(pixcelStartX, yPosition, screenshotWidth,
- screenshotHeight);
+ gc.drawRectangle(pixcelStartX, yPosition, screenshotWidth, screenshotHeight);
}
}
if (highlightedImageIndex >= 0) {
- DAChartSeriesItem seriesItem = seriesItems
- .get(highlightedImageIndex);
+ DAChartSeriesItem seriesItem = seriesItems.get(highlightedImageIndex);
Image highlightedImage = seriesItem.getImage();
int highlightedYPosition = SCREENSHOT_SELECTED_Y_POSITION;
if (r.height != DAChartBoard.DEFAULT_ITEM_HEIGHT - 1) {
- highlightedImage = new Image(Display.getDefault(),
- highlightedImage.getImageData().scaledTo(
- highlightedImage.getBounds().width / 2,
+ highlightedImage = new Image(Display.getDefault(), highlightedImage.getImageData()
+ .scaledTo(highlightedImage.getBounds().width / 2,
highlightedImage.getBounds().height / 2));
highlightedYPosition = SCREENSHOT_SELECTED_Y_POSITION_MINI;
}
gc.drawImage(highlightedImage, pixcelStartX, highlightedYPosition);
gc.setLineWidth(SCREENSHOT_BORDER_LINE_WIDTH);
gc.setForeground(ColorResources.SCREENSHOT_CHART_BORDER_LINE);
- gc.drawRectangle(pixcelStartX, highlightedYPosition,
- screenshotWidth, screenshotHeight);
+ gc.drawRectangle(pixcelStartX, highlightedYPosition, screenshotWidth, screenshotHeight);
}
}
if (null != itemColor) {
gc.setBackground(itemColor);
- gc.fillRectangle(pixcelStartX, r.y + barHeight, EVENT_WIDTH,
- barHeight);
+ gc.fillRectangle(pixcelStartX, r.y + barHeight, EVENT_WIDTH, barHeight);
gc.setBackground(color);
} else {
- gc.fillRectangle(pixcelStartX, r.y + barHeight, EVENT_WIDTH,
- barHeight);
+ gc.fillRectangle(pixcelStartX, r.y + barHeight, EVENT_WIDTH, barHeight);
}
if (currentX > plot.getVisibleEndX()) {
break;
if (null != itemColor) {
gc.setBackground(itemColor);
- gc.fillRectangle(pixcelStartX,
- (r.y + r.height) - barHeight * 2, width, barHeight);
+ gc.fillRectangle(pixcelStartX, (r.y + r.height) - barHeight * 2, width, barHeight);
gc.setBackground(color);
} else {
- gc.fillRectangle(pixcelStartX,
- (r.y + r.height) - barHeight * 2, width, barHeight);
+ gc.fillRectangle(pixcelStartX, (r.y + r.height) - barHeight * 2, width, barHeight);
}
if (currentStartX > plot.getVisibleEndX()) {
break;
}
DAChartSeriesItem seriesItem;
- Color color = series.getColor();
+
gc.setBackground(ColorResources.WHITE);
gc.setAntialias(SWT.ON);
}
int heightMargin = (int) ((r.y + r.height) * LOAD_HEIGHT_MARGIN_RATIO);
int backStartX = plot.getXPixcelFromX(seriesItems.get(index).getX(), r);
- int backWidth = plot.getXPixcelFromX(seriesItems.get(lastIndex).getX(),
- r) - backStartX;
- gc.fillRectangle(backStartX, r.y + heightMargin, backWidth, r.y
- + r.height - heightMargin * 2);
- gc.setBackground(color);
+ int backWidth = plot.getXPixcelFromX(seriesItems.get(lastIndex).getX(), r) - backStartX;
+ gc.fillRectangle(backStartX, r.y + heightMargin, backWidth, r.y + r.height - heightMargin
+ * 2);
+ // gc.setBackground(color);
for (int i = index; i < seriesItemSize; i++) {
seriesItem = seriesItems.get(i);
int pixcelStartX = plot.getXPixcelFromX(seriesItem.getX(), r);
- int barWidth = plot.getXPixcelFromX(currentX + barWidthTime, r)
- - pixcelStartX;
+ int barWidth = plot.getXPixcelFromX(currentX + barWidthTime, r) - pixcelStartX;
if (barWidth < 1) {
barWidth = EVENT_WIDTH;
}
- color = seriesItem.getColor();
- double load = seriesItem.getY();
- gc.setAlpha((int) load);
-
- if (null != color) {
- gc.setBackground(color);
- gc.fillRectangle(pixcelStartX, r.y + heightMargin, barWidth,
- r.y + r.height - heightMargin * 2);
- gc.setBackground(series.getColor());
- } else {
- gc.fillRectangle(pixcelStartX, r.y + heightMargin, barWidth,
- r.y + r.height - heightMargin * 2);
- }
+ gc.setBackground(getColorOfLoad(series, (float) seriesItem.getY() / 100));
+ gc.fillRectangle(pixcelStartX, r.y + heightMargin, barWidth, r.y + r.height
+ - heightMargin * 2);
+ gc.setBackground(series.getColor());
if (currentX > plot.getVisibleEndX()) {
break;
}
gc.setAlpha(255);
}
+ private Color getColorOfLoad(DAChartSeries series, float bAmount) {
+ Color colorA = series.getColor();
+ Color colorB = series.getSecondColor();
+ float aAmount = (float) (1.0 - bAmount);
+ float r = colorA.getRed() * aAmount + colorB.getRed() * bAmount;
+ float g = colorA.getGreen() * aAmount + colorB.getGreen() * bAmount;
+ float b = colorA.getBlue() * aAmount + colorB.getBlue() * bAmount;
+ return new Color(Display.getCurrent(), (int) r, (int) g, (int) b);
+ }
+
private void drawArrowSeries(GC gc, DAChartSeries series) {
List<DAChartSeriesItem> seriesItems = series.getSeriesItemList();
if (null == seriesItems) {
gc.fillRectangle(pixcelStartX, barPosY, EVENT_WIDTH, barHeight);
if (DAChartSeriesItem.SERIES_ARROW_NONE != arrowPosition) {
- String number = String
- .valueOf((int) (seriesItem.getBarWidth()));
+ String number = String.valueOf((int) (seriesItem.getBarWidth()));
Rectangle arrowRect = imageRect;
// arrowRect.y = (r.y + r.height) / 2 - imageRect.height / 2;
arrowRect.y = barPosY + barHeight / 2 - imageRect.height / 2;
}
gc.drawImage(arw, arrowRect.x, arrowRect.y);
Point p = gc.textExtent(number, SWT.DRAW_MNEMONIC);
- gc.drawText(number, (arrowRect.x + arrowRect.width / 2) - p.x
- / 2 - ARROW_MARGIN,
+ gc.drawText(number, (arrowRect.x + arrowRect.width / 2) - p.x / 2 - ARROW_MARGIN,
(arrowRect.y + arrowRect.height / 2) - p.y / 2, true);
}
if (barWidth == -1) {
barWidth = EVENT_WIDTH;
}
-
- if (!equals(oldStateBarRectangle, pixcelStartX, r.y
- + heightMargin, barWidth, r.y + r.height / 2
- - heightMargin)) {
+
+ if (!equals(oldStateBarRectangle, pixcelStartX, r.y + heightMargin, barWidth, r.y
+ + r.height / 2 - heightMargin)) {
oldStateBarRectangle.x = pixcelStartX;
oldStateBarRectangle.y = r.y + heightMargin;
oldStateBarRectangle.width = barWidth;
- oldStateBarRectangle.height = r.y + r.height / 2
- - heightMargin;
+ oldStateBarRectangle.height = r.y + r.height / 2 - heightMargin;
gc.fillRectangle(oldStateBarRectangle);
}
break;
case DAChartSeriesItem.SERIES_STATE_CONTINUE:
if (i + 1 == seriesItemSize) {
- barWidth = plot.getXPixcelFromX(plot.getValidEndX(), r)
- - pixcelStartX;
+ barWidth = plot.getXPixcelFromX(plot.getValidEndX(), r) - pixcelStartX;
} else {
- barWidth = plot.getXPixcelFromX(seriesItems.get(i + 1)
- .getX(), r)
+ barWidth = plot.getXPixcelFromX(seriesItems.get(i + 1).getX(), r)
- pixcelStartX;
}
if (barWidth <= 0) {
barWidth = 0;
}
- if (!equals(oldStateContinueRectangle, pixcelStartX, r.y
- + heightMargin, barWidth, r.y + r.height - heightMargin
- * 2)) {
+ if (!equals(oldStateContinueRectangle, pixcelStartX, r.y + heightMargin, barWidth,
+ r.y + r.height - heightMargin * 2)) {
oldStateContinueRectangle.x = pixcelStartX;
oldStateContinueRectangle.y = r.y + heightMargin;
oldStateContinueRectangle.width = barWidth;
- oldStateContinueRectangle.height = r.y + r.height
- - heightMargin * 2;
-
+ oldStateContinueRectangle.height = r.y + r.height - heightMargin * 2;
+
if (null != foreColor) {
gc.setForeground(foreColor);
- gc.fillGradientRectangle(pixcelStartX, r.y + heightMargin,
- barWidth, r.y + r.height - heightMargin * 2, true);
+ gc.fillGradientRectangle(pixcelStartX, r.y + heightMargin, barWidth, r.y
+ + r.height - heightMargin * 2, true);
} else {
gc.fillRectangle(oldStateContinueRectangle);
}
case DAChartSeriesItem.SERIES_STATE_CONNECTION:
if (i + 1 < seriesItemSize) {
- barWidth = plot.getXPixcelFromX(seriesItems.get(i + 1)
- .getX(), r)
+ barWidth = plot.getXPixcelFromX(seriesItems.get(i + 1).getX(), r)
- pixcelStartX;
} else {
barWidth = 1;
barWidth = 0;
}
- if (!equals(oldStateConnectionRectangle, pixcelStartX, r.y
- + heightMargin, barWidth, r.y + r.height - heightMargin
- * 2)) {
+ if (!equals(oldStateConnectionRectangle, pixcelStartX, r.y + heightMargin,
+ barWidth, r.y + r.height - heightMargin * 2)) {
oldStateConnectionRectangle.x = pixcelStartX;
oldStateConnectionRectangle.y = r.y + heightMargin;
oldStateConnectionRectangle.width = barWidth;
- oldStateConnectionRectangle.height = r.y + r.height
- - heightMargin * 2;
+ oldStateConnectionRectangle.height = r.y + r.height - heightMargin * 2;
if (null != foreColor) {
gc.setForeground(foreColor);
- gc.fillGradientRectangle(pixcelStartX, r.y
- + heightMargin, barWidth, r.y + r.height
- - heightMargin * 2, true);
+ gc.fillGradientRectangle(pixcelStartX, r.y + heightMargin, barWidth, r.y
+ + r.height - heightMargin * 2, true);
} else {
gc.fillRectangle(oldStateConnectionRectangle);
}
}
}
}
-
+
private boolean equals(Rectangle rect, int x, int y, int width, int height) {
- if (rect.x != x || rect.y != y || rect.width != width
- || rect.height != height)
+ if (rect.x != x || rect.y != y || rect.width != width || rect.height != height)
return false;
return true;
}
-
+
private int[] convertArray(List<Integer> list) {
- int[] array = new int[list.size()];
- for (int i = 0; i < list.size(); i++) {
- array[i] = list.get(i).intValue();
- }
- return array;
+ int[] array = new int[list.size()];
+ for (int i = 0; i < list.size(); i++) {
+ array[i] = list.get(i).intValue();
+ }
+ return array;
}
}
private int style = SERIES_STYLE_NONE;
private List<DAChartSeriesItem> seriesItems = new ArrayList<DAChartSeriesItem>();
private Color color;
+ private Color secondColor;
private double barWidth = SERIES_DEFAULT_BAR_WIDTH;
private int barAlign = SERIES_BAR_ALIGN_LEFT;
private double maxX = 0;
this(name, style);
this.color = color;
}
-
+
public DAChartSeries(String name, int style, Color color, boolean disableTooltip) {
this(name, style, color);
this.disableTooltip = disableTooltip;
}
+ public DAChartSeries(String name, int style, Color color, Color secondColor) {
+ this(name, style, color);
+ this.setSecondColor(secondColor);
+ }
+
public String getName() {
return name;
}
public void setColor(Color Color) {
this.color = Color;
}
-
+
public boolean isDisableTooltip() {
return disableTooltip;
}
public void setData(Object data) {
this.data = data;
}
+
+ public Color getSecondColor() {
+ return secondColor;
+ }
+
+ public void setSecondColor(Color secondColor) {
+ this.secondColor = secondColor;
+ }
}
public final static int BOARD_STYLE_FRAME = 1;
public final static int BOARD_STYLE_KERNEL = 2;
-
private IDAChartSeriesMaker chartSeriesMaker;
-
+
public DAChartBoard(Composite parent, String title) {
this(parent, title, BOARD_STYLE_TIME);
}
titleComp.setLayout(new FillLayout());
itemMinimizeButton = new DACustomToggleButton(this,
- ColorResources.CHART_SIZE_TOGGLE_NORMAL_START, ColorResources.CHART_SIZE_TOGGLE_NORMAL_END,
- ColorResources.CHART_SIZE_TOGGLE_PUSH_START, ColorResources.CHART_SIZE_TOGGLE_PUSH_END,
- ColorResources.CHART_SIZE_TOGGLE_HOVER_START, ColorResources.CHART_SIZE_TOGGLE_HOVER_END,
- null, null,
- ColorResources.CHART_SIZE_TOGGLE_NORMAL_START, ColorResources.CHART_SIZE_TOGGLE_NORMAL_END,
- ColorResources.CHART_SIZE_TOGGLE_PUSH_START, ColorResources.CHART_SIZE_TOGGLE_PUSH_END,
- ColorResources.CHART_SIZE_TOGGLE_HOVER_START, ColorResources.CHART_SIZE_TOGGLE_HOVER_END);
-
- itemMinimizeButton.setOutlineColors(ColorResources.CHART_SIZE_TOGGLE_NORMAL_STROKE,
- ColorResources.CHART_SIZE_TOGGLE_PUSH_STROKE,
+ ColorResources.CHART_SIZE_TOGGLE_NORMAL_START,
+ ColorResources.CHART_SIZE_TOGGLE_NORMAL_END,
+ ColorResources.CHART_SIZE_TOGGLE_PUSH_START,
+ ColorResources.CHART_SIZE_TOGGLE_PUSH_END,
+ ColorResources.CHART_SIZE_TOGGLE_HOVER_START,
+ ColorResources.CHART_SIZE_TOGGLE_HOVER_END, null, null,
+ ColorResources.CHART_SIZE_TOGGLE_NORMAL_START,
+ ColorResources.CHART_SIZE_TOGGLE_NORMAL_END,
+ ColorResources.CHART_SIZE_TOGGLE_PUSH_START,
+ ColorResources.CHART_SIZE_TOGGLE_PUSH_END,
+ ColorResources.CHART_SIZE_TOGGLE_HOVER_START,
+ ColorResources.CHART_SIZE_TOGGLE_HOVER_END);
+
+ itemMinimizeButton.setOutlineColors(ColorResources.CHART_SIZE_TOGGLE_NORMAL_STROKE,
+ ColorResources.CHART_SIZE_TOGGLE_PUSH_STROKE,
ColorResources.CHART_SIZE_TOGGLE_HOVER_STROKE, null);
- itemMinimizeButton.setButtonImage(DACustomToggleButton.STATE_NORMAL, ImageResources.CHART_ALL_SIZE_RESTORE);
- itemMinimizeButton.setButtonImage(DACustomToggleButton.STATE_TOGGLE, ImageResources.CHART_ALL_SIZE_MIN);
+ itemMinimizeButton.setButtonImage(DACustomToggleButton.STATE_NORMAL,
+ ImageResources.CHART_ALL_SIZE_RESTORE);
+ itemMinimizeButton.setButtonImage(DACustomToggleButton.STATE_TOGGLE,
+ ImageResources.CHART_ALL_SIZE_MIN);
itemMinimizeButton.setButtonImagePoint(new Point(3, 4));
-
- itemMinimizeButton
- .addClickListener(new DACustomButtonClickEventListener() {
- @Override
- public void handleClickEvent(DACustomButton button) {
- minimizeItem(itemMinimizeButton.isToggled());
- }
- });
+
+ itemMinimizeButton.addClickListener(new DACustomButtonClickEventListener() {
+ @Override
+ public void handleClickEvent(DACustomButton button) {
+ minimizeItem(itemMinimizeButton.isToggled());
+ }
+ });
if (boardStyle == BOARD_STYLE_FRAME) {
interval = DATimelineFrameRenderer.DEFAULT_INTERVAL;
public void controlResized(ControlEvent e) {
boardManager.timelineWidthChanged(getClientArea().width
- DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH);
- if (chartSeriesMaker != null) {
- chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
- translateSecToMicroSec(getVisibleEndTime()));
- }
+ if (chartSeriesMaker != null) {
+ chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
+ translateSecToMicroSec(getVisibleEndTime()));
+ }
setChartAxis();
}
for (int i = 0; i < nItemSize; i++) {
e.gc.drawRectangle(rt.x, i * height - 1,
DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH, height);
- e.gc.drawRectangle(
- DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH, i
- * height - 1, rt.width
- - DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH,
- height);
+ e.gc.drawRectangle(DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH, i * height - 1,
+ rt.width - DAChartBoardItem.DEFAULT_NAME_CELL_WIDTH, height);
}
}
});
@Override
public void controlResized(ControlEvent e) {
if (null != boardManager) {
- boardManager.timelineWidthChanged(itemList
- .getItemChartWidth());
+ boardManager.timelineWidthChanged(itemList.getItemChartWidth());
setChartAxis();
}
}
data.left = new FormAttachment(itemMinimizeButton, 0);
data.top = new FormAttachment(0, 0);
data.right = new FormAttachment(100, 0);
- data.height = DEFAULT_CHARTBOARD_HEADER_HEIGHT
- - LifecycleBar.HEIGHT;
+ data.height = DEFAULT_CHARTBOARD_HEADER_HEIGHT - LifecycleBar.HEIGHT;
timeline.setLayoutData(data);
data = new FormData();
itemHeightRatio = ITEM_HEIGHT_RATIO_NORMAL;
itemList.unMinimize();
}
- itemList.setSize(itemListScrollComp.getClientArea().width,
- itemList.getListHeight());
+ itemList.setSize(itemListScrollComp.getClientArea().width, itemList.getListHeight());
itemList.layout();
itemListScrollComp.redraw();
}
@Override
public void widgetSelected() {
boardManager.scaleChanged(scale.getSelection());
- if (chartSeriesMaker != null) {
- chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
- translateSecToMicroSec(getVisibleEndTime()));
- }
- setChartAxis();
+ if (chartSeriesMaker != null) {
+ chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
+ translateSecToMicroSec(getVisibleEndTime()));
+ }
+ setChartAxis();
callBackScaleChanged();
}
};
public void widgetSelected(SelectionEvent e) {
int sel = hScroll.getSelection();
boardManager.scrollbarSelectionChanged(sel);
- if (chartSeriesMaker != null) {
- chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
- translateSecToMicroSec(getVisibleEndTime()));
- }
- setChartAxis();
+ if (chartSeriesMaker != null) {
+ chartSeriesMaker.makeChartSeries(translateSecToMicroSec(getVisibleStartTime()),
+ translateSecToMicroSec(getVisibleEndTime()));
+ }
+ setChartAxis();
callBackScrollChanged();
}
callBackSizeChanged();
}
};
-
+
public void setChartSeriesMaker(IDAChartSeriesMaker chartSeriesMaker) {
- this.chartSeriesMaker = chartSeriesMaker;
+ this.chartSeriesMaker = chartSeriesMaker;
}
-
+
private void setChartAxis() {
itemList.setChartAxis(getVisibleStartTime(), getVisibleEndTime());
}
- protected void notifyScaleChanged(int scaleVal, double thumb,
- double visibleStartTime) {
+ protected void notifyScaleChanged(int scaleVal, double thumb, double visibleStartTime) {
timeline.setScale(scaleVal);
timeline.setStartTime(visibleStartTime);
timeline.redraw();
int listHeight = itemList.getListHeight();
itemList.setSize(itemListScrollComp.getClientArea().width, listHeight);
}
+
// for sorting of chart items
- protected void registerItem(DAChartBoardItem item,
- Comparator c) {
+ protected void registerItem(DAChartBoardItem item, Comparator c) {
itemList.registerItem(item, c);
int listHeight = itemList.getListHeight();
itemList.setSize(itemListScrollComp.getClientArea().width, listHeight);
- }
+ }
public DAChartBoardItemList getItemList() {
return itemList;
itemList.notifyResizeChild(item);
itemList.layout();
- itemList.setSize(itemListScrollComp.getClientArea().width,
- itemList.getListHeight());
+ itemList.setSize(itemListScrollComp.getClientArea().width, itemList.getListHeight());
}
public void setTotalEndTime(long time) {
int size = markers.size();
for (int i = 0; i < size; i++) {
if ((markers.get(i)) instanceof DAChartPlotIntervalMarker) {
- ((DAChartPlotIntervalMarker) (markers.get(i))).setInterval(-1,
- -1);
+ ((DAChartPlotIntervalMarker) (markers.get(i))).setInterval(-1, -1);
}
}
if (null != selectItem) {
if (null != oldImage) {
setChartBackgroundImage(selectItem.getChart(), oldImage);
- if ((!item.isSelectable() && selectItem.isSelectable() && selectItem.getChart().isSelected())) {
+ if ((!item.isSelectable() && selectItem.isSelectable() && selectItem.getChart()
+ .isSelected())) {
/*
* Do nothing
*/
return;
}
oldImage = chart.getPlot().getBackgroundImage();
- setChartBackgroundImage(selectItem.getChart(),
- ImageResources.CHART_BG_SELECT);
+ setChartBackgroundImage(selectItem.getChart(), ImageResources.CHART_BG_SELECT);
selectItem.selectItem(true);
if (null != selectionListenrers) {
DAChartBoardItem childItem = childItemList.get(childIndex);
selectRow(childItem);
- int selection = itemList.getItemYPos(parentIndex)
- + childItemList.getItemYPos(childIndex);
+ int selection = itemList.getItemYPos(parentIndex) + childItemList.getItemYPos(childIndex);
itemListScrollComp.setOrigin(0, selection);
}
}
}
};
-
+
private long translateSecToMicroSec(double sec) {
- return (long)(sec * 1000000.0);
+ return (long) (sec * 1000000.0);
}
-
+
public void hideItem(int index) {
itemList.hideItem(index);
- itemList.setSize(itemListScrollComp.getClientArea().width,
- itemList.getListHeight());
+ itemList.setSize(itemListScrollComp.getClientArea().width, itemList.getListHeight());
}
public void showItem(int index) {
itemList.showItem(index);
- itemList.setSize(itemListScrollComp.getClientArea().width,
- itemList.getListHeight());
+ itemList.setSize(itemListScrollComp.getClientArea().width, itemList.getListHeight());
}
public void reArrangeItem(Integer a[]) {
/**
* this method makes default title composition for user of DAChartBoard.
- * default format is a simple label. user of DAChartBoard can make own
+ * default format is a simple label. user of DAChartBoard can make own
* renderer to draw title composition not use this method.
*
- * @param title text to draw
- * @param titleFont text font
- * @param titleColor text color
- * @param bgColorStart for gradient
- * @param bgColorEnd for gradient
- * @param borderColor border color
+ * @param title
+ * text to draw
+ * @param titleFont
+ * text font
+ * @param titleColor
+ * text color
+ * @param bgColorStart
+ * for gradient
+ * @param bgColorEnd
+ * for gradient
+ * @param borderColor
+ * border color
*/
- public void makeDefaultTitleComposite(final String title, final Font titleFont,
- final Color titleColor, final Color bgColorStart,
- final Color bgColorEnd, final Color borderColor) {
+ public void makeDefaultTitleComposite(final String title, final Font titleFont,
+ final Color titleColor, final Color bgColorStart, final Color bgColorEnd,
+ final Color borderColor) {
if (this.titleComp == null) {
return;
}
public void paintControl(PaintEvent e) {
Composite composite = (Composite) e.widget;
Rectangle rect = composite.getClientArea();
-
+
/*
* draw background color
*/
*/
e.gc.setForeground(borderColor);
e.gc.drawRectangle(rect.x, rect.y, rect.width, rect.height - 1);
-
+
/*
* draw text
*/
}
});
}
-
+
protected int getInterval() {
return interval;
}
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.tizen.dynamicanalyzer.common.DASelectionData;
import org.tizen.dynamicanalyzer.nl.ThreadPageLabels;
import org.tizen.dynamicanalyzer.resources.ColorResources;
import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.resources.ImageResources;
import org.tizen.dynamicanalyzer.swap.model.data.LogData;
import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener;
import org.tizen.dynamicanalyzer.ui.common.UICommonConstants;
import org.tizen.dynamicanalyzer.ui.opengl.data.GLDataManager;
import org.tizen.dynamicanalyzer.ui.opengl.data.type.GLSelectionData;
import org.tizen.dynamicanalyzer.ui.range.RangeDataManager;
-import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
import org.tizen.dynamicanalyzer.ui.timeline.logparser.LifecycleLogParser;
import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer;
public class GLChartView extends DAViewComposite {
public static final String ID = GLChartView.class.getName();
- private static final int COMBO_HEIGHT = 24;
-
private final Composite contents;
private GLFrameTimeChartBoard frameTimeChartBoard;
private GLFrameRateChartBoard frameRateChartBoard;
frameTimeChartBoard = new GLFrameTimeChartBoard(contents,
GLPageLabels.GL_CHART_TITLE_FRAME_TIME, DAChartBoard.BOARD_STYLE_FRAME);
frameTimeChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
-
- frameTimeCombo = new DACustomCombo(frameTimeChartBoard.getTitleComp(), SWT.NONE);
-
- frameTimeCombo.setComboGradation(ColorResources.FRAME_RATE_COMBO_NORMAL_START,
- ColorResources.FRAME_RATE_COMBO_NORMAL_END,
- ColorResources.FRAME_RATE_COMBO_PUSH_START,
- ColorResources.FRAME_RATE_COMBO_PUSH_END,
- ColorResources.FRAME_RATE_COMBO_HOVER_START,
- ColorResources.FRAME_RATE_COMBO_HOVER_END,
- ColorResources.FRAME_RATE_COMBO_DISABLE_START,
- ColorResources.FRAME_RATE_COMBO_DISABLE_END);
- frameTimeCombo.setOutlineColors(ColorResources.FRAME_RATE_COMBO_OUTLINE_NORMAL,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_PUSH,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_HOVER,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ 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.setItemHeight(COMBO_HEIGHT);
- frameTimeCombo.setComboRender(new GLTitleComboRenderer());
- frameTimeCombo.setTextAlign(DACustomCombo.TEXT_ALIGN_CENTER);
- frameTimeCombo.setComboFont(FontResources.FRAME_RATE_COMBO);
- frameTimeCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR, ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR);
- frameTimeCombo.setItemFont(FontResources.FRAME_RATE_DROPDOWN);
- frameTimeCombo.setItemFontColor(ColorResources.ADD_CHART_FONT_COLOR);
- frameTimeCombo.setButtonRenderer(new DACustomButtonRenderer());
frameTimeCombo.addSelectionListener(new DACustomComboSelectionListener() {
@Override
public void selectionEvent(DACustomCombo combo) {
}
private void initFrameRateChart() {
-
frameRateChartBoard = new GLFrameRateChartBoard(contents,
GLPageLabels.GL_CHART_TITLE_FRAME_RATE, DAChartBoard.BOARD_STYLE_TIME);
frameRateChartBoard.setNameFont(FontResources.CHART_NAME_FONT);
-
- frameRateCombo = new DACustomCombo(frameRateChartBoard.getTitleComp(), SWT.NONE);
-
- frameRateChartBoard.setChartSeriesMaker(TimelineChartManager.getInstance());
-
- frameRateCombo.setComboGradation(ColorResources.FRAME_RATE_COMBO_NORMAL_START,
- ColorResources.FRAME_RATE_COMBO_NORMAL_END,
- ColorResources.FRAME_RATE_COMBO_PUSH_START,
- ColorResources.FRAME_RATE_COMBO_PUSH_END,
- ColorResources.FRAME_RATE_COMBO_HOVER_START,
- ColorResources.FRAME_RATE_COMBO_HOVER_END,
- ColorResources.FRAME_RATE_COMBO_DISABLE_START,
- ColorResources.FRAME_RATE_COMBO_DISABLE_END);
- frameRateCombo.setOutlineColors(ColorResources.FRAME_RATE_COMBO_OUTLINE_NORMAL,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_PUSH,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_HOVER,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ 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.setItemHeight(COMBO_HEIGHT);
- frameRateCombo.setComboRender(new GLTitleComboRenderer());
- frameRateCombo.setTextAlign(DACustomCombo.TEXT_ALIGN_CENTER);
- frameRateCombo.setComboFont(FontResources.FRAME_RATE_COMBO);
- frameRateCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR, ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR);
- frameRateCombo.setItemFont(FontResources.FRAME_RATE_DROPDOWN);
- frameRateCombo.setItemFontColor(ColorResources.ADD_CHART_FONT_COLOR);
- frameRateCombo.setButtonRenderer(new DACustomButtonRenderer());
frameRateCombo.addSelectionListener(new DACustomComboSelectionListener() {
@Override
public void selectionEvent(DACustomCombo combo) {
});
}
+ private DACustomCombo makeDACustomCombo(Composite parent) {
+ DACustomCombo returnCombo = new DACustomCombo(parent, SWT.NONE);
+ returnCombo.setComboGradation(ColorResources.TAB_COMBO_NORMAL_START,
+ ColorResources.TAB_COMBO_NORMAL_END, ColorResources.TAB_COMBO_PUSH_START,
+ ColorResources.TAB_COMBO_PUSH_END, ColorResources.TAB_COMBO_HOVER_START,
+ ColorResources.TAB_COMBO_HOVER_END, ColorResources.FRAME_RATE_COMBO_DISABLE_START,
+ ColorResources.FRAME_RATE_COMBO_DISABLE_END);
+ returnCombo.setOutlineColors(ColorResources.TAB_COMBO_NORMAL_STROKE,
+ ColorResources.TAB_COMBO_PUSH_STROKE, ColorResources.TAB_COMBO_HOVER_STROKE,
+ ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ returnCombo.setComboImages(ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN, ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN);
+ returnCombo.setComboImagePoint(new Point(71, 10));
+ returnCombo.setButtonImages(ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN);
+ returnCombo.setFontPoint(new Point(2, 5));
+ returnCombo.setEnabled(true);
+ returnCombo.setComboFont(FontResources.COMBO);
+ returnCombo.setItemFont(FontResources.DROPDOWN);
+ returnCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
+ ColorResources.ADD_CHART_FONT_COLOR, ColorResources.ADD_CHART_FONT_COLOR,
+ ColorResources.ADD_CHART_FONT_COLOR);
+ returnCombo.setButtonRenderer(new DACustomButtonRenderer());
+ return returnCombo;
+ }
+
private void changeComboRateToTime() {
stackLayout.topControl = frameRateChartBoard;
GLDataManager.getInstance().setSelectFrameRateChart(true);
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.tizen.dynamicanalyzer.nl.ThreadPageLabels;
import org.tizen.dynamicanalyzer.resources.ColorResources;
import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.resources.ImageResources;
import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;
import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener;
import org.tizen.dynamicanalyzer.ui.common.UICommonConstants;
ThreadChartManager manager;
- private final RangeDataManager rangeDataManager = RangeDataManager
- .getInstance();
+ private final RangeDataManager rangeDataManager = RangeDataManager.getInstance();
public ThreadChartView(Composite parent, int style) {
super(parent, style, false);
stackLayout = new StackLayout();
contents.setLayout(stackLayout);
- threadChart = new DAChartBoard(contents,
- ThreadPageLabels.THREAD_CHART_TITLE);
+ threadChart = new DAChartBoard(contents, ThreadPageLabels.THREAD_CHART_TITLE);
threadChart.setNameFont(FontResources.CHART_NAME_FONT);
threadChart.addSelectionListener(new DAChartBoardSelectionListener() {
});
initIntervalMarkers(threadChart);
- syncChart = new DAChartBoard(contents,
- ThreadPageLabels.SYNC_CHART_TITLE);
+ syncChart = new DAChartBoard(contents, ThreadPageLabels.SYNC_CHART_TITLE);
syncChart.setNameFont(FontResources.CHART_NAME_FONT);
syncChart.addSelectionListener(new DAChartBoardSelectionListener() {
}
});
initIntervalMarkers(syncChart);
- stackLayout.topControl = threadChart;
-
- threadCombo = new DACustomCombo(threadChart.getTitleComp(), SWT.NONE);
- threadCombo.setComboGradation(
- ColorResources.FRAME_RATE_COMBO_NORMAL_START,
- ColorResources.FRAME_RATE_COMBO_NORMAL_END,
- ColorResources.FRAME_RATE_COMBO_PUSH_START,
- ColorResources.FRAME_RATE_COMBO_PUSH_END,
- ColorResources.FRAME_RATE_COMBO_HOVER_START,
- ColorResources.FRAME_RATE_COMBO_HOVER_END,
- ColorResources.FRAME_RATE_COMBO_DISABLE_START,
- ColorResources.FRAME_RATE_COMBO_DISABLE_END);
- threadCombo.setOutlineColors(
- ColorResources.FRAME_RATE_COMBO_OUTLINE_NORMAL,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_PUSH,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_HOVER,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ stackLayout.topControl = threadChart;
+ threadCombo = makeDACustomCombo(threadChart.getTitleComp());
+ threadCombo.initCombo();
threadCombo.add("Thread");
threadCombo.add("Sync");
threadCombo.select(0);
threadCombo.setEnabled(true);
- threadCombo.setItemHeight(THREAD_COMBO_ITEM_HEIGHT);
- threadCombo.setTextAlign(DACustomCombo.TEXT_ALIGN_CENTER);
- threadCombo.setComboFont(FontResources.FRAME_RATE_COMBO);
- threadCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR);
- threadCombo.setItemFont(FontResources.FRAME_RATE_DROPDOWN);
- threadCombo.setItemFontColor(ColorResources.ADD_CHART_FONT_COLOR);
- threadCombo.setButtonRenderer(new DACustomButtonRenderer());
threadCombo.addSelectionListener(new DACustomComboSelectionListener() {
-
@Override
public void selectionEvent(DACustomCombo combo) {
String selected = combo.getText();
}
});
- syncCombo = new DACustomCombo(syncChart.getTitleComp(), SWT.NONE);
-
- syncCombo.setComboGradation(
- ColorResources.FRAME_RATE_COMBO_NORMAL_START,
- ColorResources.FRAME_RATE_COMBO_NORMAL_END,
- ColorResources.FRAME_RATE_COMBO_PUSH_START,
- ColorResources.FRAME_RATE_COMBO_PUSH_END,
- ColorResources.FRAME_RATE_COMBO_HOVER_START,
- ColorResources.FRAME_RATE_COMBO_HOVER_END,
- ColorResources.FRAME_RATE_COMBO_DISABLE_START,
- ColorResources.FRAME_RATE_COMBO_DISABLE_END);
- syncCombo.setOutlineColors(
- ColorResources.FRAME_RATE_COMBO_OUTLINE_NORMAL,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_PUSH,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_HOVER,
- ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ syncCombo = makeDACustomCombo(syncChart.getTitleComp());
+ syncCombo.initCombo();
syncCombo.add("Thread");
syncCombo.add("Sync");
syncCombo.select(1);
syncCombo.setEnabled(true);
- syncCombo.setItemHeight(THREAD_COMBO_ITEM_HEIGHT);
- syncCombo.setTextAlign(DACustomCombo.TEXT_ALIGN_CENTER);
- syncCombo.setComboFont(FontResources.FRAME_RATE_COMBO);
- syncCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR,
- ColorResources.ADD_CHART_FONT_COLOR);
- syncCombo.setItemFont(FontResources.FRAME_RATE_DROPDOWN);
- syncCombo.setItemFontColor(ColorResources.ADD_CHART_FONT_COLOR);
- syncCombo.setButtonRenderer(new DACustomButtonRenderer());
syncCombo.addSelectionListener(new DACustomComboSelectionListener() {
-
@Override
public void selectionEvent(DACustomCombo combo) {
String selected = combo.getText();
syncTimeline.setTimeTickFont(FontResources.TIMELINE_TICK_FONT);
syncTimeline.setTimeBalloonFont(FontResources.TIMELINE_BALLOON_FONT);
- LifecycleLogParser.getInstance().registerLifecycleBar(
- threadChart.getLifecycleBar());
+ LifecycleLogParser.getInstance().registerLifecycleBar(threadChart.getLifecycleBar());
LifecycleLogParser.getInstance().registerTimeline(threadTimeline);
- LifecycleLogParser.getInstance().registerLifecycleBar(
- syncChart.getLifecycleBar());
+ LifecycleLogParser.getInstance().registerLifecycleBar(syncChart.getLifecycleBar());
LifecycleLogParser.getInstance().registerTimeline(syncTimeline);
setTimelineMouseListener(threadTimeline, threadChart);
manager.setBoard(threadChart, syncChart);
}
+ private DACustomCombo makeDACustomCombo(Composite parent) {
+ DACustomCombo returnCombo = new DACustomCombo(parent, SWT.NONE);
+ returnCombo.setComboGradation(ColorResources.TAB_COMBO_NORMAL_START,
+ ColorResources.TAB_COMBO_NORMAL_END, ColorResources.TAB_COMBO_PUSH_START,
+ ColorResources.TAB_COMBO_PUSH_END, ColorResources.TAB_COMBO_HOVER_START,
+ ColorResources.TAB_COMBO_HOVER_END, ColorResources.FRAME_RATE_COMBO_DISABLE_START,
+ ColorResources.FRAME_RATE_COMBO_DISABLE_END);
+ returnCombo.setOutlineColors(ColorResources.TAB_COMBO_NORMAL_STROKE,
+ ColorResources.TAB_COMBO_PUSH_STROKE, ColorResources.TAB_COMBO_HOVER_STROKE,
+ ColorResources.FRAME_RATE_COMBO_OUTLINE_DISABLE);
+ returnCombo.setComboImages(ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN, ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN);
+ returnCombo.setComboImagePoint(new Point(65, 9));
+ returnCombo.setButtonImages(ImageResources.TAB_COMBO_BUTTON_DOWN,
+ ImageResources.TAB_COMBO_BUTTON_DOWN);
+ returnCombo.setFontPoint(new Point(7, 5));
+ returnCombo.setEnabled(true);
+ returnCombo.setComboFont(FontResources.COMBO);
+ returnCombo.setItemFont(FontResources.DROPDOWN);
+ returnCombo.setFontColors(ColorResources.ADD_CHART_FONT_COLOR,
+ ColorResources.ADD_CHART_FONT_COLOR, ColorResources.ADD_CHART_FONT_COLOR,
+ ColorResources.ADD_CHART_FONT_COLOR);
+ returnCombo.setButtonRenderer(new DACustomButtonRenderer());
+ return returnCombo;
+ }
+
private void callUpdatePage(DAChartBoardItem selectItem) {
if (null == selectItem) {
- AnalyzerManager
- .getCurrentPage()
+ AnalyzerManager.getCurrentPage()
.updateView(
- new DASelectionData(
- ThreadPage.chartViewID,
- (long) (((DAChartPlotIntervalMarker) threadChart
- .getMarkers()
+ new DASelectionData(ThreadPage.chartViewID,
+ (long) (((DAChartPlotIntervalMarker) threadChart.getMarkers()
.get(UICommonConstants.SELECTION_MARKER_INDEX))
.getStartVal() * TimelineConstants.MEGA_DOUBLE),
- (long) (((DAChartPlotIntervalMarker) threadChart
- .getMarkers()
+ (long) (((DAChartPlotIntervalMarker) threadChart.getMarkers()
.get(UICommonConstants.SELECTION_MARKER_INDEX))
.getEndVal() * TimelineConstants.MEGA_DOUBLE),
new Integer(0), null));
} else {
- AnalyzerManager
- .getCurrentPage()
+ AnalyzerManager.getCurrentPage()
.updateView(
- new DASelectionData(
- ThreadPage.chartViewID,
- (long) (((DAChartPlotIntervalMarker) threadChart
- .getMarkers()
+ new DASelectionData(ThreadPage.chartViewID,
+ (long) (((DAChartPlotIntervalMarker) threadChart.getMarkers()
.get(UICommonConstants.SELECTION_MARKER_INDEX))
.getStartVal() * TimelineConstants.MEGA_DOUBLE),
- (long) (((DAChartPlotIntervalMarker) threadChart
- .getMarkers()
+ (long) (((DAChartPlotIntervalMarker) threadChart.getMarkers()
.get(UICommonConstants.SELECTION_MARKER_INDEX))
.getEndVal() * TimelineConstants.MEGA_DOUBLE),
selectItem.getData(), null));
updateView();
}
- private void setTimelineMouseListener(final DATimeline timeline,
- DAChartBoard chartBoard) {
- timeline.addMouseMoveListener(new SetRangeMarkerMouseMoveListener(
- rangeDataManager, chartBoard, timeline));
+ private void setTimelineMouseListener(final DATimeline timeline, DAChartBoard chartBoard) {
+ timeline.addMouseMoveListener(new SetRangeMarkerMouseMoveListener(rangeDataManager,
+ chartBoard, timeline));
}
@Override
syncChart.setTotalEndTime(ToolbarArea.getInstance().getTime());
manager.update();
- threadChart.setTimelineMarkerStartTime(rangeDataManager
- .getMarkerStartTime() / TimelineConstants.MEGA_DOUBLE);
- threadChart.setTimelineMarkerEndTime(rangeDataManager
- .getMarkerEndTime() / TimelineConstants.MEGA_DOUBLE);
- syncChart.setTimelineMarkerStartTime(rangeDataManager
- .getMarkerStartTime() / TimelineConstants.MEGA_DOUBLE);
+ threadChart.setTimelineMarkerStartTime(rangeDataManager.getMarkerStartTime()
+ / TimelineConstants.MEGA_DOUBLE);
+ threadChart.setTimelineMarkerEndTime(rangeDataManager.getMarkerEndTime()
+ / TimelineConstants.MEGA_DOUBLE);
+ syncChart.setTimelineMarkerStartTime(rangeDataManager.getMarkerStartTime()
+ / TimelineConstants.MEGA_DOUBLE);
syncChart.setTimelineMarkerEndTime(rangeDataManager.getMarkerEndTime()
/ TimelineConstants.MEGA_DOUBLE);
if (RangeDataManager.getInstance().isBeingAnalyzed()) {
((DAChartPlotIntervalMarker) threadChart.getMarkers().get(
- UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX))
- .setInterval(rangeDataManager.getAnalysisStartTime()
- / TimelineConstants.MEGA_DOUBLE,
- rangeDataManager.getAnalysisEndTime()
- / TimelineConstants.MEGA_DOUBLE);
+ UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX)).setInterval(
+ rangeDataManager.getAnalysisStartTime() / TimelineConstants.MEGA_DOUBLE,
+ rangeDataManager.getAnalysisEndTime() / TimelineConstants.MEGA_DOUBLE);
((DAChartPlotIntervalMarker) syncChart.getMarkers().get(
- UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX))
- .setInterval(rangeDataManager.getAnalysisStartTime()
- / TimelineConstants.MEGA_DOUBLE,
- rangeDataManager.getAnalysisEndTime()
- / TimelineConstants.MEGA_DOUBLE);
+ UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX)).setInterval(
+ rangeDataManager.getAnalysisStartTime() / TimelineConstants.MEGA_DOUBLE,
+ rangeDataManager.getAnalysisEndTime() / TimelineConstants.MEGA_DOUBLE);
} else {
((DAChartPlotIntervalMarker) threadChart.getMarkers().get(
- UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX))
- .setInterval(-1, -1);
+ UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX)).setInterval(-1, -1);
((DAChartPlotIntervalMarker) syncChart.getMarkers().get(
- UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX))
- .setInterval(-1, -1);
+ UICommonConstants.RANGE_ANALYSIS_MARKER_INDEX)).setInterval(-1, -1);
}
((DAChartPlotIntervalMarker) threadChart.getMarkers().get(
UICommonConstants.RANGE_MARKER_INDEX)).setInterval(
- rangeDataManager.getMarkerStartTime()
- / TimelineConstants.MEGA_DOUBLE,
- rangeDataManager.getMarkerEndTime()
- / TimelineConstants.MEGA_DOUBLE);
+ rangeDataManager.getMarkerStartTime() / TimelineConstants.MEGA_DOUBLE,
+ rangeDataManager.getMarkerEndTime() / TimelineConstants.MEGA_DOUBLE);
((DAChartPlotIntervalMarker) syncChart.getMarkers().get(
UICommonConstants.RANGE_MARKER_INDEX)).setInterval(
- rangeDataManager.getMarkerStartTime()
- / TimelineConstants.MEGA_DOUBLE,
- rangeDataManager.getMarkerEndTime()
- / TimelineConstants.MEGA_DOUBLE);
+ rangeDataManager.getMarkerStartTime() / TimelineConstants.MEGA_DOUBLE,
+ rangeDataManager.getMarkerEndTime() / TimelineConstants.MEGA_DOUBLE);
}
long start = selData.getStartTime();
long end = selData.getEndTime();
- double startTime = (double) start
- / TimelineConstants.MEGA_DOUBLE;
+ double startTime = (double) start / TimelineConstants.MEGA_DOUBLE;
double endTime = (double) end / TimelineConstants.MEGA_DOUBLE;
// double middleTime = (startTime + endTime) / 2.0;
// if (start == end) {
// chartBoard.setVisibleMiddleTime(middleTime);
DAChartPlotIntervalMarker intervalMarker = (DAChartPlotIntervalMarker) chartBoard
- .getMarkers().get(
- UICommonConstants.SELECTION_MARKER_INDEX);
+ .getMarkers().get(UICommonConstants.SELECTION_MARKER_INDEX);
intervalMarker.setInterval(startTime, endTime);
}
}
}
for (int i = 0; i < itemSize; i++) {
DAChartBoardItem item = threadChart.getItemList().get(i);
- ThreadPageThreadData pageData = (ThreadPageThreadData) item
- .getData();
+ ThreadPageThreadData pageData = (ThreadPageThreadData) item.getData();
if (pageData.getTid().equals(tID)) {
return i;
}
private void initIntervalMarkers(DAChartBoard board) {
// selection marker
- DAChartPlotIntervalMarker selectionMarker = new DAChartPlotIntervalMarker(
- -1, -1, DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA);
+ DAChartPlotIntervalMarker selectionMarker = new DAChartPlotIntervalMarker(-1, -1,
+ DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA);
selectionMarker.setBackgroundColor(ColorResources.SELECTION_RANGE);
selectionMarker.setAlpha((int) (255 * 0.25));
board.addIntervalMarker(selectionMarker);
// range analysis marker
- DAChartPlotIntervalMarker rangeAnalyzeMarker = new DAChartPlotIntervalMarker(
- -1, -1, DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA);
+ DAChartPlotIntervalMarker rangeAnalyzeMarker = new DAChartPlotIntervalMarker(-1, -1,
+ DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_AREA);
rangeAnalyzeMarker.setBackgroundColor(ColorResources.YELLOW);
rangeAnalyzeMarker.setAlpha((int) (255 * 0.25));
board.addIntervalMarker(rangeAnalyzeMarker);
// range marker
- DAChartPlotIntervalMarker rangeMarker = new DAChartPlotIntervalMarker(
- -1, -1, DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_LINE);
+ DAChartPlotIntervalMarker rangeMarker = new DAChartPlotIntervalMarker(-1, -1,
+ DAChartPlotIntervalMarker.INTERVAL_MARKER_STYLE_LINE);
rangeMarker.setForegroundColor(ColorResources.RED);
rangeMarker.setAlpha((int) (255 * 0.25));
board.addIntervalMarker(rangeMarker);
currentChart.setTimelineMarkerEndTime(endtime);
((DAChartPlotIntervalMarker) currentChart.getMarkers().get(
- UICommonConstants.RANGE_MARKER_INDEX)).setInterval(starttime,
- endtime);
+ UICommonConstants.RANGE_MARKER_INDEX)).setInterval(starttime, endtime);
}
}
private List<ThreadPageThreadDataEvent> eventQueue = new ArrayList<ThreadPageThreadDataEvent>();
private List<ThreadPageThreadDataEvent> callEventQueue = new ArrayList<ThreadPageThreadDataEvent>();
// load from database
- private List<ThreadPageSyncData> syncQueue = new ArrayList<ThreadPageSyncData>();
+ private List<ThreadPageSyncData> syncQueue = new ArrayList<ThreadPageSyncData>();
private HashMap<String, Integer> threadAttrMap = new HashMap<String, Integer>();
private HashMap<String, Integer> syncAttrMap = new HashMap<String, Integer>();
// threadFuncMap : (pthreadId, function address)
private HashMap<String, Long> threadFuncMap = new HashMap<String, Long>();
private int preSelectionPid = -1;
-
+
public static final int PTHREAD_CREATE_JOINABLE = 0;
public static final int PTHREAD_CREATE_DETACHED = 1;
-
+
public ThreadPageThreadDataManager(DAChartBoard board) {
this.setBoard(board);
}
-
+
public List<ThreadPageThreadData> getRows() {
return rows;
}
syncEventQueue.add(syncEvent);
hasUpdate = true;
}
-
+
public void pushSyncData(ThreadPageSyncData syncData) {
syncQueue.add(syncData);
- }
+ }
private void createBoardItem(ThreadPageThreadData data) {
// DACustomChartBoardItem item = new DACustomChartBoardItem(board,
DAChartBoardItem item = new DAChartBoardItem(board, data.getTypeString()
+ ThreadPageLabels.THREAD_CHART_NAME_PREFIX
+ ThreadPageLabels.THREAD_CHART_NAME_PID + data.getPid()
- + ThreadPageLabels.THREAD_CHART_NAME_COMMA
- + ThreadPageLabels.THREAD_CHART_NAME_TID + data.getKey()
- + ThreadPageLabels.THREAD_CHART_NAME_POSTFIX);
+ + ThreadPageLabels.THREAD_CHART_NAME_COMMA + ThreadPageLabels.THREAD_CHART_NAME_TID
+ + data.getKey() + ThreadPageLabels.THREAD_CHART_NAME_POSTFIX);
item.useExpand(true);
DAChart chart = item.getChart();
chart.setData(data);
chart.redraw();
}
+
// for sorting of thread chart item
- private void createBoardItem(ThreadPageThreadData data,
- Comparator<DAChartBoardItem> c) {
+ private void createBoardItem(ThreadPageThreadData data, Comparator<DAChartBoardItem> c) {
// DACustomChartBoardItem item = new DACustomChartBoardItem(board,
// data.getName());
Integer tid = Integer.valueOf(data.getTid());
DAChartBoardItem item = new DAChartBoardItem(board, data.getTypeString()
+ ThreadPageLabels.THREAD_CHART_NAME_PREFIX
+ ThreadPageLabels.THREAD_CHART_NAME_PID + data.getPid()
- + ThreadPageLabels.THREAD_CHART_NAME_COMMA
- + ThreadPageLabels.THREAD_CHART_NAME_TID + data.getKey()
- + ThreadPageLabels.THREAD_CHART_NAME_POSTFIX, tid, c);
+ + ThreadPageLabels.THREAD_CHART_NAME_COMMA + ThreadPageLabels.THREAD_CHART_NAME_TID
+ + data.getKey() + ThreadPageLabels.THREAD_CHART_NAME_POSTFIX, tid, c);
item.useExpand(true);
DAChart chart = item.getChart();
chart.setData(data);
chart.redraw();
}
-
+
private void initSyncChart(DAChart chart) {
if (null == chart) {
return;
}
- DAChartSeries apiSeries = new DAChartSeries(
- ThreadPageLabels.THREAD_CHART_SERIES_API,
+ DAChartSeries apiSeries = new DAChartSeries(ThreadPageLabels.THREAD_CHART_SERIES_API,
DAChartSeries.SERIES_STYLE_STATE, ColorResources.YELLOW);
DAChartSeries stateSeries = new DAChartSeries(
- ThreadPageLabels.THREAD_SYNC_CHART_SERIES_STATE,
- DAChartSeries.SERIES_STYLE_STATE, ColorResources.WHITE);
+ ThreadPageLabels.THREAD_SYNC_CHART_SERIES_STATE, DAChartSeries.SERIES_STYLE_STATE,
+ ColorResources.WHITE);
chart.addSeries(stateSeries);
chart.addSeries(apiSeries);
plot.setAutoHeightRange(AutoRangeType.MANUAL);
plot.setAxisFont(FontResources.CHART_AXIS_FONT);
plot.setAxisRangeY(0, 101);
- plot.setAxisRangeX(board.getVisibleStartTime(),
- board.getVisibleEndTime());
+ plot.setAxisRangeX(board.getVisibleStartTime(), board.getVisibleEndTime());
DAChartPlotTooltip tooltip = new DAChartPlotTooltip(-1);
tooltip.setFont(FontResources.CHART_TOOLTIP_FONT);
plot.setTooltip(tooltip);
popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
DAPopupMenuItem startItem = new DAPopupMenuItem(popupMenu);
startItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_START);
- startItem.addListener(new PopupStartMenuItemClickListener(startItem,
- board));
+ startItem.addListener(new PopupStartMenuItemClickListener(startItem, board));
DAPopupMenuItem endItem = new DAPopupMenuItem(popupMenu);
endItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_END);
endItem.addListener(new PopupEndMenuItemClickListener(endItem, board));
DAPopupMenuItem fromSelectionItem = new DAPopupMenuItem(popupMenu);
- fromSelectionItem
- .setText(TimelineChartLabels.RANGE_CONTEXT_SET_FROM_SELECTION);
- fromSelectionItem
- .addListener(new PopupFromSelectionMenuItemClickListener(
- fromSelectionItem, board));
+ fromSelectionItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_FROM_SELECTION);
+ fromSelectionItem.addListener(new PopupFromSelectionMenuItemClickListener(
+ fromSelectionItem, board));
DAPopupMenuItem analysisItem = new DAPopupMenuItem(popupMenu);
analysisItem.setText(TimelineChartLabels.RANGE_CONTEXT_ANALYSIS);
popupMenu, board.getTimeline());
chart.addMouseListener(timelineChartMouseEventListener);
chart.addMouseMoveListener(timelineChartMouseEventListener);
- chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(board
- .getTimeline()));
+ chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(board.getTimeline()));
plot.setMarkers(board.getMarkers());
}
- private boolean createSyncBoardItem(ThreadPageThreadData data,
- ThreadPageSyncData sync) {
+ private boolean createSyncBoardItem(ThreadPageThreadData data, ThreadPageSyncData sync) {
DAChartBoardItem parent = data.getItem();
if (null == parent) {
return false;
plot.setTooltip(tooltip);
plot.setAxisFont(FontResources.CHART_AXIS_FONT);
plot.setAxisRangeY(0, 101);
- plot.setAxisRangeX(board.getVisibleStartTime(),
- board.getVisibleEndTime());
+ plot.setAxisRangeX(board.getVisibleStartTime(), board.getVisibleEndTime());
DAPopupMenu popupMenu = new DAPopupMenu(chart);
popupMenu.setFont(FontResources.CONTEXT_MENU_ITEM_FONT);
DAPopupMenuItem startItem = new DAPopupMenuItem(popupMenu);
startItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_START);
- startItem.addListener(new PopupStartMenuItemClickListener(startItem,
- board));
+ startItem.addListener(new PopupStartMenuItemClickListener(startItem, board));
DAPopupMenuItem endItem = new DAPopupMenuItem(popupMenu);
endItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_END);
endItem.addListener(new PopupEndMenuItemClickListener(endItem, board));
DAPopupMenuItem fromSelectionItem = new DAPopupMenuItem(popupMenu);
- fromSelectionItem
- .setText(TimelineChartLabels.RANGE_CONTEXT_SET_FROM_SELECTION);
- fromSelectionItem
- .addListener(new PopupFromSelectionMenuItemClickListener(
- fromSelectionItem, board));
+ fromSelectionItem.setText(TimelineChartLabels.RANGE_CONTEXT_SET_FROM_SELECTION);
+ fromSelectionItem.addListener(new PopupFromSelectionMenuItemClickListener(
+ fromSelectionItem, board));
DAPopupMenuItem analysisItem = new DAPopupMenuItem(popupMenu);
analysisItem.setText(TimelineChartLabels.RANGE_CONTEXT_ANALYSIS);
popupMenu, board.getTimeline());
chart.addMouseListener(timelineChartMouseEventListener);
chart.addMouseMoveListener(timelineChartMouseEventListener);
- chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(board
- .getTimeline()));
+ chart.addMouseTrackListener(new TimelineChartMouseTrackAdapter(board.getTimeline()));
plot.setMarkers(board.getMarkers());
}
private void setChartSeries(DAChart chart) {
- DAChartSeries loadSeries = new DAChartSeries(
- ThreadPageLabels.THREAD_CHART_SERIES_LOAD,
- DAChartSeries.SERIES_STYLE_LOAD,
- ColorResources.THREAD_GRAPH_CPU_LOAD_COLOR);
+ DAChartSeries loadSeries = new DAChartSeries(ThreadPageLabels.THREAD_CHART_SERIES_LOAD,
+ DAChartSeries.SERIES_STYLE_LOAD, ColorResources.THREAD_GRAPH_MIN_CPU_LOAD_COLOR,
+ ColorResources.THREAD_GRAPH_MAX_CPU_LOAD_COLOR);
loadSeries.setBarWidth(1);
- DAChartSeries apiSeries = new DAChartSeries(
- ThreadPageLabels.THREAD_CHART_SERIES_API,
+ DAChartSeries apiSeries = new DAChartSeries(ThreadPageLabels.THREAD_CHART_SERIES_API,
DAChartSeries.SERIES_STYLE_EVENT, ColorResources.YELLOW);
- DAChartSeries eventSeries = new DAChartSeries(
- ThreadPageLabels.THREAD_CHART_SERIES_EVENT,
- DAChartSeries.SERIES_STYLE_ARROW,
- ColorResources.THREAD_GRAPH_CALLEE_COLOR);
+ DAChartSeries eventSeries = new DAChartSeries(ThreadPageLabels.THREAD_CHART_SERIES_EVENT,
+ DAChartSeries.SERIES_STYLE_ARROW, ColorResources.THREAD_GRAPH_CALLEE_COLOR);
apiSeries.setSummarizeTooltipText(ThreadPageLabels.THREAD_TOOLTIP_APIS);
eventSeries.setFont(FontResources.CHART_ARROW_TID_FONT);
public void createMainThreadItem(int tid) {
int funcID = Global.getFunctionID("main");
- ThreadPageThreadData mainData = new ThreadPageThreadData(
- ThreadPageThreadData.TYPE_MAIN, String.valueOf(tid),
- String.valueOf(tid), CommonConstants.EMPTY, funcID);
+ ThreadPageThreadData mainData = new ThreadPageThreadData(ThreadPageThreadData.TYPE_MAIN,
+ String.valueOf(tid), String.valueOf(tid), CommonConstants.EMPTY, funcID);
pushRow(mainData);
}
-
+
public static String getAttrTypeByTypeInt(int typeInt) {
if (typeInt == PTHREAD_CREATE_JOINABLE) {
return ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE;
}
}
- public List<LogData> getLogsFromLogPackage(LogPackage logPack,
- int logCenterConstants) {
+ public List<LogData> getLogsFromLogPackage(LogPackage logPack, int logCenterConstants) {
Logs logs = logPack.getLogs(logCenterConstants);
if (null == logs || logs.getRawLogs().size() == 0) {
return null;
String tid;
int load;
- ProcessProfileData [] processDataList = sysLog.getProcessProfileDataList();
-
+ ProcessProfileData[] processDataList = sysLog.getProcessProfileDataList();
+
for (int i = 0; i < processDataList.length; i++) {
loads = processDataList[i].getThreadLoad();
String[] temp = loads.split(",");
time = input.getTime();
ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
- String.valueOf(load)
- + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
- null);
+ String.valueOf(load) + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1, null);
pushEvent(event);
-
+
}
}
- hasUpdate = true;
-// loads = sysLog.getThreadLoad(); // TODO SystemData interface changed.
-// // loads = input.get(LogCenterConstants.DEVICE_THREAD_LOAD_INDEX);
-// String[] temp = loads.split(",");
-// int tempSize = temp.length;
-// double time;
-// for (int j = 0; j + 1 < tempSize; j += 2) {
-// try {
-// tid = temp[j];
-// } catch (NumberFormatException nfe) {
-// Logger.error("parseLoad - tid parsing");
-// break;
-// }
-// // if (null == findParentData(tid)) {
-// // continue;
-// // }
-// load = (int) (Double.parseDouble(temp[j + 1]));
-// time = Double.parseDouble(Long.toString(input.getTime()))
-// / TimelineConstants.MEGA_DOUBLE;
-// ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
-// ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
-// String.valueOf(load)
-// + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
-// null);
-// pushEvent(event);
-//
-// }
-// hasUpdate = true;
+ hasUpdate = true;
+ // loads = sysLog.getThreadLoad(); // TODO SystemData interface changed.
+ // // loads = input.get(LogCenterConstants.DEVICE_THREAD_LOAD_INDEX);
+ // String[] temp = loads.split(",");
+ // int tempSize = temp.length;
+ // double time;
+ // for (int j = 0; j + 1 < tempSize; j += 2) {
+ // try {
+ // tid = temp[j];
+ // } catch (NumberFormatException nfe) {
+ // Logger.error("parseLoad - tid parsing");
+ // break;
+ // }
+ // // if (null == findParentData(tid)) {
+ // // continue;
+ // // }
+ // load = (int) (Double.parseDouble(temp[j + 1]));
+ // time = Double.parseDouble(Long.toString(input.getTime()))
+ // / TimelineConstants.MEGA_DOUBLE;
+ // ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
+ // ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
+ // String.valueOf(load)
+ // + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
+ // null);
+ // pushEvent(event);
+ //
+ // }
+ // hasUpdate = true;
}
private void parseLoad(LogPackage logPack) {
- List<LogData> inputs = getLogsFromLogPackage(logPack,
- DataChannelConstants.MSG_DATA_SYSTEM);
+ List<LogData> inputs = getLogsFromLogPackage(logPack, DataChannelConstants.MSG_DATA_SYSTEM);
int size;
if (null == inputs || 0 == (size = inputs.size())) {
return;
int load;
for (int i = 0; i < size; i++) {
input = (SystemData) inputs.get(i);
- ProcessProfileData [] processDataList = input.getProcessProfileDataList();
-
+ ProcessProfileData[] processDataList = input.getProcessProfileDataList();
+
for (int j = 0; j < processDataList.length; j++) {
loads = processDataList[j].getThreadLoad();
String[] temp = loads.split(",");
time = input.getTime();
ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time, tid,
- String.valueOf(load)
- + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
+ String.valueOf(load) + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT, -1,
null);
pushEvent(event);
-
+
}
- }
-// loads = input.getThreadLoad(); // TODO SystemData interface changed.
-// String[] temp = loads.split(",");
-// int tempSize = temp.length;
-// double time;
-// for (int j = 0; j + 1 < tempSize; j += 2) {
-// try {
-// tid = temp[j];
-// } catch (NumberFormatException nfe) {
-// Logger.error("parseLoad - tid parsing");
-// break;
-// }
-// // if (null == findParentData(tid)) {
-// // continue;
-// // }
-//
-// load = (int) (Double.parseDouble(temp[j + 1]));
-// time = Double.parseDouble(Long.toString(input.getTime()))
-// / TimelineConstants.MEGA_DOUBLE;
-// ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
-// ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time,
-// tid, String.valueOf(load)
-// + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT,
-// -1, null);
-// pushEvent(event);
-// }
+ }
+ // loads = input.getThreadLoad(); // TODO SystemData interface
+ // changed.
+ // String[] temp = loads.split(",");
+ // int tempSize = temp.length;
+ // double time;
+ // for (int j = 0; j + 1 < tempSize; j += 2) {
+ // try {
+ // tid = temp[j];
+ // } catch (NumberFormatException nfe) {
+ // Logger.error("parseLoad - tid parsing");
+ // break;
+ // }
+ // // if (null == findParentData(tid)) {
+ // // continue;
+ // // }
+ //
+ // load = (int) (Double.parseDouble(temp[j + 1]));
+ // time = Double.parseDouble(Long.toString(input.getTime()))
+ // / TimelineConstants.MEGA_DOUBLE;
+ // ThreadPageThreadDataEvent event = new ThreadPageThreadDataEvent(
+ // ThreadPageThreadDataEvent.TYPE_LOAD, load, -1, time,
+ // tid, String.valueOf(load)
+ // + ThreadPageLabels.THREAD_CHART_ITEM_PERCENT,
+ // -1, null);
+ // pushEvent(event);
+ // }
}
}
long errorNum = input.getErrno();
ThreadPageThreadDataEvent event;
String pthreadId = Long.toString(input.getPThreadId());
-
+
if (errorNum != 0) {
SummaryDataManager.getInstance().getFailedApiDataMaker().makeData(input);
}
case LogCenterConstants.THREAD_API_TYPE_EXIT:
case LogCenterConstants.THREAD_API_TYPE_WAIT_START:
case LogCenterConstants.THREAD_API_TYPE_OTHER:
- if (apiName.equals(ThreadPageLabels
- .THREAD_API_PTHREAD_ATTR_INIT)) {
+ if (apiName.equals(ThreadPageLabels.THREAD_API_PTHREAD_ATTR_INIT)) {
threadAttrMap.put(input.getArgs(), PTHREAD_CREATE_JOINABLE);
- } else if (apiName.equals(ThreadPageLabels
- .THREAD_API_PTHREAD_ATTR_SETDETACHSTATE)) {
+ } else if (apiName.equals(ThreadPageLabels.THREAD_API_PTHREAD_ATTR_SETDETACHSTATE)) {
checkThreadAttrType(input.getArgs());
- }
-
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_API,
- LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
- apiName, errorNum, input);
+ }
+
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
+ LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid, apiName, errorNum,
+ input);
pushEvent(event);
break;
case LogCenterConstants.THREAD_API_TYPE_START:
checkThreadType(input.getArgs(), pthreadId);
checkThreadFunc(input.getArgs(), pthreadId);
}
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_API,
- LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
+ LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid, apiName, errorNum,
+ input);
event.setCallID(pthreadId);
pushEvent(event);
pushCallEvent(event);
break;
case LogCenterConstants.THREAD_API_TYPE_WAIT_END:
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
- LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
+ LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid, apiName, errorNum,
+ input);
pushEvent(event);
- if (input.getApiName().equals(
- ThreadPageLabels.THREAD_API_PTHREAD_JOIN)) {
+ if (input.getApiName().equals(ThreadPageLabels.THREAD_API_PTHREAD_JOIN)) {
// join, delete warning
- SummaryDataManager.getInstance().getWarningDataMaker().removeData(
- event.getContents(),
- ThreadPageLabels.THREAD_CHART_NAME_TID
- + findCallerTid(pthreadId),
- WarningCase.JOINABLE_LEAK.getType());
-// AnalyzerManager.getWarningChecker().removeData(
-// ThreadPageLabels.THREAD_CHART_NAME_TID
-// + (Long.toString(input
-// .getOspThreadId())),
-// WarningCase.JOINABLE_LEAK.getType());
+ SummaryDataManager
+ .getInstance()
+ .getWarningDataMaker()
+ .removeData(event.getContents(),
+ ThreadPageLabels.THREAD_CHART_NAME_TID + findCallerTid(pthreadId),
+ WarningCase.JOINABLE_LEAK.getType());
+ // AnalyzerManager.getWarningChecker().removeData(
+ // ThreadPageLabels.THREAD_CHART_NAME_TID
+ // + (Long.toString(input
+ // .getOspThreadId())),
+ // WarningCase.JOINABLE_LEAK.getType());
}
break;
case LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP:
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
ThreadPageLabels.THREAD_CHART_ITEM_EXITED, errorNum, input);
event.setCallID(pthreadId);
pushEvent(event);
pushCallEvent(event);
-
+
if (true == isJoinableThread(tid)) {
// warningData
-// WarningData wData = new WarningData(
-// WarningCase.JOINABLE_LEAK.getType(), input,
-// ThreadPageLabels.THREAD_CHART_NAME_TID + tid);
-// AnalyzerManager.getWarningChecker().getWarningData().add(wData);
- SummaryDataManager.getInstance().getWarningDataMaker().add(
- input, ThreadPageLabels.THREAD_CHART_NAME_TID + tid,
- WarningCase.JOINABLE_LEAK.getType());
- }
- //FIXME add code for remove waning case
+ // WarningData wData = new WarningData(
+ // WarningCase.JOINABLE_LEAK.getType(), input,
+ // ThreadPageLabels.THREAD_CHART_NAME_TID + tid);
+ // AnalyzerManager.getWarningChecker().getWarningData().add(wData);
+ SummaryDataManager
+ .getInstance()
+ .getWarningDataMaker()
+ .add(input, ThreadPageLabels.THREAD_CHART_NAME_TID + tid,
+ WarningCase.JOINABLE_LEAK.getType());
+ }
+ // FIXME add code for remove waning case
break;
case LogCenterConstants.THREAD_API_TYPE_INTERNAL_START:
Integer threadAttrTypeInt = threadAttrMap.get(pthreadId);
String threadAttrType;
int funcID;
-
+
if (null != threadAttrTypeInt) {
threadAttrType = getAttrTypeByTypeInt(threadAttrTypeInt);
} else {
threadAttrType = ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE;
}
// get thread function id for this pthread
- funcID = SymbolManager.getFuncId(null, threadFuncMap.get(pthreadId),
- input.getPid(), input.getTime());
-
- ThreadPageThreadData data = new ThreadPageThreadData(
- ThreadPageThreadData.TYPE_PTHREAD, pid, tid,
- threadAttrType, funcID);
+ funcID = SymbolManager.getFuncId(null, threadFuncMap.get(pthreadId), input.getPid(),
+ input.getTime());
+
+ ThreadPageThreadData data = new ThreadPageThreadData(ThreadPageThreadData.TYPE_PTHREAD,
+ pid, tid, threadAttrType, funcID);
pushRow(data);
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
LogCenterConstants.THREAD_TYPE_PTHREAD, apiType, time, tid,
ThreadPageLabels.THREAD_CHART_ITEM_CREATED, errorNum, input);
pushEvent(event);
private void parseTIZEN(ThreadData input) {
long time = input.getTime();
- String pid = Integer.toString(input.getPid());
+ String pid = Integer.toString(input.getPid());
String tid = Integer.toString(input.getTid());
int apiType = input.getApiType();
String apiName = input.getApiName();
ThreadPageThreadData data;
ThreadPageThreadDataEvent event;
long errorNum = input.getErrno();
-
+
if (errorNum != 0) {
SummaryDataManager.getInstance().getFailedApiDataMaker().makeData(input);
}
-
+
switch (apiType) {
case LogCenterConstants.THREAD_API_TYPE_NEW:
case LogCenterConstants.THREAD_API_TYPE_STOP:
case LogCenterConstants.THREAD_API_TYPE_EXIT:
case LogCenterConstants.THREAD_API_TYPE_WAIT_START:
case LogCenterConstants.THREAD_API_TYPE_OTHER:
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_API,
- LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
+ LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid, apiName, errorNum,
+ input);
pushEvent(event);
break;
case LogCenterConstants.THREAD_API_TYPE_START:
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_API,
- LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_API,
+ LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid, apiName, errorNum,
+ input);
event.setCallID(callID);
data = findCallQueue(callID);
pushCallEvent(event);
break;
case LogCenterConstants.THREAD_API_TYPE_WAIT_END:
- if (input.getApiName().equals(
- ThreadPageLabels.THREAD_API_TIZEN_JOIN)) {
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
- LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time,
- tid, apiName, errorNum, input);
+ if (input.getApiName().equals(ThreadPageLabels.THREAD_API_TIZEN_JOIN)) {
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
+ LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid, apiName,
+ errorNum, input);
pushEvent(event);
// join, delete warning
-// AnalyzerManager.getWarningChecker().removeData(
-// ThreadPageLabels.THREAD_CHART_NAME_TID
-// + findCallerTid(Long.toString(input
-// .getOspThreadId())),
-// WarningCase.JOINABLE_LEAK.getType());
- SummaryDataManager.getInstance().getWarningDataMaker().removeData(
- event.getContents(), ThreadPageLabels.THREAD_CHART_NAME_TID + findCallerTid(callID),
- WarningCase.JOINABLE_LEAK.getType());
+ // AnalyzerManager.getWarningChecker().removeData(
+ // ThreadPageLabels.THREAD_CHART_NAME_TID
+ // + findCallerTid(Long.toString(input
+ // .getOspThreadId())),
+ // WarningCase.JOINABLE_LEAK.getType());
+ SummaryDataManager
+ .getInstance()
+ .getWarningDataMaker()
+ .removeData(event.getContents(),
+ ThreadPageLabels.THREAD_CHART_NAME_TID + findCallerTid(callID),
+ WarningCase.JOINABLE_LEAK.getType());
} // FIXME : do not shows sleep's wait end
break;
case LogCenterConstants.THREAD_API_TYPE_INTERNAL_STOP:
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid,
ThreadPageLabels.THREAD_CHART_ITEM_EXITED, errorNum, input);
event.setCallID(Long.toString(input.getOspThreadId()));
pushCallEvent(event);
if (true == isJoinableThread(tid)) {
// warningData
-// WarningData wData = new WarningData(
-// WarningCase.JOINABLE_LEAK.getType(),
-// event.getContents(),
-// ThreadPageLabels.THREAD_CHART_NAME_TID + tid);
-// AnalyzerManager.getWarningChecker().getWarningData().add(wData);
- SummaryDataManager.getInstance().getWarningDataMaker().add(
- event.getContents(), ThreadPageLabels.THREAD_CHART_NAME_TID + tid,
- WarningCase.JOINABLE_LEAK.getType());
+ // WarningData wData = new WarningData(
+ // WarningCase.JOINABLE_LEAK.getType(),
+ // event.getContents(),
+ // ThreadPageLabels.THREAD_CHART_NAME_TID + tid);
+ // AnalyzerManager.getWarningChecker().getWarningData().add(wData);
+ SummaryDataManager
+ .getInstance()
+ .getWarningDataMaker()
+ .add(event.getContents(), ThreadPageLabels.THREAD_CHART_NAME_TID + tid,
+ WarningCase.JOINABLE_LEAK.getType());
}
break;
case LogCenterConstants.THREAD_API_TYPE_INTERNAL_START:
- data = new ThreadPageThreadData(
- ThreadPageThreadData.TYPE_TIZEN, pid, tid,
+ data = new ThreadPageThreadData(ThreadPageThreadData.TYPE_TIZEN, pid, tid,
ThreadPageLabels.THREAD_ATTR_TYPE_JOINABLE, -1);
// TIZEN thread includes the internal thread
if ((className = checkCalledThread(callID)) != null) {
- data.setThreadClassName(className);
- pushRow(data);
+ data.setThreadClassName(className);
+ pushRow(data);
} else {
pushCallRow(data);
}
- event = new ThreadPageThreadDataEvent(
- ThreadPageThreadDataEvent.TYPE_EVENT,
+ event = new ThreadPageThreadDataEvent(ThreadPageThreadDataEvent.TYPE_EVENT,
LogCenterConstants.THREAD_TYPE_TIZEN, apiType, time, tid,
ThreadPageLabels.THREAD_CHART_ITEM_CREATED, errorNum, input);
pushEvent(event);
}
private void parseAPI(LogPackage logPack) {
- List<LogData> inputs = getLogsFromLogPackage(logPack,
- DataChannelConstants.MSG_PROBE_THREAD);
+ List<LogData> inputs = getLogsFromLogPackage(logPack, DataChannelConstants.MSG_PROBE_THREAD);
int size;
if (null == inputs || 0 == (size = inputs.size())) {
return;
case LogCenterConstants.SYNC_TYPE_TIZEN_MUTEX:
case LogCenterConstants.SYNC_TYPE_TIZEN_MONITOR:
case LogCenterConstants.SYNC_TYPE_TIZEN_SEMAPHORE:
- event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName, errorNum,
+ input);
pushSyncEvent(event);
// parseTIZENSync(input, type);
break;
case LogCenterConstants.SYNC_TYPE_PTHREAD_MUTEX:
case LogCenterConstants.SYNC_TYPE_PTHREAD_COND_VARIABLE:
- if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_INIT)) {
- syncAttrMap.put(syncData.getArgs(),
- ThreadPageSyncDataManager.PTHREAD_MUTEX_NORMAL);
- } else if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_SETTYPE)) {
+ if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_INIT)) {
+ syncAttrMap.put(syncData.getArgs(), ThreadPageSyncDataManager.PTHREAD_MUTEX_NORMAL);
+ } else if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_SETTYPE)) {
checkMutexAttrType(syncData.getArgs());
} else {
- if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEX_INIT)) {
+ if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEX_INIT)) {
checkMutexType(syncData.getArgs());
}
- event = new ThreadPageSyncDataEvent(name, type, apiType, time,
- tid, apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName,
+ errorNum, input);
pushSyncEvent(event);
}
break;
case LogCenterConstants.SYNC_TYPE_PTHREAD_RWLOCK:
case LogCenterConstants.SYNC_TYPE_PTHREAD_SPINLOCK:
case LogCenterConstants.SYNC_TYPE_PTHREAD_BARRIER:
- event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid,
- apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName, errorNum,
+ input);
pushSyncEvent(event);
Logger.error("error : sync parse - type = " + type);
break;
}
private void parseSync(LogPackage logPack) {
- List<LogData> inputs = getLogsFromLogPackage(logPack,
- DataChannelConstants.MSG_PROBE_SYNC);
+ List<LogData> inputs = getLogsFromLogPackage(logPack, DataChannelConstants.MSG_PROBE_SYNC);
int size;
if (null == inputs || 0 == (size = inputs.size())) {
return;
case LogCenterConstants.SYNC_TYPE_TIZEN_MUTEX:
case LogCenterConstants.SYNC_TYPE_TIZEN_MONITOR:
case LogCenterConstants.SYNC_TYPE_TIZEN_SEMAPHORE:
- event = new ThreadPageSyncDataEvent(name, type, apiType, time,
- tid, apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName,
+ errorNum, input);
pushSyncEvent(event);
// parseTIZENSync(input, type);
break;
case LogCenterConstants.SYNC_TYPE_PTHREAD_MUTEX:
case LogCenterConstants.SYNC_TYPE_PTHREAD_COND_VARIABLE:
- if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_INIT)) {
- syncAttrMap.put(input.getArgs(),
- ThreadPageSyncDataManager.PTHREAD_MUTEX_NORMAL);
- } else if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_SETTYPE)) {
+ if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_INIT)) {
+ syncAttrMap
+ .put(input.getArgs(), ThreadPageSyncDataManager.PTHREAD_MUTEX_NORMAL);
+ } else if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEXATTR_SETTYPE)) {
checkMutexAttrType(input.getArgs());
} else {
- if (apiName
- .equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEX_INIT)) {
+ if (apiName.equals(ThreadPageLabels.SYNC_API_PTHREAD_MUTEX_INIT)) {
checkMutexType(input.getArgs());
}
- event = new ThreadPageSyncDataEvent(name, type, apiType,
- time, tid, apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName,
+ errorNum, input);
pushSyncEvent(event);
}
break;
case LogCenterConstants.SYNC_TYPE_PTHREAD_RWLOCK:
case LogCenterConstants.SYNC_TYPE_PTHREAD_SPINLOCK:
case LogCenterConstants.SYNC_TYPE_PTHREAD_BARRIER:
- event = new ThreadPageSyncDataEvent(name, type, apiType, time,
- tid, apiName, errorNum, input);
+ event = new ThreadPageSyncDataEvent(name, type, apiType, time, tid, apiName,
+ errorNum, input);
pushSyncEvent(event);
Logger.debug("sync parse - type = " + type);
break;
default:
- Logger.error("sync parse unknown - type = "
- + type);
+ Logger.error("sync parse unknown - type = " + type);
}
}
}
parseSync(logPack);
hasUpdate = true;
}
- // when INTERNAL_START log comes after START log,
- // this method finds matching START log (for TIZEN thread only)
+
+ // when INTERNAL_START log comes after START log,
+ // this method finds matching START log (for TIZEN thread only)
// return class name from the START log
private String checkCalledThread(String callId) {
if (null == callId) {
return null;
}
- private boolean isJoinableThreadFromQueue(List<ThreadPageThreadData> queue,
- String tid) {
+ private boolean isJoinableThreadFromQueue(List<ThreadPageThreadData> queue, String tid) {
int size;
size = queue.size();
for (int i = 0; i < size; i++) {
threadAttrMap.put(pthreadId, attrType);
}
}
+
// extract function address from arguments of thread create function,
- // (e.g. int pthread_create(pthread_t *, const pthread_attr_t *, void *(*)(void *), void *); )
- // put (pthreadId, function address) in the map
+ // (e.g. int pthread_create(pthread_t *, const pthread_attr_t *, void
+ // *(*)(void *), void *); )
+ // put (pthreadId, function address) in the map
private void checkThreadFunc(String args, String pthreadId) {
String[] temp = args.split(",");
if (temp.length != 4) {
// 3rd argument is function address
String strFuncAddr = temp[2].trim();
Long funcAddr = Long.decode(strFuncAddr);
-
+
threadFuncMap.put(pthreadId, funcAddr);
}
-
+
private void checkMutexAttrType(String input) {
String[] temp = input.split(",");
if (temp.length != 2) {
} else {
if (threadType == LogCenterConstants.THREAD_TYPE_TIZEN) {
String callerTizenID = callEvent.getCallID();
- String eventTizenID = Long.toString(tData
- .getOspThreadId());
+ String eventTizenID = Long.toString(tData.getOspThreadId());
if (eventTizenID.equals(callerTizenID)) {
event.setCallerTid(callEvent.getTid());
callEventQueue.remove(i);
}
} else {
String callerPthreadID = callEvent.getCallID();
- String eventPthreadID = Long.toString(tData
- .getPThreadId());
+ String eventPthreadID = Long.toString(tData.getPThreadId());
if (eventPthreadID.equals(callerPthreadID)) {
event.setCallerTid(callEvent.getTid());
callEventQueue.remove(i);
} else {
if (threadType == LogCenterConstants.THREAD_TYPE_TIZEN) {
String callerTizenID = callEvent.getCallID();
- String eventTizenID = Long.toString(tData
- .getOspThreadId());
+ String eventTizenID = Long.toString(tData.getOspThreadId());
if (eventTizenID.equals(callerTizenID)) {
event.setCallerTid(callEvent.getTid());
if (null == callEvent.getChartItem()) {
callEvent.setCallerTid(event.getTid());
} else {
// join, delete warning
- SummaryDataManager.getInstance().getWarningDataMaker().removeData(
- event.getContents(), ThreadPageLabels.THREAD_CHART_NAME_TID + callEvent.getTid(),
- WarningCase.JOINABLE_LEAK.getType());
-// AnalyzerManager.getWarningChecker().removeData(
-// ThreadPageLabels.THREAD_CHART_NAME_TID
-// + callEvent.getTid(),
-// WarningCase.JOINABLE_LEAK.getType());
- callEvent.getChartItem().setY(
- DAChartSeriesItem.SERIES_ARROW_RIGHT);
+ SummaryDataManager
+ .getInstance()
+ .getWarningDataMaker()
+ .removeData(
+ event.getContents(),
+ ThreadPageLabels.THREAD_CHART_NAME_TID
+ + callEvent.getTid(),
+ WarningCase.JOINABLE_LEAK.getType());
+ // AnalyzerManager.getWarningChecker().removeData(
+ // ThreadPageLabels.THREAD_CHART_NAME_TID
+ // + callEvent.getTid(),
+ // WarningCase.JOINABLE_LEAK.getType());
+ callEvent.getChartItem().setY(DAChartSeriesItem.SERIES_ARROW_RIGHT);
callEvent.getChartItem().setBarWidth(
Double.parseDouble(event.getTid()));
}
}
} else {
String callerPthreadID = callEvent.getCallID();
- String eventPthreadID = Long.toString(tData
- .getPThreadId());
+ String eventPthreadID = Long.toString(tData.getPThreadId());
if (eventPthreadID.equals(callerPthreadID)) {
event.setCallerTid(callEvent.getTid());
if (null == callEvent.getChartItem()) {
callEvent.setCallerTid(event.getTid());
} else {
- callEvent.getChartItem().setY(
- DAChartSeriesItem.SERIES_ARROW_RIGHT);
+ callEvent.getChartItem().setY(DAChartSeriesItem.SERIES_ARROW_RIGHT);
callEvent.getChartItem().setBarWidth(
Double.parseDouble(event.getTid()));
}
}
private void chartFilteringByPid() {
- if(null == board || null == board.getItemList()){
+ if (null == board || null == board.getItemList()) {
return;
}
int selectedPid = ToolbarArea.getInstance().getSelectedPid();
int parentSize = board.getItemList().getItemSize();
for (int i = 0; i < parentSize; i++) {
DAChartBoardItem parentItem = board.getItemList().get(i);
-/*
- int childSize = parentItem.getChildItemList().getItemSize();
- int hidedCount = 0;
- for (int j = 0; j < childSize; j++) {
- DAChartBoardItem childItem = parentItem.getChildItemList()
- .get(j);
- int itemPid = getItemPid(childItem);
- if (itemPid == selectedPid) {
- parentItem.getChildItemList().showItem(j);
- board.showItem(i);
- } else if (selectedPid == 0) {
- parentItem.getChildItemList().showItem(j);
- board.showItem(i);
- } else if (itemPid == -1) {
- board.showItem(i);
- } else {
- parentItem.getChildItemList().hideItem(j);
- hidedCount++;
- }
- }
- if (childSize == 0) {
- int itemPid = getItemPid(parentItem);
- if (itemPid == selectedPid) {
- board.showItem(i);
- } else if (selectedPid == 0) {
- board.showItem(i);
- } else if (itemPid == -1) {
- board.showItem(i);
- } else {
- board.hideItem(i);
- hidedCount++;
- }
- } else {
- if (childSize == hidedCount) {
- board.hideItem(i);
- }
- }
-*/
+ /*
+ * int childSize = parentItem.getChildItemList().getItemSize();
+ * int hidedCount = 0; for (int j = 0; j < childSize; j++) {
+ * DAChartBoardItem childItem = parentItem.getChildItemList()
+ * .get(j); int itemPid = getItemPid(childItem); if (itemPid ==
+ * selectedPid) { parentItem.getChildItemList().showItem(j);
+ * board.showItem(i); } else if (selectedPid == 0) {
+ * parentItem.getChildItemList().showItem(j); board.showItem(i);
+ * } else if (itemPid == -1) { board.showItem(i); } else {
+ * parentItem.getChildItemList().hideItem(j); hidedCount++; } }
+ * if (childSize == 0) { int itemPid = getItemPid(parentItem);
+ * if (itemPid == selectedPid) { board.showItem(i); } else if
+ * (selectedPid == 0) { board.showItem(i); } else if (itemPid ==
+ * -1) { board.showItem(i); } else { board.hideItem(i);
+ * hidedCount++; } } else { if (childSize == hidedCount) {
+ * board.hideItem(i); } }
+ */
int itemPid = getItemPid(parentItem);
if (itemPid == selectedPid) {
board.showItem(i);
board.showItem(i);
} else {
board.hideItem(i);
- }
+ }
}
}
preSelectionPid = selectedPid;
}
return pid;
}
-// TODO: syncDataManager has same method : move this method to proper class
+
+ // TODO: syncDataManager has same method : move this method to proper class
private int getSortObject(DAChartBoardItem item) {
Object sortObj = item.getSortObject();
if (sortObj instanceof Integer) {
return (Integer) sortObj;
} else { // should never go here
- return -1;
+ return -1;
}
}
-
+
public void checkUpdate() {
- if (false == hasUpdate &&
- preSelectionPid ==
- ToolbarArea.getInstance().getSelectedPid()) {
+ if (false == hasUpdate && preSelectionPid == ToolbarArea.getInstance().getSelectedPid()) {
return;
} else {
hasUpdate = false;
data = rowsQueue.get(0);
// sort chart items at each insertion
createBoardItem(data, new Comparator<DAChartBoardItem>() {
- public int compare(DAChartBoardItem item1,
- DAChartBoardItem item2) {
+ public int compare(DAChartBoardItem item1, DAChartBoardItem item2) {
return getSortObject(item1) - getSortObject(item2);
}
});
}
chartFilteringByPid();
-
+
size = eventQueue.size();
if (size > 0) {
ThreadPageThreadData data;
}
}
}
-
+
/* load ThreadPageSyncData when open trace */
size = syncQueue.size();
if (size > 0) {
data = findParentData(sync.getTid());
if (null != data) {
createSyncBoardItem(data, sync);
- data.pushSync(sync);
+ data.pushSync(sync);
data.setHasUpdate();
}
syncQueue.remove(0);
- }
+ }
}
-
+
size = syncEventQueue.size();
if (size > 0) {
ThreadPageThreadData data;
syncAttrType = ThreadPageSyncDataManager
.getAttrTypeByTypeInt(syncAttrTypeInt);
} else {
- syncAttrType = ThreadPageSyncDataManager
- .getAttrTypeString(event);
+ syncAttrType = ThreadPageSyncDataManager.getAttrTypeString(event);
}
- sync = new ThreadPageSyncData(event.getType(), syncVal, pid,
+ sync = new ThreadPageSyncData(event.getType(), syncVal, pid,
event.getTid(), syncAttrType, ThreadPageSyncData.THREAD_CHILD);
sync.setParentID(data.getThreadDataID());
// save to DB
SyncDataInserter.pushSyncData(sync);
- SyncDataInserter.startThread();
+ SyncDataInserter.startThread();
createSyncBoardItem(data, sync);
data.pushSync(sync);
}