/** Timeline Edit chart dialog **/\r
public static Color EDIT_CHART_DIALOG_UPPER = getColor("edit_chart_dialog_upper");//$NON-NLS-1$\r
public static Color EDIT_CHART_DIALOG_LOWER = getColor("edit_chart_dialog_lower");//$NON-NLS-1$\r
+ public static Color EDIT_CHART_TABLE_SEPARATE_COLOR = getColor("edit_chart_table_separate_color"); //$NON-NLS-1$\r
public static Color EDIT_CHART_BUTTON_NORMAL_COLOR_START = getColor("edit_chart_button_normal_color_start"); //$NON-NLS-1$\r
public static Color EDIT_CHART_BUTTON_NORMAL_COLOR_END = getColor("edit_chart_button_normal_color_end"); //$NON-NLS-1$\r
public static Color EDIT_CHART_BUTTON_HOVER_COLOR_START = getColor("edit_chart_button_hover_color_start"); //$NON-NLS-1$\r
// Add Chart\r
public static Color ADD_CHART_ENABLE_COLOR = getColor("add_chart_enable_color"); //$NON-NLS-1$\r
public static Color ADD_CHART_DISABLE_COLOR = getColor("add_chart_disable_color"); //$NON-NLS-1$\r
- public static Color ADD_CHART_ENABLE_TEXT_COLOR = getColor("add_chart_enable_text_color"); //$NON-NLS-1$\r
- public static Color ADD_CHART_DISABLE_TEXT_COLOR = getColor("add_chart_disable_text_color"); //$NON-NLS-1$\r
+ public static Color ADD_CHART_ENABLE_TITLE_COLOR = getColor("add_chart_enable_title_color"); //$NON-NLS-1$\r
+ public static Color ADD_CHART_DISABLE_TITLE_COLOR = getColor("add_chart_disable_title_color"); //$NON-NLS-1$\r
+ public static Color ADD_CHART_ENABLE_DESCRIPT_COLOR = getColor("add_chart_enable_descript_color"); //$NON-NLS-1$\r
+ public static Color ADD_CHART_DISABLE_DESCRIPT_COLOR = getColor("add_chart_disable_descript_color"); //$NON-NLS-1$\r
public static Color ADD_CHART_ENABLE_HOVER_COLOR = getColor("add_chart_enable_hover_color"); //$NON-NLS-1$ \r
public static Color ADD_CHART_DISABLE_HOVER_COLOR = getColor("add_chart_disable_hover_color"); //$NON-NLS-1$\r
public static Color ADD_CHART_DRAG_COLOR = getColor("add_chart_drag_color"); //$NON-NLS-1$\r
"edit_chart_item_name", resizeDefaultFont(9, 2));//$NON-NLS-1$\r
// Item SubName\r
public static final Font EDIT_CHART_DLG_ITEM_SUB_NAME = getFont(\r
- "edit_chart_item_sub_name", resizeDefaultFont(9, 2));//$NON-NLS-1$\r
+ "edit_chart_item_sub_name", resizeDefaultFont(8, 1));//$NON-NLS-1$\r
\r
// DA table header and header group font\r
public static final Font TABLE_HEADER_FONT = getFont(\r
public static final Image SCORE_9 = getPngImage("score_9"); //$NON-NLS-1$\r
\r
// Edit Chart\r
- public static final Image ADD_CHART_OFF = getPngImage("dialog_edit_chart_minus"); //$NON-NLS-1$\r
- public static final Image ADD_CHART_ON = getPngImage("dialog_edit_chart_plus"); //$NON-NLS-1$\r
+ public static final Image ADD_CHART_OFF = getPngImage("dialog_edit_chart_off"); //$NON-NLS-1$\r
+ public static final Image ADD_CHART_ON = getPngImage("dialog_edit_chart_on"); //$NON-NLS-1$\r
public static final Image ADD_CHART_CPU = getPngImage("edit_chart_icon_cpu"); //$NON-NLS-1$\r
public static final Image ADD_CHART_CPU_CORE = getPngImage("edit_chart_icon_cpu_core"); //$NON-NLS-1$\r
public static final Image ADD_CHART_CPU_FREQUENCY = getPngImage("edit_chart_icon_cpu_frequency"); //$NON-NLS-1$\r
setColor("dialg_sunken_2", new RGB(255, 255, 255));
setColor("edit_chart_dialog_upper", new RGB(232, 234, 235));
setColor("edit_chart_dialog_lower", new RGB(240, 240, 240));
+ setColor("edit_chart_table_separate_color", new RGB(136, 137, 138));
setColor("edit_chart_button_normal_color_start", new RGB(231, 231, 231)); //$NON-NLS-1$
setColor("edit_chart_button_normal_color_end", new RGB(177, 177, 177)); //$NON-NLS-1$
setColor("edit_chart_button_hover_color_start", new RGB(231, 231, 231)); //$NON-NLS-1$
setColor("profiling_graph_selection_color_end", new RGB(232, 73, 73)); //$NON-NLS-1$
// Add Chart
- setColor("add_chart_enable_color", new RGB(210, 246, 255)); //$NON-NLS-1$
+ setColor("add_chart_enable_color", new RGB(163, 243, 255)); //$NON-NLS-1$
setColor("add_chart_disable_color", new RGB(240, 240, 240)); //$NON-NLS-1$
- setColor("add_chart_enable_text_color", new RGB(0, 0, 0)); //$NON-NLS-1$
- setColor("add_chart_disable_text_color", new RGB(153, 153, 153)); //$NON-NLS-1$
- setColor("add_chart_enable_hover_color", new RGB(5, 73, 83)); //$NON-NLS-1$
- setColor("add_chart_disable_hover_color", new RGB(50, 185, 231)); //$NON-NLS-1$
+ setColor("add_chart_enable_title_color", new RGB(0, 0, 0)); //$NON-NLS-1$
+ setColor("add_chart_disable_title_color", new RGB(153, 153, 153)); //$NON-NLS-1$
+ setColor("add_chart_enable_descript_color", new RGB(0, 0, 0)); //$NON-NLS-1$
+ setColor("add_chart_disable_descript_color", new RGB(163, 163, 163)); //$NON-NLS-1$
+ setColor("add_chart_enable_hover_color", new RGB(122, 218, 233)); //$NON-NLS-1$
+ setColor("add_chart_disable_hover_color", new RGB(216, 216, 216)); //$NON-NLS-1$
setColor("add_chart_drag_color", new RGB(222, 222, 222)); //$NON-NLS-1$
/** Timeline chart **/
public static String CPU_CHART_SERIES_NAME_APP_LOAD;
public static String CPU_CHART_SERIES_NAME_TOTAL_LOAD;
public static String CPU_CHART_TITLE;
+ public static String CPU_CHART_DESCRIPTOR;
public static String CPU_CORE_CHART_SERIES_NAME_CORE;
public static String CPU_CORE_CHART_TITLE;
+ public static String CPU_CORE_CHART_DESCRIPTOR;
public static String CPU_FREQUENCY_CHART_FREQUENCY;
public static String CPU_FREQUENCY_CHART_TITLE;
+ public static String CPU_FREQUENCY_CHART_DESCRIPTOR;
public static String FILE_CHART_SERIES_NAME_FD_COUNT;
public static String FILE_CHART_SERIES_NAME_READ;
public static String HEAP_CHART_SERIES_NAME_TOTAL_ALLOCATION;
public static String HEAP_CHART_SERIES_NAME_APP_ALLOCATION;
public static String HEAP_CHART_TITLE;
+ public static String HEAP_CHART_DESCRIPTOR;
public static String PROCESS_MEMORY_CHART_PSS;
public static String PROCESS_MEMORY_CHART_RSS;
public static String PROCESS_MEMORY_CHART_VSS;
public static String PROCESS_MEMORY_CHART_TITLE;
+ public static String PROCESS_MEMORY_CHART_DESCRIPTOR;
public static String SYSTEM_MEMORY_CHART_SERIES_NAME_PROC_RESIDENT;
public static String SYSTEM_MEMORY_CHART_SERIES_NAME_SYSTEM;
public static String SYSTEM_MEMORY_CHART_SERIES_NAME_TOTAL;
public static String SYSTEM_MEMORY_CHART_TITLE;
+ public static String SYSTEM_MEMORY_CHART_DESCRIPTOR;
public static String SCREENSHOT_CHART_TITLE;
+ public static String SCREENSHOT_CHART_DESCRIPTOR;
public static String UI_EVENT_CHART_SERIES_NAME_KEY;
public static String UI_EVENT_CHART_SERIES_NAME_TOUCH;
public static String UI_EVENT_CHART_SERIES_NAME_GESTURE;
public static String UI_EVENT_CHART_SERIES_NAME_ORIENTATION;
public static String UI_EVENT_CHART_TITLE;
+ public static String UI_EVENT_CHART_DESCRIPTOR;
public static String DISK_IO_CHART_TITLE;
+ public static String DISK_IO_CHART_DESCRIPTOR;
public static String DISK_IO_CHART_SERIES_READ;
public static String DISK_IO_CHART_SERIES_WRITE;
public static String DISK_IO_CHART_SERIES_READ_SECTOR;
public static String DISK_IO_CHART_SERIES_WRITE_SECTOR;
public static String NETWORK_IO_CHART_TITLE;
+ public static String NETWORK_IO_CHART_DESCRIPTOR;
public static String NETWORK_IO_CHART_SERIES_SEND;
public static String NETWORK_IO_CHART_SERIES_RECEIVE;
public static String DEVICE_CHART_TITLE;
+ public static String DEVICE_CHART_DESCRIPTOR;
public static String DEVICE_CHART_SERIES_WIFI;
public static String DEVICE_CHART_SERIES_BLUETOOTH;
public static String DEVICE_CHART_SERIES_GPS;
public static String DEVICE_CHART_SERIES_CAMERA;
public static String ENERGY_CHART_TITLE;
+ public static String ENERGY_CHART_DESCRIPTOR;
public static String ENERGY_CHART_SERIES;
public static String TIMELINE_TICK_ADD;
CPU_CHART_SERIES_NAME_APP_LOAD=Application
CPU_CHART_SERIES_NAME_TOTAL_LOAD=Total CPU load
CPU_CHART_TITLE=CPU
+CPU_CHART_DESCRIPTOR=Shows CPU usage.
CPU_CORE_CHART_SERIES_NAME_CORE=Core
CPU_CORE_CHART_TITLE=CPU core
+CPU_CORE_CHART_DESCRIPTOR=Shows CPU core usage. Depending on the number \nof device cores, the number of lines on the chart varies.
CPU_FREQUENCY_CHART_FREQUENCY=CPU frequency
CPU_FREQUENCY_CHART_TITLE=CPU frequency
+CPU_FREQUENCY_CHART_DESCRIPTOR=Shows CPU frequency. In the Emulator, the frequency \nis always 0.
FILE_CHART_SERIES_NAME_FD_COUNT=FD Count
FILE_CHART_SERIES_NAME_READ=Read size
HEAP_CHART_SERIES_NAME_TOTAL_ALLOCATION=Total
HEAP_CHART_SERIES_NAME_APP_ALLOCATION=Application
HEAP_CHART_TITLE=Heap allocation
+HEAP_CHART_DESCRIPTOR=Shows heap memory allocation.
PROCESS_MEMORY_CHART_PSS=Proportional set size
PROCESS_MEMORY_CHART_RSS=Resident set size
PROCESS_MEMORY_CHART_VSS=Virtual set size
PROCESS_MEMORY_CHART_TITLE=Process Size
+PROCESS_MEMORY_CHART_DESCRIPTOR=Shows process memory usage. \nvirtual memory, resident memory, proportional memory.
SYSTEM_MEMORY_CHART_SERIES_NAME_PROC_RESIDENT=Process memory size
SYSTEM_MEMORY_CHART_SERIES_NAME_SYSTEM=System memory size
SYSTEM_MEMORY_CHART_SERIES_NAME_TOTAL=Total memory size
SYSTEM_MEMORY_CHART_TITLE=Memory
+SYSTEM_MEMORY_CHART_DESCRIPTOR=Shows system memory usage. \n
SCREENSHOT_CHART_TITLE=Screenshot
+SCREENSHOT_CHART_DESCRIPTOR=Shows screenshots. they can be taken only when \nthe Take snapshot button is enabled).
UI_EVENT_CHART_SERIES_NAME_KEY=Key
UI_EVENT_CHART_SERIES_NAME_TOUCH=Touch
UI_EVENT_CHART_SERIES_NAME_GESTURE=Gesture
UI_EVENT_CHART_SERIES_NAME_ORIENTATION=Orientation
UI_EVENT_CHART_TITLE=UI event
+UI_EVENT_CHART_DESCRIPTOR=Shows UI events that occur on the device.
DISK_IO_CHART_TITLE=Disk IO
+DISK_IO_CHART_DESCRIPTOR=Shows disk read/write bytes and number of sectors.
DISK_IO_CHART_SERIES_READ=Read Byte
DISK_IO_CHART_SERIES_WRITE=Write Byte
DISK_IO_CHART_SERIES_READ_SECTOR=Sector read count
DISK_IO_CHART_SERIES_WRITE_SECTOR=Sector write count
NETWORK_IO_CHART_TITLE=Network IO
+NETWORK_IO_CHART_DESCRIPTOR=Shows network send/receive bytes.
NETWORK_IO_CHART_SERIES_SEND=Send
NETWORK_IO_CHART_SERIES_RECEIVE=Receive
DEVICE_CHART_TITLE=Device
+DEVICE_CHART_DESCRIPTOR=Shows status of wifi, bluetooth, gps, dnet, camera\n on the device.
DEVICE_CHART_SERIES_WIFI=WIFI
DEVICE_CHART_SERIES_BLUETOOTH=Bluetooth
DEVICE_CHART_SERIES_GPS=GPS
DEVICE_CHART_SERIES_CAMERA=Camera
ENERGY_CHART_TITLE=Energy
+ENERGY_CHART_DESCRIPTOR=Shows power consumptions of Flash memory, CPU, LCD .
ENERGY_CHART_SERIES=Energy usage
TIMELINE_TICK_ADD=Add
chartType = TimelineConstants.CHART_TYPE_CPU;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.CPU_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.CPU_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_CPU;
- addIcon = ImageResources.ADD_CHART_CPU;
+ addIcon = ImageResources.CHART_CPU;
totalLoadSeries = new DAChartSeries(
TimelineChartLabels.CPU_CHART_SERIES_NAME_TOTAL_LOAD,
chartType = TimelineConstants.CHART_TYPE_CPU_CORE;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.CPU_CORE_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.CPU_CORE_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_CPU_CORE;
- addIcon = ImageResources.ADD_CHART_CPU_CORE;
+ addIcon = ImageResources.CHART_CPU_CORE;
}
@Override
chartType = TimelineConstants.CHART_TYPE_CPU_FREQUENCY;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.CPU_FREQUENCY_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.CPU_FREQUENCY_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_CPU_FREQUENCY;
- addIcon = ImageResources.ADD_CHART_CPU_FREQUENCY;
+ addIcon = ImageResources.CHART_CPU_FREQUENCY;
}
@Override
chartType = TimelineConstants.CHART_TYPE_DEVICE;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.DEVICE_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.DEVICE_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_DEVICE;
- addIcon = ImageResources.ADD_CHART_DEVICE;
+ addIcon = ImageResources.CHART_DEVICE;
wifiSeries = new DAChartSeries(
TimelineChartLabels.DEVICE_CHART_SERIES_WIFI,
chartType = TimelineConstants.CHART_TYPE_DISK_IO;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.DISK_IO_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.DISK_IO_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_DISK_IO;
addIcon = ImageResources.CHART_DISK_IO;
chartType = TimelineConstants.CHART_TYPE_ENERGY;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.ENERGY_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.ENERGY_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_ENERGY;
- addIcon = ImageResources.ADD_CHART_ENERGY;
+ addIcon = ImageResources.CHART_ENERGY;
DALogger.getInstance().check("This line was comment.(//FIXME)");
energyUsageSeries = new DAChartSeries(
chartType = TimelineConstants.CHART_TYPE_HEAP;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.HEAP_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.HEAP_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_HEAP;
- addIcon = ImageResources.ADD_CHART_HEAP;
+ addIcon = ImageResources.CHART_HEAP;
}
@Override
chartType = TimelineConstants.CHART_TYPE_NETWORK_IO;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.NETWORK_IO_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.NETWORK_IO_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_NETWORK_IO;
addIcon = ImageResources.CHART_NETWORK_IO;
chartType = TimelineConstants.CHART_TYPE_PROCESS_MEMORY;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.PROCESS_MEMORY_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.PROCESS_MEMORY_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_PROCESS_MEMORY;
- addIcon = ImageResources.ADD_CHART_PROCESS_MEMORY;
+ addIcon = ImageResources.CHART_PROCESS_MEMORY;
}
@Override
chartStyle = DAChart.CHART_STYLE_SCREENSHOT;
probeType = DataChannelConstants.MSG_PROBE_SCREENSHOT;
chartName = TimelineChartLabels.SCREENSHOT_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.SCREENSHOT_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_SCREENSHOT;
- addIcon = ImageResources.ADD_CHART_SCREENSHOT;
+ addIcon = ImageResources.CHART_SCREENSHOT;
screenshotSeries = new DAChartSeries(
TimelineChartLabels.SCREENSHOT_CHART_TITLE,
chartType = TimelineConstants.CHART_TYPE_SYSTEM_MEMORY;
probeType = DataChannelConstants.MSG_DATA_SYSTEM;
chartName = TimelineChartLabels.SYSTEM_MEMORY_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.SYSTEM_MEMORY_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_SYSTEM_MEMORY;
- addIcon = ImageResources.ADD_CHART_SYSTEM_MEMORY;
+ addIcon = ImageResources.CHART_SYSTEM_MEMORY;
processSeries = new DAChartSeries(
TimelineChartLabels.SYSTEM_MEMORY_CHART_SERIES_NAME_PROC_RESIDENT,
protected int chartStyle = DAChart.CHART_STYLE_NORMAL;
protected int probeType;
protected String chartName;
+ protected String chartDescriptor = "";
protected Image chartIcon;
protected Image addIcon;
protected DAPopupMenu popupMenu;
return chartName;
}
+ public String getChartDescriptor() {
+ return chartDescriptor;
+ }
+
public Image getChartIcon() {
return chartIcon;
}
chartStyle = DAChart.CHART_STYLE_MULTI;
probeType = DataChannelConstants.MSG_PROBE_UIEVENT;
chartName = TimelineChartLabels.UI_EVENT_CHART_TITLE;
+ chartDescriptor = TimelineChartLabels.UI_EVENT_CHART_DESCRIPTOR;
chartIcon = ImageResources.CHART_UI_EVENT;
- addIcon = ImageResources.ADD_CHART_UI_EVENT;
+ addIcon = ImageResources.CHART_UI_EVENT;
touchEventSeries = new DAChartSeries(
TimelineChartLabels.UI_EVENT_CHART_SERIES_NAME_TOUCH,
this.chartType = chartType;
this.chartName = chartName;
chartIcon = ImageResources.CHART_CUSTOM;
- addIcon = ImageResources.ADD_CHART_CUSTOM;
+ addIcon = ImageResources.CHART_CUSTOM;
tempSeriesList = new ArrayList<DAChartSeries>();
usedColor = new boolean[11];
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseMoveListener;
import org.eclipse.swt.events.MouseTrackAdapter;
import org.eclipse.swt.events.MouseTrackListener;
import org.eclipse.swt.events.PaintEvent;
public class TimelineEditItemsDialog extends DAMessageBox {
private final static int COLUMN_TITLE = 0;
private final static int COLUMN_TEXT = 1;
- private final static int TABLE_HEIGHT = 66;
- private final static int ENABLE_IMAGE_POINT_X = 412;
+ private final static int TABLE_HEIGHT = 65;
+ private final static int ENABLE_IMAGE_OFFSET_X = 5;
private final static int ENABLE_IMAGE_OFFSET_Y = 6;
private final static int TITLE_TEXT_POINT_X = 92;
- private final static int TITLE_TEXT_OFFSET_Y = 18;
+ private final static int TITLE_TEXT_OFFSET_Y = 17;
+ private final static int DESCRIPT_TEXT_OFFSET_Y = 39;
+ private final static int TITLE_COLUMN_WIDTH = 76;
+ private final static int TEXT_COLUMN_WIDTH = 345;
+ private final static int MULTILINE_MARGIN = 8;
private TableViewer chartTableViewer;
private TimelineChartManager chartManager = TimelineChartManager.getInstance();
data.right = new FormAttachment(100, 0);
editorContainer.setLayoutData(data);
editorContainer.setBackground(ColorResources.EDIT_CHART_DIALOG_UPPER);
- chartTableViewer = new TableViewer(editorContainer, SWT.MULTI
- | SWT.FULL_SELECTION);
+ chartTableViewer = new TableViewer(editorContainer, SWT.FULL_SELECTION | SWT.NO_FOCUS);
GridData tableGridData = new GridData(GridData.FILL_BOTH);
chartTableViewer.getTable().setLayoutData(tableGridData);
chartTableViewer.getTable().setLinesVisible(true);
+ chartTableViewer.getTable().setBackground(ColorResources.EDIT_CHART_TABLE_SEPARATE_COLOR);
- new TableColumn(chartTableViewer.getTable(), SWT.NONE).setWidth(76); // Column for Title image
- new TableColumn(chartTableViewer.getTable(), SWT.NONE).setWidth(345); // Column for Title text
+ new TableColumn(chartTableViewer.getTable(), SWT.NONE).setWidth(TITLE_COLUMN_WIDTH); // Column for Title image
+ new TableColumn(chartTableViewer.getTable(), SWT.NONE).setWidth(TEXT_COLUMN_WIDTH); // Column for Title text
final List<TimelineChart> chartList = chartManager.getChartList();
int chartListSize = chartList.size();
// setting data per table item
items[i] = new TableItem(chartTableViewer.getTable(), SWT.NONE, i);
items[i].setText(chartList.get(i).getChartName());
- items[i].setImage(chartList.get(i).getAddIcon());
items[i].setFont(FontResources.EDIT_CHART_DLG_ITEM_NAME);
TableItemData itemData = new TableItemData();
itemData.index = i;
itemData.chartType = chartList.get(i).getChartType();
itemData.titleImage = chartList.get(i).getAddIcon();
itemData.titleText = chartList.get(i).getChartName();
+ itemData.description = chartList.get(i).getChartDescriptor();
itemData.isEnabled = false;
itemData.isHovered = false;
String text = item.getText(event.index + 1);
Point size = event.gc.textExtent(text);
event.width = size.x;
- event.height = Math.max(event.height, size.y);
+ event.height = TABLE_HEIGHT - 1;
break;
}
case SWT.PaintItem: {
Color background = gc.getBackground();
// draw background color
if (itemData.isEnabled) {
- gc.setBackground(ColorResources.ADD_CHART_ENABLE_COLOR);
- gc.fillRectangle(0, rect.y, width, TABLE_HEIGHT);
if (itemData.isHovered) {
- gc.setForeground(ColorResources.ADD_CHART_ENABLE_HOVER_COLOR);
- gc.drawRectangle(0, rect.y, width-1, TABLE_HEIGHT - 1);
+ gc.setBackground(ColorResources.ADD_CHART_ENABLE_HOVER_COLOR);
+ } else {
+ gc.setBackground(ColorResources.ADD_CHART_ENABLE_COLOR);
}
- } else {
- gc.setBackground(ColorResources.ADD_CHART_DISABLE_COLOR);
gc.fillRectangle(0, rect.y, width, TABLE_HEIGHT);
+ } else {
if (itemData.isHovered) {
- gc.setForeground(ColorResources.ADD_CHART_DISABLE_HOVER_COLOR);
- gc.drawRectangle(0, rect.y, width-1, TABLE_HEIGHT - 1);
+ gc.setBackground(ColorResources.ADD_CHART_DISABLE_HOVER_COLOR);
+ } else {
+ gc.setBackground(ColorResources.ADD_CHART_DISABLE_COLOR);
}
+ gc.fillRectangle(0, rect.y, width, TABLE_HEIGHT);
}
- // draw stroke line during drag
+ // draw background during drag
if (itemData.isDrag) {
gc.setBackground(ColorResources.ADD_CHART_DRAG_COLOR);
gc.setAlpha(204);
event.detail &= ~SWT.SELECTED;
if (event.index == COLUMN_TITLE) { // draw column for title image
- gc.drawImage(itemData.titleImage, 0, event.y);
+ if (!itemData.isEnabled) {
+ gc.setAlpha(51);
+ }
+ gc.drawImage(itemData.titleImage, TITLE_COLUMN_WIDTH / 2 - itemData.titleImage.getBounds().width / 2,
+ event.y + TABLE_HEIGHT / 2 - itemData.titleImage.getBounds().height / 2);
} else if (event.index == COLUMN_TEXT) { // draw column for title text
Image statusImage = ImageResources.ADD_CHART_OFF;
- Color textColor = ColorResources.ADD_CHART_DISABLE_TEXT_COLOR;
+ Color titleColor = ColorResources.ADD_CHART_DISABLE_TITLE_COLOR;
+ Color descriptColor = ColorResources.ADD_CHART_DISABLE_DESCRIPT_COLOR;
if (itemData.isEnabled) {
statusImage = ImageResources.ADD_CHART_ON;
- textColor = ColorResources.ADD_CHART_ENABLE_TEXT_COLOR;
+ titleColor = ColorResources.ADD_CHART_ENABLE_TITLE_COLOR;
+ descriptColor = ColorResources.ADD_CHART_ENABLE_DESCRIPT_COLOR;
}
- gc.setForeground(textColor);
- gc.drawText(itemData.titleText, TITLE_TEXT_POINT_X, event.y + TITLE_TEXT_OFFSET_Y, true);
- gc.drawImage(statusImage, ENABLE_IMAGE_POINT_X, event.y + ENABLE_IMAGE_OFFSET_Y);
+ // draw title text
+ String[] temp = itemData.description.split("\n");
+ int title_point_y = TITLE_TEXT_OFFSET_Y;
+ int descript_point_y = DESCRIPT_TEXT_OFFSET_Y;
+ if (temp.length == 2) { // multi line, support 2 lines.
+ title_point_y = TITLE_TEXT_OFFSET_Y - MULTILINE_MARGIN;
+ descript_point_y = DESCRIPT_TEXT_OFFSET_Y - MULTILINE_MARGIN;
+ }
+ gc.setForeground(titleColor);
+ gc.setFont(FontResources.EDIT_CHART_DLG_ITEM_NAME);
+ gc.drawText(itemData.titleText, TITLE_TEXT_POINT_X, event.y + title_point_y, true);
+ // draw descriptor text
+ gc.setForeground(descriptColor);
+ gc.setFont(FontResources.EDIT_CHART_DLG_ITEM_SUB_NAME);
+ gc.drawText(itemData.description, TITLE_TEXT_POINT_X, event.y + descript_point_y, true);
+ // draw on/off image
+ gc.drawImage(statusImage, width - statusImage.getBounds().width - ENABLE_IMAGE_OFFSET_X,
+ event.y + ENABLE_IMAGE_OFFSET_Y);
// capture image for drag
Image itemImage = imageMap.get(itemData.chartType);
if (itemImage == null) {
chartTableViewer.getTable().addListener(SWT.EraseItem, paintListener);
chartTableViewer.getTable().addMouseListener(itemZoomMouseListener);
chartTableViewer.getTable().addMouseTrackListener(mouseTrackListener);
-
+ chartTableViewer.getTable().addMouseMoveListener(mouseMoveListener);
+
Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
DragSource source = new DragSource(chartTableViewer.getTable(),
DND.DROP_MOVE);
source.setTransfer(types);
source.addDragListener(new DragSourceAdapter() {
public void dragSetData(DragSourceEvent event) {
- DragSource ds = (DragSource) event.widget;
- Table table = (Table) ds.getControl();
- TableItem[] selection = table.getSelection();
- StringBuffer buff = new StringBuffer();
- for (int i = 0, n = selection.length; i < n; i++) {
- buff.append(selection[i].getText());
- }
- event.data = buff.toString();
-
- // chartChangeSatus = false;
+ TableItem sourceItem = findTableItem(event.x, event.y);
+ event.data = sourceItem.getText();
+ chartTableViewer.getTable().redraw();
}
@Override
public void dragStart(DragSourceEvent event) {
// set drag image. this image will be shown below of mouse pointer.
- DragSource ds = (DragSource) event.widget;
- Table table = (Table) ds.getControl();
- TableItem selection = table.getItem(new Point(event.x, event.y));
+ TableItem selection = findTableItem(event.x, event.y);
Image dropImage = imageMap.get(((TableItemData)selection.getData()).chartType);
- ((TableItemData)selection.getData()).isDrag = true;
+ ((TableItemData)selection.getData()).isDrag = true;
event.image = dropImage;
DragItemStartPlg = true;
chartTableViewer.getTable().redraw();
swapItemIndexA = chartTableViewer.getTable()
.getSelectionIndex();
DragItemStartPlg = false;
+ } else {
+ chartTableViewer.getTable().deselectAll();
}
-
if (event.detail == DND.DROP_DEFAULT) {
event.detail = (event.operations & DND.DROP_MOVE) != 0 ? DND.DROP_MOVE
: DND.DROP_NONE;
int selectItemIndex = table.getSelectionIndex();
TableItem[] chartTableItems = chartTableViewer.getTable().getItems();
TableItemData itemData = (TableItemData)chartTableItems[selectItemIndex].getData();
- itemData.isEnabled = !itemData.isEnabled; // toggle
+ itemData.isEnabled = !itemData.isEnabled; // toggle
+ table.deselectAll();
chartTableViewer.getTable().redraw();
}
};
private MouseTrackListener mouseTrackListener = new MouseTrackAdapter() {
@Override
- public void mouseHover(MouseEvent e) {
- TableItem targetItem = chartTableViewer.getTable().getItem(new Point(e.x, e.y));
-
+ public void mouseExit(MouseEvent e) {
TableItem[] items = chartTableViewer.getTable().getItems();
for (int i = 0; i < items.length; i++) {
- if (items[i] == targetItem) {
- ((TableItemData)items[i].getData()).isHovered = true;
- } else {
- ((TableItemData)items[i].getData()).isHovered = false;
- }
+ ((TableItemData)items[i].getData()).isHovered = false;
}
chartTableViewer.getTable().redraw();
}
-
+ };
+
+ private MouseMoveListener mouseMoveListener = new MouseMoveListener() {
@Override
- public void mouseExit(MouseEvent e) {
+ public void mouseMove(MouseEvent e) {
+ TableItem targetItem = findTableItem(e.x, e.y);
+
TableItem[] items = chartTableViewer.getTable().getItems();
for (int i = 0; i < items.length; i++) {
- ((TableItemData)items[i].getData()).isHovered = false;
+ if (items[i] == targetItem) {
+ ((TableItemData)items[i].getData()).isHovered = true;
+ } else {
+ ((TableItemData)items[i].getData()).isHovered = false;
+ }
}
chartTableViewer.getTable().redraw();
}
};
+ private TableItem findTableItem(int x, int y) {
+ return chartTableViewer.getTable().getItem(new Point(x, y));
+ }
+
private class TableItemData {
int index;
int chartType;
Image titleImage;
String titleText;
+ String description = "";
boolean isEnabled = false;
boolean isHovered = false;
boolean isDrag = false;