From 5eea3909d448caa8bd47628a16f3616fcfcd7cad Mon Sep 17 00:00:00 2001 From: jaeyong lee Date: Mon, 30 May 2016 17:01:29 +0900 Subject: [PATCH] [SRADA-410] Add a screenshot chart when screenshot button clicked Change-Id: I2185339100ec0d7f8f5c8d0a425cfe9410f1f0b0 --- .../dynamicanalyzer/ui/timeline/TimelinePage.java | 11 +++++++-- .../ui/timeline/common/TimelineChartView.java | 13 +++++++++++ .../tizen/dynamicanalyzer/ui/toolbar/Toolbar.java | 27 ++++++++++++++++++---- 3 files changed, 44 insertions(+), 7 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java index 41f465e..4f6d7f7 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java @@ -57,6 +57,9 @@ public class TimelinePage extends DAPageComposite { SashForm baseForm; SashForm topForm; SashForm bottomForm; + + TimelineChartView timelineChartView; + TimelineTableView timelineTableView; public TimelinePage(Composite parent, int style) { super(parent, style); @@ -72,7 +75,7 @@ public class TimelinePage extends DAPageComposite { // ((FillLayout) getLayout()).marginWidth = 5; topForm = new SashForm(baseForm, SWT.VERTICAL); - TimelineChartView timelineChartView = new TimelineChartView(topForm, SWT.NONE); + timelineChartView = new TimelineChartView(topForm, SWT.NONE); addView(timelineChartView); bottomForm = new SashForm(baseForm, SWT.HORIZONTAL); @@ -85,7 +88,7 @@ public class TimelinePage extends DAPageComposite { bottomRightForm.setForeground(ColorResources.WHITE); bottomRightForm.setLayout(new FillLayout()); - TimelineTableView timelineTableView = new TimelineTableView(bottomLeftForm, SWT.NONE); + timelineTableView = new TimelineTableView(bottomLeftForm, SWT.NONE); addView(timelineTableView); DATabComposite timelineCallStackTableView = new DATabComposite(bottomRightForm, SWT.NONE, false, true); @@ -111,6 +114,10 @@ public class TimelinePage extends DAPageComposite { DataManagerRegistry.registerPageDataManager(MemoryDataManager.getInstance()); } + public TimelineChartView getTimelineChartView() { + return timelineChartView; + } + @Override protected void onResized(int width, int height) { int hrate = (int) (TimelineTableView.DEFAULT_TABLE_VIEW_HEIGHT * 100 / height); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartView.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartView.java index de836d8..c292bd6 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartView.java @@ -46,6 +46,8 @@ import org.eclipse.swt.widgets.ScrollBar; import org.tizen.dynamicanalyzer.common.DASelectionData; import org.tizen.dynamicanalyzer.common.Global; import org.tizen.dynamicanalyzer.constant.CommonConstants; +import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; +import org.tizen.dynamicanalyzer.nl.TimelinePageLabels; import org.tizen.dynamicanalyzer.project.ProcessInformation; import org.tizen.dynamicanalyzer.project.ProcessMemoryMap; import org.tizen.dynamicanalyzer.project.Project; @@ -437,6 +439,17 @@ public class TimelineChartView extends DAViewComposite { } } } + + public void addScreenshotChart() { + List chartList = timelineChartManager.getChartList(); + for(int i = 0; i < chartList.size(); i++){ + TimelineChart timelineChart = chartList.get(i); + if(timelineChart.getChartName().equals(TimelineChartLabels.SCREENSHOT_CHART_TITLE)) { + chartBoard.showItem(i); + break; + } + } + } public Control getControl() { return chartBoard; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java index 294ebe6..055e44e 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java @@ -32,6 +32,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; @@ -47,9 +48,9 @@ import org.tizen.dynamicanalyzer.annotation.UIMethod; import org.tizen.dynamicanalyzer.appearance.DesignConstants; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.DAResult; -import org.tizen.dynamicanalyzer.common.Global; -import org.tizen.dynamicanalyzer.common.DAState; import org.tizen.dynamicanalyzer.common.DAResult.ErrorCode; +import org.tizen.dynamicanalyzer.common.DAState; +import org.tizen.dynamicanalyzer.common.Global; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.communicator.DeviceInfo; import org.tizen.dynamicanalyzer.communicator.DeviceManager; @@ -61,6 +62,7 @@ import org.tizen.dynamicanalyzer.handlers.CommonAction; import org.tizen.dynamicanalyzer.handlers.ReplayManager; import org.tizen.dynamicanalyzer.handlers.UIAction; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; +import org.tizen.dynamicanalyzer.nl.TimelineChartLabels; import org.tizen.dynamicanalyzer.nl.UserErrorWarningLabels; import org.tizen.dynamicanalyzer.project.AppInfo; import org.tizen.dynamicanalyzer.project.PackageInfo; @@ -71,18 +73,18 @@ import org.tizen.dynamicanalyzer.resources.ColorResources; import org.tizen.dynamicanalyzer.resources.FontResources; import org.tizen.dynamicanalyzer.resources.ImageResources; import org.tizen.dynamicanalyzer.setting.Feature; +import org.tizen.dynamicanalyzer.setting.FlatFeature; import org.tizen.dynamicanalyzer.setting.SettingDataManager; +import org.tizen.dynamicanalyzer.setting.TargetData; import org.tizen.dynamicanalyzer.shortcut.ShortCutManager; import org.tizen.dynamicanalyzer.ui.common.explorer.DeviceExplorerDialog; import org.tizen.dynamicanalyzer.ui.page.BaseView; +import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage; import org.tizen.dynamicanalyzer.ui.toolbar.opentrace.OpenTraceDialog; import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.ReplayEditDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.setting.FlatFeatureDialog; import org.tizen.dynamicanalyzer.ui.toolbar.setting.PreferencesDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.setting.SettingDialog; import org.tizen.dynamicanalyzer.util.Logger; import org.tizen.dynamicanalyzer.util.WorkbenchUtil; -import org.tizen.dynamicanalyzer.workbench.LayoutManager; import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonClickEventListener; import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer; @@ -92,6 +94,7 @@ import org.tizen.dynamicanalyzer.widgets.combo.DACustomComboSelectionListener; import org.tizen.dynamicanalyzer.widgets.da.base.ProgressDialog; import org.tizen.dynamicanalyzer.widgets.timer.IAlarm; import org.tizen.dynamicanalyzer.widgets.timer.TimerClock; +import org.tizen.dynamicanalyzer.workbench.LayoutManager; import org.tizen.sdblib.service.FileEntry; public enum Toolbar { @@ -473,6 +476,20 @@ public enum Toolbar { @Override public void handleClickEvent(DACustomButton button) { + if(DAState.isRunning()) { + TargetData target = SettingDataManager.INSTANCE.getConnectedTarget(); + Set targetChartList = SettingDataManager.INSTANCE.getSelectedChartSet(target + .getTargetName()); + if(!targetChartList.contains(TimelineChartLabels.SCREENSHOT_CHART_TITLE)) { + BaseView baseView = (BaseView) WorkbenchUtil.getViewPart(BaseView.ID); + if(baseView.getTopComposite() instanceof TimelinePage) { + TimelinePage timelinePage = (TimelinePage)baseView.getTopComposite(); + timelinePage.getTimelineChartView().addScreenshotChart(); + target.addSelectedFlatFeature(FlatFeature.SCREENSHOT.getName()); + } + } + } + try { if (!DACommunicator.captureScreenshot().isSuccess()) { Logger.error("Failed to capture screenshot"); -- 2.7.4