[SRADA-410] Add a screenshot chart when screenshot button clicked
authorjaeyong lee <jae-yong.lee@samsung.com>
Mon, 30 May 2016 08:01:29 +0000 (17:01 +0900)
committerdongkyu6 lee <dongkyu6.lee@samsung.com>
Tue, 31 May 2016 02:31:01 +0000 (11:31 +0900)
Change-Id: I2185339100ec0d7f8f5c8d0a425cfe9410f1f0b0

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java

index 41f465e..4f6d7f7 100644 (file)
@@ -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);
index de836d8..c292bd6 100644 (file)
@@ -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<TimelineChart> 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;
index 294ebe6..055e44e 100644 (file)
@@ -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<String> 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");