From: jungwook.ryu Date: Wed, 25 Jun 2014 08:47:26 +0000 (+0900) Subject: UI : Apply new design guide for Timeline Chart Edit dialog X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fcaa4183fa45883198df21f8c2f840ddf0622c3b;p=sdk%2Ftools%2Fdynamic-analyzer.git UI : Apply new design guide for Timeline Chart Edit dialog 1) improvement table item hover effect : simple stroke -> change background 2) remove table item selection marker(orange color) on Ubuntu. 3) add chart descriptor on second column. 4) adjust some position. Change-Id: I8222c0ab0d77bd9aa289e7bc8ccbf6a83e2ee548 Signed-off-by: jungwook.ryu --- diff --git a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ColorResources.java b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ColorResources.java index 82b0361..1d8ae03 100755 --- a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ColorResources.java +++ b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ColorResources.java @@ -72,6 +72,7 @@ public class ColorResources { /** Timeline Edit chart dialog **/ public static Color EDIT_CHART_DIALOG_UPPER = getColor("edit_chart_dialog_upper");//$NON-NLS-1$ public static Color EDIT_CHART_DIALOG_LOWER = getColor("edit_chart_dialog_lower");//$NON-NLS-1$ + public static Color EDIT_CHART_TABLE_SEPARATE_COLOR = getColor("edit_chart_table_separate_color"); //$NON-NLS-1$ public static Color EDIT_CHART_BUTTON_NORMAL_COLOR_START = getColor("edit_chart_button_normal_color_start"); //$NON-NLS-1$ public static Color EDIT_CHART_BUTTON_NORMAL_COLOR_END = getColor("edit_chart_button_normal_color_end"); //$NON-NLS-1$ public static Color EDIT_CHART_BUTTON_HOVER_COLOR_START = getColor("edit_chart_button_hover_color_start"); //$NON-NLS-1$ @@ -403,8 +404,10 @@ public class ColorResources { // Add Chart public static Color ADD_CHART_ENABLE_COLOR = getColor("add_chart_enable_color"); //$NON-NLS-1$ public static Color ADD_CHART_DISABLE_COLOR = getColor("add_chart_disable_color"); //$NON-NLS-1$ - public static Color ADD_CHART_ENABLE_TEXT_COLOR = getColor("add_chart_enable_text_color"); //$NON-NLS-1$ - public static Color ADD_CHART_DISABLE_TEXT_COLOR = getColor("add_chart_disable_text_color"); //$NON-NLS-1$ + public static Color ADD_CHART_ENABLE_TITLE_COLOR = getColor("add_chart_enable_title_color"); //$NON-NLS-1$ + public static Color ADD_CHART_DISABLE_TITLE_COLOR = getColor("add_chart_disable_title_color"); //$NON-NLS-1$ + public static Color ADD_CHART_ENABLE_DESCRIPT_COLOR = getColor("add_chart_enable_descript_color"); //$NON-NLS-1$ + public static Color ADD_CHART_DISABLE_DESCRIPT_COLOR = getColor("add_chart_disable_descript_color"); //$NON-NLS-1$ public static Color ADD_CHART_ENABLE_HOVER_COLOR = getColor("add_chart_enable_hover_color"); //$NON-NLS-1$ public static Color ADD_CHART_DISABLE_HOVER_COLOR = getColor("add_chart_disable_hover_color"); //$NON-NLS-1$ public static Color ADD_CHART_DRAG_COLOR = getColor("add_chart_drag_color"); //$NON-NLS-1$ diff --git a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/FontResources.java b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/FontResources.java index d701e24..0619d39 100644 --- a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/FontResources.java +++ b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/FontResources.java @@ -101,7 +101,7 @@ public class FontResources { "edit_chart_item_name", resizeDefaultFont(9, 2));//$NON-NLS-1$ // Item SubName public static final Font EDIT_CHART_DLG_ITEM_SUB_NAME = getFont( - "edit_chart_item_sub_name", resizeDefaultFont(9, 2));//$NON-NLS-1$ + "edit_chart_item_sub_name", resizeDefaultFont(8, 1));//$NON-NLS-1$ // DA table header and header group font public static final Font TABLE_HEADER_FONT = getFont( diff --git a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ImageResources.java b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ImageResources.java index 0033c07..e8544b3 100644 --- a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ImageResources.java +++ b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/resources/ImageResources.java @@ -346,8 +346,8 @@ public class ImageResources { public static final Image SCORE_9 = getPngImage("score_9"); //$NON-NLS-1$ // Edit Chart - public static final Image ADD_CHART_OFF = getPngImage("dialog_edit_chart_minus"); //$NON-NLS-1$ - public static final Image ADD_CHART_ON = getPngImage("dialog_edit_chart_plus"); //$NON-NLS-1$ + public static final Image ADD_CHART_OFF = getPngImage("dialog_edit_chart_off"); //$NON-NLS-1$ + public static final Image ADD_CHART_ON = getPngImage("dialog_edit_chart_on"); //$NON-NLS-1$ public static final Image ADD_CHART_CPU = getPngImage("edit_chart_icon_cpu"); //$NON-NLS-1$ public static final Image ADD_CHART_CPU_CORE = getPngImage("edit_chart_icon_cpu_core"); //$NON-NLS-1$ public static final Image ADD_CHART_CPU_FREQUENCY = getPngImage("edit_chart_icon_cpu_frequency"); //$NON-NLS-1$ diff --git a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java index 9cde936..d921879 100644 --- a/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java +++ b/org.tizen.dynamicanalyzer.appearance/src/org/tizen/dynamicanalyzer/theme/DAThemeWhite.java @@ -76,6 +76,7 @@ public class DAThemeWhite extends DATheme { 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$ @@ -406,12 +407,14 @@ public class DAThemeWhite extends DATheme { 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 **/ diff --git a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_minus.png b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_minus.png deleted file mode 100644 index f303d2a..0000000 Binary files a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_minus.png and /dev/null differ diff --git a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_off.png b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_off.png index 3f901d3..b6d196a 100644 Binary files a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_off.png and b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_off.png differ diff --git a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_on.png b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_on.png index 0945da5..c479da4 100644 Binary files a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_on.png and b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_on.png differ diff --git a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_plus.png b/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_plus.png deleted file mode 100644 index cbaa872..0000000 Binary files a/org.tizen.dynamicanalyzer.appearance/theme/white/img/dialog_edit_chart_plus.png and /dev/null differ diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.java index 4edb31c..3a0fea6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.java @@ -34,12 +34,15 @@ public class TimelineChartLabels extends NLS { 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; @@ -49,36 +52,44 @@ public class TimelineChartLabels extends NLS { 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; @@ -86,6 +97,7 @@ public class TimelineChartLabels extends NLS { 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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.properties b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.properties index ffd17fb..dd5c869 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.properties +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/nl/TimelineChartLabels.properties @@ -9,12 +9,15 @@ 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 @@ -24,36 +27,44 @@ FILE_CHART_TITLE=File 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 @@ -61,6 +72,7 @@ DEVICE_CHART_SERIES_DNET=DNet 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java index 9cf6483..a9eceb5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUChart.java @@ -83,8 +83,9 @@ public class CPUChart extends TimelineChart { 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, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java index 777cb27..2e936e6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUCoreChart.java @@ -67,8 +67,9 @@ public class CPUCoreChart extends TimelineChart { 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java index 2e51432..dcd9732 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/CPUFrequencyChart.java @@ -67,8 +67,9 @@ public class CPUFrequencyChart extends TimelineChart { 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DeviceChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DeviceChart.java index 10e0bfe..77c0c82 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DeviceChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DeviceChart.java @@ -87,8 +87,9 @@ public class DeviceChart extends TimelineChart { 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, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java index 545666b..dbf38f3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/DiskIOChart.java @@ -70,6 +70,7 @@ public class DiskIOChart extends TimelineChart { 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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/EnergyChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/EnergyChart.java index 5b01869..d27b553 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/EnergyChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/EnergyChart.java @@ -76,8 +76,9 @@ public class EnergyChart extends TimelineChart { 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( diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java index 815b596..19bee5f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/HeapChart.java @@ -94,8 +94,9 @@ public class HeapChart extends TimelineChart { 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java index d1762f7..f37eab3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/NetworkIOChart.java @@ -64,6 +64,7 @@ public class NetworkIOChart extends TimelineChart { 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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java index 4ede977..ccc979d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ProcessMemoryChart.java @@ -100,8 +100,9 @@ public class ProcessMemoryChart extends TimelineChart { 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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java index 16f4d54..d7f166c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/ScreenshotChart.java @@ -64,8 +64,9 @@ public class ScreenshotChart extends TimelineChart { 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, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java index 5264aec..7fc9c0d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/SystemMemoryChart.java @@ -68,8 +68,9 @@ public class SystemMemoryChart extends TimelineChart { 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, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/TimelineChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/TimelineChart.java index 867e0e6..438c2e4 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/TimelineChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/TimelineChart.java @@ -54,6 +54,7 @@ public abstract class TimelineChart { 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; @@ -140,6 +141,10 @@ public abstract class TimelineChart { return chartName; } + public String getChartDescriptor() { + return chartDescriptor; + } + public Image getChartIcon() { return chartIcon; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java index a7b7b29..f67aef5 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UIEventChart.java @@ -84,8 +84,9 @@ public class UIEventChart extends TimelineChart { 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, diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java index 26349e6..bbbfada 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/chart/UserCustomChart.java @@ -44,7 +44,7 @@ public class UserCustomChart extends TimelineChart { this.chartType = chartType; this.chartName = chartName; chartIcon = ImageResources.CHART_CUSTOM; - addIcon = ImageResources.ADD_CHART_CUSTOM; + addIcon = ImageResources.CHART_CUSTOM; tempSeriesList = new ArrayList(); usedColor = new boolean[11]; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineEditItemsDialog.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineEditItemsDialog.java index 4b5a968..b344bdd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineEditItemsDialog.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineEditItemsDialog.java @@ -45,6 +45,7 @@ import org.eclipse.swt.dnd.Transfer; 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; @@ -89,11 +90,15 @@ import org.tizen.dynamicanalyzer.widgets.da.base.DAMessageBox; 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(); @@ -202,14 +207,14 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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 chartList = chartManager.getChartList(); int chartListSize = chartList.size(); @@ -221,13 +226,13 @@ public class TimelineEditItemsDialog extends DAMessageBox { // 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; @@ -249,7 +254,7 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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: { @@ -265,21 +270,21 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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); @@ -290,17 +295,38 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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) { @@ -325,33 +351,25 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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(); @@ -367,8 +385,9 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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; @@ -489,42 +508,50 @@ public class TimelineEditItemsDialog extends DAMessageBox { 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;