From: sanghyunnim.lee Date: Fri, 17 Aug 2012 10:30:36 +0000 (+0900) Subject: [Title] Timeline refactoring 0.0.1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5cdcbe9f553418d9ad2cc5306dbda598d760a9c4;p=sdk%2Ftools%2Fdynamic-analyzer.git [Title] Timeline refactoring 0.0.1 [Type] [Module] [Priority] [CQ#] [Redmine#] [Problem] [Cause] [Solution] [TestCase] --- diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ImageResources.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ImageResources.java index e4191d5..3e4014e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ImageResources.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ImageResources.java @@ -169,15 +169,15 @@ public class ImageResources { public static final Image DYNANMIC_ANALYZER_ICON = getPngImage("64_DA_icon"); //$NON-NLS-1$ /* Timeline */ - public static final Image CPU = getPngImage("time_line_icon_cpu"); //$NON-NLS-1$ - public static final Image CPU_CORE = getPngImage("time_line_icon_cpu_core"); //$NON-NLS-1$ - public static final Image CPU_FREQUENCY = getPngImage("time_line_icon_cpu_frequency"); //$NON-NLS-1$ + public static final Image CHART_CPU = getPngImage("time_line_icon_cpu"); //$NON-NLS-1$ + public static final Image CHART_CPU_CORE = getPngImage("time_line_icon_cpu_core"); //$NON-NLS-1$ + public static final Image CHART_CPU_FREQUENCY = getPngImage("time_line_icon_cpu_frequency"); //$NON-NLS-1$ + public static final Image CHART_HEAP = getPngImage("time_line_icon_memory_allocation"); //$NON-NLS-1$ + public static final Image CHART_PROCESS_MEMORY = getPngImage("time_line_icon_memory_process"); //$NON-NLS-1$ + public static final Image CHART_SYSTEM_MEMORY = getPngImage("time_line_icon_memory_system"); //$NON-NLS-1$ + public static final Image CHART_FILE = getPngImage("time_line_icon_read_write"); //$NON-NLS-1$ public static final Image FD_USAGE = getPngImage("time_line_icon_fd_usage"); //$NON-NLS-1$ public static final Image MEMORY = getPngImage("time_line_icon_memory"); //$NON-NLS-1$ - public static final Image PROCESS_MEMORY = getPngImage("time_line_icon_memory_process"); //$NON-NLS-1$ - public static final Image SYSTEM_MEMORY = getPngImage("time_line_icon_memory_system"); //$NON-NLS-1$ - public static final Image MEMORY_ALLOC = getPngImage("time_line_icon_memory_allocation"); //$NON-NLS-1$ - public static final Image FILE = getPngImage("time_line_icon_read_write"); //$NON-NLS-1$ public static final Image SNAPSHOT = getPngImage("time_line_icon_snapshot"); //$NON-NLS-1$ public static final Image ADD_ITEMS_NORMAL = getPngImage("add_chart_nor"); //$NON-NLS-1$ public static final Image ADD_ITEMS_PUSH = getPngImage("add_chart_push"); //$NON-NLS-1$ @@ -190,7 +190,7 @@ public class ImageResources { public static final Image TIMLINE_SIZE_MIN_HOVER = getPngImage("time_line_size_min_hover"); //$NON-NLS-1$ public static final Image TIMLINE_SIZE_MIN_PUSH = getPngImage("time_line_size_min_push"); //$NON-NLS-1$ public static final Image ENERGY = getPngImage("time_line_icon_electric_current"); //$NON-NLS-1$ - public static final Image DEVICES = getPngImage("time_line_icon_devices"); //$NON-NLS-1$ + public static final Image CHART_DEVICES = getPngImage("time_line_icon_devices"); //$NON-NLS-1$ public static final Image UI_EVENT = getPngImage("time_line_icon_UI_events"); //$NON-NLS-1$ /* Resource */ @@ -251,13 +251,12 @@ public class ImageResources { public static final Image ADD_CHART_ON = getPngImage("dialog_edit_chart_plus"); //$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_MEMORY_HEAP = getPngImage("edit_chart_icon_memory_allocation (2)"); //$NON-NLS-1$ - public static final Image ADD_CHART_MEMORY_PROCESS = getPngImage("edit_chart_icon_memory_process"); //$NON-NLS-1$ - public static final Image ADD_CHART_MEMORY_ALLOCATION = getPngImage("edit_chart_icon_memory_allocation"); //$NON-NLS-1$ + public static final Image ADD_CHART_PROCESS_MEMORY = getPngImage("edit_chart_icon_memory_process"); //$NON-NLS-1$ + public static final Image ADD_CHART_HEAP = getPngImage("edit_chart_icon_memory_allocation"); //$NON-NLS-1$ public static final Image ADD_CHART_UI_EVENT = getPngImage("edit_chart_icon_UI_events"); //$NON-NLS-1$ - public static final Image ADD_CHART_READ_WRITE = getPngImage("edit_chart_icon_read_write"); //$NON-NLS-1$ + public static final Image ADD_CHART_FILE = getPngImage("edit_chart_icon_read_write"); //$NON-NLS-1$ public static final Image ADD_CHART_CPU_FREQUENCY = getPngImage("edit_chart_icon_cpu_frequency"); //$NON-NLS-1$ - public static final Image ADD_CHART_MEMORY_SYSTEM = getPngImage("edit_chart_icon_memory_system"); //$NON-NLS-1$ + public static final Image ADD_CHART_SYSTEM_MEMORY = getPngImage("edit_chart_icon_memory_system"); //$NON-NLS-1$ public static final Image ADD_CHART_DEVICE = getPngImage("edit_chart_icon_devices"); //$NON-NLS-1$ public static final Image ADD_CHART_ELECTRIC_CURRENT = getPngImage("edit_chart_icon_electric_current"); //$NON-NLS-1$ public static final Image ADD_CHART_FD_USAGE = getPngImage("edit_chart_icon_fd_usage"); //$NON-NLS-1$ diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/constants/TimelineConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/constants/TimelineConstants.java index 8967d55..14acdb7 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/constants/TimelineConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/constants/TimelineConstants.java @@ -23,10 +23,6 @@ public class TimelineConstants { public static final int CHART_TYPE_SYSTEM_MEMORY = 22; public static final int CHART_TYPE_FILE = 3; - public static final int CHART_TYPE_DEVICE = 20; - public static final int CHART_TYPE_ENERGY = 21; - public static final int CHART_TYPE_SNAPSHOT = 19; - public static final int FD_TYPE_FILE = 0; public static final int FD_TYPE_SOCKET = 1; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/CustomLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/CustomLogParser.java index b1f8dc2..c0af07c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/CustomLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/CustomLogParser.java @@ -19,7 +19,6 @@ package org.tizen.dynamicanalyzer.timeline; -import java.util.HashMap; import java.util.List; import org.tizen.dynamicanalyzer.constants.LogCenterConstants; @@ -34,8 +33,7 @@ public class CustomLogParser { private static final String API_NAME_DA_MARK = "da_mark"; //$NON-NLS-1$ private static final String API_NAME_TIMER_THREAD = "timerThread"; //$NON-NLS-1$ - private static HashMap chartMap; - + private static TimelineChartManager chartManager = TimelineChartManager.getInstance(); public static void parsingLogPackage(LogPackage logPack) { if(!isAbleToParse(logPack, LogCenterConstants.LOG_CUSTOM)) { @@ -55,15 +53,9 @@ public class CustomLogParser { if(apiName.equals(API_NAME_CREATE_CHART)) { int chartHandle = Integer.parseInt(log.get(LogCenterConstants.CUSTOM_HANDLE)); String chartName = log.get(LogCenterConstants.CUSTOM_TEXT); - if(chartMap.containsKey(chartHandle)) { - // ignore - } else { - UserCustomChart customChart = new UserCustomChart(chartHandle, chartName); - chartMap.put(chartHandle, customChart); - TimelineItemsProvider.getInstance().addCustomChart(customChart); + chartManager.addCustomChart(new UserCustomChart(chartHandle, chartName)); } } - } private static boolean isAbleToParse(LogPackage logPack, int probeType) { Logs logList = logPack.getLogs(probeType); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineChartManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineChartManager.java index f87e520..224d4e8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineChartManager.java @@ -20,11 +20,13 @@ package org.tizen.dynamicanalyzer.timeline; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import org.eclipse.swt.widgets.Composite; import org.jfree.chart.JFreeChart; import org.jfree.data.xy.XYSeries; +import org.tizen.dynamicanalyzer.ConfigureManager; import org.tizen.dynamicanalyzer.constants.TimelineConstants; import org.tizen.dynamicanalyzer.timeline.chart.CPUChart; import org.tizen.dynamicanalyzer.timeline.chart.CPUCoreChart; @@ -42,12 +44,15 @@ import org.tizen.dynamicanalyzer.timeline.chart.HeapChart; import org.tizen.dynamicanalyzer.timeline.chart.ProcessMemoryChart; import org.tizen.dynamicanalyzer.timeline.chart.SystemMemoryChart; import org.tizen.dynamicanalyzer.timeline.chart.TimelineChart; +import org.tizen.dynamicanalyzer.timeline.chart.UserCustomChart; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChart; public class TimelineChartManager { private static TimelineChartManager instance = null; private List chartList; + private List selectedChartList; + private HashMap customChartMap; public static TimelineChartManager getInstance() { if(instance == null) { @@ -58,11 +63,79 @@ public class TimelineChartManager { private TimelineChartManager() { chartList = new ArrayList(); + selectedChartList = new ArrayList(); + customChartMap = new HashMap(); + + loadSavedChartList(); + TimelineItemSettingProvider.initTimelineItemsSetting(chartList); + loadSelectedChartList(); + } + + private void loadSavedChartList() { + String savedChartNameList = ConfigureManager.getInstance().getValue(ConfigureManager.CONFIGUREMANAGER_CHART_AVAILABLE_ITEM_LIST); + String[] chartNameList = savedChartNameList.split(","); //$NON-NLS-1$ + int size = chartNameList.length; + + if (size > 1) { + for (int i = 0; i < size; i++) { + chartList.add(getChartInstance(chartNameList[i])); + } + } else { + if(TimelineItemManager.bCustomChart) { + chartList.add(DACPUChart.getInstance()); + chartList.add(DACPUCoreChart.getInstance()); + chartList.add(DACPUFrequencyChart.getInstance()); + chartList.add(DAHeapChart.getInstance()); + chartList.add(DAProcessMemoryChart.getInstance()); + chartList.add(DASystemMemoryChart.getInstance()); + chartList.add(DAFileChart.getInstance()); + } else { + chartList.add(CPUChart.getInstance()); + chartList.add(CPUCoreChart.getInstance()); + chartList.add(CPUFrequencyChart.getInstance()); + chartList.add(HeapChart.getInstance()); + chartList.add(ProcessMemoryChart.getInstance()); + chartList.add(SystemMemoryChart.getInstance()); + chartList.add(FileChart.getInstance()); + } + } + } + + private void loadSelectedChartList() { + String strSaveSelectedItems = ConfigureManager.getInstance().getValue(ConfigureManager.CONFIGUREMANAGER_CHART_SELECTED_ITEM_LIST); + if (strSaveSelectedItems.equalsIgnoreCase("")) { + selectedChartList.addAll(chartList); + } else { + String[] savedSelectedChartNameList = strSaveSelectedItems.split(","); //$NON-NLS-1$ + int size = savedSelectedChartNameList.length; + if (size != 0) { + for (int i = 0; i < size; i++) { + selectedChartList.add(getChartInstance(savedSelectedChartNameList[i])); + } + } + } + } + + public void setChartList(List chartList) { + this.chartList.clear(); + this.chartList.addAll(chartList); } + public void setSelectedChartList(List chartList) { + this.selectedChartList.clear(); + this.selectedChartList.addAll(chartList); + } + + public List getChartList() { + return chartList; + } + + public List getSelectedChartList() { + return selectedChartList; + } + public JFreeChart createTimelineChart(int chartType) { TimelineChart chart = getChartInstance(chartType); - chartList.add(chart); return chart.createChart(); } @@ -74,7 +147,6 @@ public class TimelineChartManager { if(timelineChart != null) { chart = timelineChart.createDAChart(parent); } - chartList.add(timelineChart); return chart; } @@ -106,7 +178,11 @@ public class TimelineChartManager { } public TimelineChart getChartInstance(String chartName) { - return getChartInstance(getChartType(chartName)); + if(TimelineItemManager.bCustomChart) { + return getDAChartInstance(getChartType(chartName)); + } else { + return getChartInstance(getChartType(chartName)); + } } public TimelineChart getChartInstance(int chartType) { @@ -125,6 +201,8 @@ public class TimelineChartManager { return SystemMemoryChart.getInstance(); case TimelineConstants.CHART_TYPE_FILE: return FileChart.getInstance(); + default: + //FIXME custom } return null; } @@ -145,10 +223,20 @@ public class TimelineChartManager { return DASystemMemoryChart.getInstance(); case TimelineConstants.CHART_TYPE_FILE: return DAFileChart.getInstance(); + default: + //FIMXE coustom } return null; } + + public void addCustomChart(UserCustomChart customChart) { + int chartType = customChart.getChartType(); + if(!customChartMap.containsKey(chartType)) { + customChartMap.put(chartType, customChart); + chartList.add(customChart); + } + } public List getChartSeriesList(int chartType) { return getChartInstance(chartType).getBaseSeriesList(); @@ -173,7 +261,12 @@ public class TimelineChartManager { public void setAllChartDoaminAxisRange(double start, double end) { int chartListSize = chartList.size(); for (int i = 0; i < chartListSize; i++) { - chartList.get(i).setDomainAxisRange(start, end); + //FIXME + if(TimelineItemManager.bCustomChart) { + chartList.get(i).setDomainAxisRange(start, end); + } else { + chartList.get(i).setDomainAxisRange(start, end); + } } } @@ -186,6 +279,12 @@ public class TimelineChartManager { for (int i = 0; i < listSize; i++) { chartList.get(i).clear(); } + + chartList.clear(); + selectedChartList.clear(); + loadSavedChartList(); + loadSelectedChartList(); + customChartMap.clear(); } public void dispose() { @@ -199,6 +298,10 @@ public class TimelineChartManager { } } - chartList.clear(); +// chartList.clear(); +// selectedChartList.clear(); +// loadSavedChartList(); +// loadSelectedChartList(); +// customChartMap.clear(); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineComposite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineComposite.java index 75fd381..87857dd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineComposite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineComposite.java @@ -37,7 +37,6 @@ import org.tizen.dynamicanalyzer.model.DAView; import org.tizen.dynamicanalyzer.model.LogPackage; import org.tizen.dynamicanalyzer.model.Logs; import org.tizen.dynamicanalyzer.model.SnapshotData; -import org.tizen.dynamicanalyzer.timeline.chart.DACPUChart; import org.tizen.dynamicanalyzer.timeline.chart.DATimelineChart; import org.tizen.dynamicanalyzer.timeline.chart.TimelineChart; import org.tizen.dynamicanalyzer.ui.views.CoolbarArea; @@ -46,7 +45,6 @@ import org.tizen.dynamicanalyzer.utils.TimelineUtils; public class TimelineComposite extends DAView { public static final String ID = TimelineComposite.class.getName(); - private String activedItemName; // for resizing private TimelineComposite baseShellComp; private Composite timeAndMenuComp; @@ -56,9 +54,9 @@ public class TimelineComposite extends DAView { private TimelineTick timelineTick; private TimelineRangeSelector timelineRangeSelector; - private TimelineItemManager timelineItemManager; - private TimelineItemsProvider timelineItemsProvider; - + private TimelineItemManager timelineItemManager = TimelineItemManager.getInstance(); + private TimelineChartManager chartManager = TimelineChartManager.getInstance(); + private Listener compositeResizeListener = new Listener() { @Override public void handleEvent(Event event) { @@ -66,7 +64,6 @@ public class TimelineComposite extends DAView { return; } resizeBaseAreaHeight(); - setActivateItem(activedItemName); } }; @@ -74,8 +71,6 @@ public class TimelineComposite extends DAView { super(parent, style); timelineRangeSelector = new TimelineRangeSelector(); - timelineItemManager = new TimelineItemManager(); - timelineItemsProvider = TimelineItemsProvider.getInstance(); timelineTick = new TimelineTick(); baseShellComp = (TimelineComposite) createBaseComp(this); @@ -102,13 +97,8 @@ public class TimelineComposite extends DAView { } - public void setActivateItem(String itemID) { - timelineItemManager.setActivateItem(itemID); - activedItemName = itemID; - } - - public void resetItems(List selectedChartList) { - timelineItemManager.resetItems(selectedChartList); + public void resetItems() { + timelineItemManager.resetItems(); ScrolledComposite sc = (ScrolledComposite) itemsAreaComp.getParent(); sc.setContent(itemsAreaComp); sc.setExpandHorizontal(true); @@ -207,7 +197,7 @@ public class TimelineComposite extends DAView { scrolledComp.setExpandVertical(true); scrolledComp.setAlwaysShowScrollBars(true); - resetItems(timelineItemsProvider.getSelectedChartList()); + resetItems(); return scrolledComp; } @@ -217,20 +207,17 @@ public class TimelineComposite extends DAView { return; } - List zoomedItemTypeList = TimelineItemSettingProvider - .getZoomedItemList(); + List zoomedItemTypeList = TimelineItemSettingProvider.getZoomedItemList(); int zoomedItemNum = 0; if (null != zoomedItemTypeList) { zoomedItemNum = zoomedItemTypeList.size(); } - int defItemNum = timelineItemsProvider.getSelectedChartList().size() - zoomedItemNum; + int selectedChartSize = chartManager.getSelectedChartList().size() - zoomedItemNum; - int defItemsHeight = defItemNum - * TimelineItemSettingProvider.getDefaultSizeMode(); - int zoomedItemsHeight = zoomedItemNum - * TimelineConstants.ITEM_HEIGHT_MAX; + int defItemsHeight = selectedChartSize * TimelineItemSettingProvider.getDefaultSizeMode(); + int zoomedItemsHeight = zoomedItemNum * TimelineConstants.ITEM_HEIGHT_MAX; itemsAreaScrolledComp.setMinHeight(defItemsHeight + zoomedItemsHeight); timelineItemManager.resizeItems(); @@ -297,16 +284,8 @@ public class TimelineComposite extends DAView { } } } -// if (null != logList && null != logList.getLogs() && 0 <= logList.getLogs().size()) { -// List> deviceLogs = logList.getLogs(); -// for (List deviceLog : deviceLogs) { -// if (null == deviceLog || 0 > deviceLog.size()) { -// return; -// } -// } -// } - - List chartList = timelineItemsProvider.getChartList(); + + List chartList = chartManager.getChartList(); //FIXME chart manager for (int i = 0; i < chartList.size(); i++) { @@ -330,7 +309,7 @@ public class TimelineComposite extends DAView { @Override public void clear() { TimelineMaster timelineMaster = TimelineMaster.getInstance(); - timelineItemManager.clear(); + chartManager.clear(); timelineRangeSelector.clear(); timelineTick.clear(); timelineMaster.clearSelectionMarker(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineEditItemsDialog.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineEditItemsDialog.java index 1e725ff..fdbb403 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineEditItemsDialog.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineEditItemsDialog.java @@ -58,8 +58,8 @@ import org.tizen.dynamicanalyzer.ColorResources; import org.tizen.dynamicanalyzer.ConfigureManager; import org.tizen.dynamicanalyzer.FontResources; import org.tizen.dynamicanalyzer.ImageResources; -import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.timeline.chart.TimelineChart; +import org.tizen.dynamicanalyzer.timeline.chart.UserCustomChart; import org.tizen.dynamicanalyzer.ui.widgets.DAButton; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; @@ -68,11 +68,9 @@ import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener public class TimelineEditItemsDialog extends Dialog { private Shell parent = null; private Shell shell = null; - private List selectedChartList; private TableViewer chartTableViewer; private boolean chartChangeSatus = true; - private TimelineItemsProvider timelineItemsProvider = TimelineItemsProvider.getInstance(); private TimelineChartManager chartManager = TimelineChartManager.getInstance(); private int ItemIndexA = 0; @@ -93,32 +91,31 @@ public class TimelineEditItemsDialog extends Dialog { List chartList = new ArrayList(); List selectedChartList = new ArrayList(); - StringBuffer strSaveAvailableItems = new StringBuffer(""); - StringBuffer strSaveSelectedItems = new StringBuffer(""); + StringBuffer strSaveChartNameList = new StringBuffer(""); //$NON-NLS-1$ + StringBuffer strSaveSelectedChartNameList = new StringBuffer(""); //$NON-NLS-1$ for (int i = 0; i < tableitems.length; i++) { chartList.add(chartManager.getChartInstance(tableitems[i].getText(2))); - strSaveAvailableItems.append(tableitems[i].getText(2)); - strSaveAvailableItems.append(","); + strSaveChartNameList.append(tableitems[i].getText(2)); + strSaveChartNameList.append(","); - if (tableitems[i].getText(3).equals("selected enable")) { + if (tableitems[i].getText(3).equals("selected enable")) { //$NON-NLS-1$ selectedChartList.add(chartManager.getChartInstance((tableitems[i].getText(2)))); - strSaveSelectedItems.append(tableitems[i].getText(2)); - strSaveSelectedItems.append(","); + strSaveSelectedChartNameList.append(tableitems[i].getText(2)); + strSaveSelectedChartNameList.append(","); //$NON-NLS-1$ } } - timelineItemsProvider.setChartList(chartList); - timelineItemsProvider.setSelectedChartList(selectedChartList); + chartManager.setChartList(chartList); + chartManager.setSelectedChartList(selectedChartList); TimelineComposite timelineComposite = AnalyzerUtil.getTimelineComposite(); - if (null != timelineComposite) { - timelineComposite.resetItems(selectedChartList); - TimelineMaster.getInstance().redrawTimeTickCanvas(); - } + timelineComposite.resetItems(); + TimelineMaster.getInstance().redrawTimeTickCanvas(); - ConfigureManager.getInstance().setValue(ConfigureManager.CONFIGUREMANAGER_CHART_AVAILABLE_ITEM_LIST, strSaveAvailableItems.toString()); - ConfigureManager.getInstance().setValue(ConfigureManager.CONFIGUREMANAGER_CHART_SELECTED_ITEM_LIST, strSaveSelectedItems.toString()); + // FIXME remove custom chart informations + ConfigureManager.getInstance().setValue(ConfigureManager.CONFIGUREMANAGER_CHART_AVAILABLE_ITEM_LIST, strSaveChartNameList.toString()); + ConfigureManager.getInstance().setValue(ConfigureManager.CONFIGUREMANAGER_CHART_SELECTED_ITEM_LIST, strSaveSelectedChartNameList.toString()); shell.dispose(); } }; @@ -127,13 +124,14 @@ public class TimelineEditItemsDialog extends Dialog { @Override public void handleClickEvent(DACustomButton button) { + // FIXME remove this + chartManager.addCustomChart(new UserCustomChart(55, "custom")); shell.dispose(); } }; @Override public int open() { - shell = new Shell(parent, SWT.APPLICATION_MODAL | SWT.DIALOG_TRIM); shell.setText("Edit Chart"); shell.setFont(FontResources.EDIT_CHART_DLG_TITLE); @@ -169,31 +167,23 @@ public class TimelineEditItemsDialog extends Dialog { new TableColumn(chartTableViewer.getTable(), SWT.NONE).setWidth(0); } - List chartList = timelineItemsProvider.getChartList(); - if (null == chartList || chartList.isEmpty()) { - return -1; - } + final List chartList = chartManager.getChartList(); + int chartListSize = chartList.size(); + List selectedChartList = chartManager.getSelectedChartList(); - int availableItemsListSize = chartList.size(); - selectedChartList = timelineItemsProvider.getSelectedChartList(); - - if (null == selectedChartList) { - return -1; - } - - final TableItem[] items = new TableItem[availableItemsListSize]; - for (int i = 0; i < availableItemsListSize; i++) { + final TableItem[] items = new TableItem[chartListSize]; + for (int i = 0; i < chartListSize; i++) { items[i] = new TableItem(chartTableViewer.getTable(), SWT.NONE, i); - items[i].setText(0, " "); + items[i].setText(0, String.valueOf(chartList.get(i).getChartType())); //$NON-NLS-1$ items[i].setFont(FontResources.EDIT_CHART_DLG_TITLE); items[i].setImage(0, ImageResources.ADD_CHART_CPU); - items[i].setText(1, " "); + items[i].setText(1, " "); //$NON-NLS-1$ items[i].setText(2, chartList.get(i).getChartName()); - items[i].setText(3, "selected disable"); + items[i].setText(3, "selected disable"); //$NON-NLS-1$ for (int j = 0; j < selectedChartList.size(); j++) { - if (chartList.get(i).equals(selectedChartList.get(j))) { - items[i].setText(3, "selected enable"); + if (chartList.get(i).getChartType() == selectedChartList.get(j).getChartType()) { + items[i].setText(3, "selected enable"); //$NON-NLS-1$ break; } } @@ -203,7 +193,6 @@ public class TimelineEditItemsDialog extends Dialog { public void handleEvent(Event event) { switch (event.type) { case SWT.MeasureItem: { - TableItem item = (TableItem) event.item; String text = item.getText(event.index + 1); Point size = event.gc.textExtent(text); @@ -232,7 +221,7 @@ public class TimelineEditItemsDialog extends Dialog { Rectangle rect = event.getBounds(); Color foreground = gc.getForeground(); Color background = gc.getBackground(); - if (strItemStatus_1.equals("selected enable")) { + if (strItemStatus_1.equals("selected enable")) { //$NON-NLS-1$ event.gc.setForeground(ColorResources.ADD_CHART_ENABLE_COLOR_START); event.gc.setBackground(ColorResources.ADD_CHART_ENABLE_COLOR_END); } else { @@ -245,33 +234,15 @@ public class TimelineEditItemsDialog extends Dialog { gc.setBackground(background); event.detail &= ~SWT.SELECTED; - if (strItemStatus_1.equals("selected enable") && event.index == 1) { + if (strItemStatus_1.equals("selected enable") && event.index == 1) { //$NON-NLS-1$ event.gc.drawImage(ImageResources.ADD_CHART_ON, 370, event.y + 15); } else { event.gc.drawImage(ImageResources.ADD_CHART_OFF, 370, event.y + 15); } - String strItemName = item.getText(2); - Image itemImage = ImageResources.ADD_CHART_CPU; - if (strItemName.equalsIgnoreCase("cpu")) { - itemImage = ImageResources.ADD_CHART_CPU; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.CPU_CORE_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_CPU_CORE; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.HEAP_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_MEMORY_HEAP; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.PROCESS_MEMORY_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_MEMORY_PROCESS; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.SYSTEM_MEMORY_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_MEMORY_ALLOCATION; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.SNAPSHOT_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_UI_EVENT; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.FILE_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_READ_WRITE; - } else if (strItemName.equalsIgnoreCase(TimelineChartLabels.CPU_FREQUENCY_CHART_TITLE)) { - itemImage = ImageResources.ADD_CHART_CPU_FREQUENCY; - } if (event.index == 0) { - event.gc.drawImage(itemImage, 3, event.y); + Image addIcon = chartManager.getChartInstance(Integer.parseInt(item.getText(0))).getAddIcon(); + event.gc.drawImage(addIcon, 3, event.y); } else if (event.index == 1) { event.gc.drawText(itemName, event.x + 20, event.y + offset2 + 15, true); event.gc.setForeground(ColorResources.BLACK); @@ -346,18 +317,30 @@ public class TimelineEditItemsDialog extends Dialog { String strIndexA = null; String strIndexB = null; + + strIndexA = chartTableItems[ItemIndexA].getText(0); + strIndexB = chartTableItems[ItemIndexB].getText(0); + + chartTableItems[ItemIndexB].setText(0, strIndexA); + chartTableItems[ItemIndexA].setText(0, strIndexB); + + strIndexA = chartTableItems[ItemIndexA].getText(2); strIndexB = chartTableItems[ItemIndexB].getText(2); chartTableItems[ItemIndexB].setText(2, strIndexA); chartTableItems[ItemIndexA].setText(2, strIndexB); + + strIndexA = chartTableItems[ItemIndexB].getText(3); strIndexB = chartTableItems[ItemIndexA].getText(3); chartTableItems[ItemIndexA].setText(3, strIndexA); chartTableItems[ItemIndexB].setText(3, strIndexB); + + chartTableViewer.getTable().setDragDetect(true); chartTableViewer.getTable().redraw(); @@ -365,6 +348,10 @@ public class TimelineEditItemsDialog extends Dialog { tempIndex = ItemIndexA; ItemIndexA = ItemIndexB; ItemIndexB = tempIndex; + + + + } ItemDragOverIndex = ItemIndexB; } @@ -427,10 +414,10 @@ public class TimelineEditItemsDialog extends Dialog { Table table = chartTableViewer.getTable(); int selectItemIndex = table.getSelectionIndex(); TableItem[] chartTableItems = chartTableViewer.getTable().getItems(); - if (chartTableItems[selectItemIndex].getText(3).equals("selected enable")) { - chartTableItems[selectItemIndex].setText(3, "selected disable"); - } else if (chartTableItems[selectItemIndex].getText(3).equals("selected disable")) { - chartTableItems[selectItemIndex].setText(3, "selected enable"); + if (chartTableItems[selectItemIndex].getText(3).equals("selected enable")) { //$NON-NLS-1$ + chartTableItems[selectItemIndex].setText(3, "selected disable"); //$NON-NLS-1$ + } else if (chartTableItems[selectItemIndex].getText(3).equals("selected disable")) { //$NON-NLS-1$ + chartTableItems[selectItemIndex].setText(3, "selected enable"); //$NON-NLS-1$ } chartTableViewer.getTable().redraw(); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java index ec7bd41..50cb5c3 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/timeline/TimelineItemManager.java @@ -71,7 +71,6 @@ import org.tizen.dynamicanalyzer.model.SnapshotData; import org.tizen.dynamicanalyzer.timeline.chart.TimelineChart; import org.tizen.dynamicanalyzer.ui.views.CoolbarArea; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; -import org.tizen.dynamicanalyzer.utils.TimelineUtils; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChart; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlot; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlotIntervalMarker; @@ -79,19 +78,21 @@ import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlotTooltip; import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeries; public class TimelineItemManager { - private static final int ITEM_INFO_ZOOM_HEIGHT = 16; - private static final int ITEM_INFO_ICON_HEIGHT = 50; - private static final int ITEM_INFO_LABEL_HEIGHT = 20; + private static TimelineItemManager instance = null; + + private final int ITEM_INFO_ZOOM_HEIGHT = 16; + private final int ITEM_INFO_ICON_HEIGHT = 50; + private final int ITEM_INFO_LABEL_HEIGHT = 20; - private static final int MARGIN = 5; - private static final int SPACING = 0; + private final int MARGIN = 5; + private final int SPACING = 0; - private static final int TOOLTIP_MARGIN = 20; + private final int TOOLTIP_MARGIN = 20; private Composite itemsAreaComp; // same with TimelineView's private TimelineChartManager chartManager = TimelineChartManager.getInstance(); - List realTimeItemList; + List itemInfoList; List seletedItemList; List