[SRADA-893] Add F5 shortcut key and resolve several issues.
authorjaeyong lee <jae-yong.lee@samsung.com>
Wed, 13 Jul 2016 11:56:18 +0000 (20:56 +0900)
committerMaria Guseva <m.guseva@samsung.com>
Tue, 19 Jul 2016 11:14:01 +0000 (20:14 +0900)
 - SRADA-924 : Ctrl+F Shortcut key not working.
 - Disable ctrl + n when trace is running
 - Reset the report menu items when user start a new setting.
 - Chagne some constants about keycodes to SWT enum

Change-Id: I023b8975167bf06ed5ab13f5f483d6bea864e1d4

org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/BaseView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/MenuBar.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/Toolbar.java

index 802fbbd..f04d6f9 100644 (file)
@@ -39,7 +39,6 @@ import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.keys.IBindingService;
@@ -48,6 +47,8 @@ import org.tizen.dynamicanalyzer.annotation.UIMethod;
 import org.tizen.dynamicanalyzer.callback.ExecutionCallbackManager;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
+import org.tizen.dynamicanalyzer.common.DAResult;
+import org.tizen.dynamicanalyzer.common.DAResult.ErrorCode;
 import org.tizen.dynamicanalyzer.common.DAState;
 import org.tizen.dynamicanalyzer.common.PreWindowShellCloseCallback;
 import org.tizen.dynamicanalyzer.common.path.PathManager;
@@ -56,6 +57,7 @@ import org.tizen.dynamicanalyzer.communicator.DeviceManager;
 import org.tizen.dynamicanalyzer.communicator.IDECommunicator;
 import org.tizen.dynamicanalyzer.communicator.UnsupportedProtocolException;
 import org.tizen.dynamicanalyzer.control.SideWorker;
+import org.tizen.dynamicanalyzer.handlers.CommandAction;
 import org.tizen.dynamicanalyzer.handlers.CommonAction;
 import org.tizen.dynamicanalyzer.nl.TimelineChartLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
@@ -83,10 +85,12 @@ import org.tizen.dynamicanalyzer.ui.toolbar.setting.FlatFeatureDialog;
 import org.tizen.dynamicanalyzer.ui.toolbar.setting.PreferencesDialog;
 import org.tizen.dynamicanalyzer.ui.toolbar.setting.TargetDialog;
 import org.tizen.dynamicanalyzer.ui.userinterface.UIPage;
+import org.tizen.dynamicanalyzer.ui.widgets.SearchDialog;
 import org.tizen.dynamicanalyzer.util.CommonUtil;
 import org.tizen.dynamicanalyzer.util.Logger;
 import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
+import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
 import org.tizen.dynamicanalyzer.widgets.da.view.DABaseComposite;
 import org.tizen.dynamicanalyzer.widgets.da.view.DAPageComposite;
 import org.tizen.dynamicanalyzer.widgets.da.view.DATabComposite;
@@ -144,22 +148,24 @@ public class BaseView extends ViewPart {
                                if(((e.stateMask & SWT.CTRL) == SWT.CTRL) && (e.keyCode == 'q')) {
                                        currentShell.close();
                                } else if(((e.stateMask & SWT.CTRL) == SWT.CTRL) && (e.keyCode == 'n')) {
-                                       CommonAction.clear();
-                                       Toolbar.INSTANCE.clearMarkerTimeList();
-                                       RangeDataManager.getInstance().clearMarkerTime();
-                                       RangeDataManager.getInstance().clearTimelineMarker();
-                                       
-                                       // change UI state
-                                       Toolbar.INSTANCE.changeUIState(DAState.INIT);
-                                       Toolbar.INSTANCE.setScaleSelection(DAScale.DEFAULT_SCALE_INDEX);
-                                       
-                                       FlatFeatureDialog featureDialog = new FlatFeatureDialog(currentShell);
-                                       featureDialog.open();
-                                       
-                                       /// if Feature Select changed and OK, is NewSetting is true.
-                                       if(SettingDataManager.INSTANCE.isNewSetting()){
-                                               // reset checks on ReportMenu items 
-//                                             resetReportItemCheck();                                 
+                                       if(MenuBar.getInstance().getFileNew().isEnabled()) {
+                                               CommonAction.clear();
+                                               Toolbar.INSTANCE.clearMarkerTimeList();
+                                               RangeDataManager.getInstance().clearMarkerTime();
+                                               RangeDataManager.getInstance().clearTimelineMarker();
+                                               
+                                               // change UI state
+                                               Toolbar.INSTANCE.changeUIState(DAState.INIT);
+                                               Toolbar.INSTANCE.setScaleSelection(DAScale.DEFAULT_SCALE_INDEX);
+                                               
+                                               FlatFeatureDialog featureDialog = new FlatFeatureDialog(currentShell);
+                                               featureDialog.open();
+                                               
+                                               /// if Feature Select changed and OK, is NewSetting is true.
+                                               if(SettingDataManager.INSTANCE.isNewSetting()){
+                                                       // reset checks on ReportMenu items 
+                                                       MenuBar.getInstance().resetReportItemCheck();                                   
+                                               }
                                        }
                                } else if(((e.stateMask & SWT.CTRL) == SWT.CTRL) && (e.keyCode == 't')) {
                                        TargetDialog targetDialog = new TargetDialog(currentShell);
@@ -171,7 +177,9 @@ public class BaseView extends ViewPart {
                                                MenuBar.getInstance().getViewDetail().setSelection(true);
                                        }
                                        MenuBar.getInstance().getViewDetail().notifyListeners(SWT.Selection, new Event());
-                               } else if(e.keyCode == 16777234) { //f9
+                               } else if(((e.stateMask & SWT.CTRL) == SWT.CTRL) && (e.keyCode == 'f')) {
+                                       MenuBar.getInstance().getAnalyzeSearch().notifyListeners(SWT.Selection, new Event());
+                               } else if(e.keyCode == SWT.F9) {
                                        if(DAState.isRunning()) {
                                                TargetData target = SettingDataManager.INSTANCE.getConnectedTarget();
                                                Set<String> targetChartList = SettingDataManager.INSTANCE.getSelectedChartSet(target
@@ -195,13 +203,22 @@ public class BaseView extends ViewPart {
                                        } catch (UnsupportedProtocolException ex) {
                                                Logger.warning("Message to capture screenshot is not supported by communicator");
                                        }
+                               } else if(e.keyCode == SWT.F5) {
+                                       if(DAState.isStartable() && Toolbar.INSTANCE.getStartButton().getState() == DACustomButton.STATE_NORMAL) { //start trace
+                                               Toolbar.INSTANCE.clearMarkerTimeList();
+                                               RangeDataManager.getInstance().clearMarkerTime();
+                                               RangeDataManager.getInstance().clearTimelineMarker();
+                                               CommandAction.startTrace(false);
+                                       } else if(DAState.isRunning() && Toolbar.INSTANCE.getStartButton().getState() == DACustomButton.STATE_NORMAL) { //stop trace
+                                               CommandAction.stopTrace(new DAResult(ErrorCode.SUCCESS), false);
+                                       }
                                }
                        }
                });
                
                PlatformUI.getWorkbench().getDisplay().addFilter(SWT.KeyUp, new Listener() {
                        public void handleEvent(Event e) {
-                               if(e.keyCode == 16777235) { //f10 calls keyPress listener twice
+                               if(e.keyCode == SWT.F10) { //f10 calls keyPress listener twice
                                        Shell currentShell = WorkbenchUtil.getWorkbenchWindow().getShell();
                                        PreferencesDialog preferencesDialog = new PreferencesDialog(currentShell);
                                        preferencesDialog.open();
index 321f0ba..78cd9d7 100644 (file)
@@ -91,11 +91,21 @@ public class MenuBar {
        
        private boolean sourceView = false;
        
+       private MenuItem fileNew;
        private MenuItem viewDetail;
+       private MenuItem analyzeSearchItem;
+       
+       public MenuItem getFileNew() {
+               return fileNew;
+       }
        
        public MenuItem getViewDetail() {
                return viewDetail;
        }
+       
+       public MenuItem getAnalyzeSearch() {
+               return analyzeSearchItem;
+       }
 
        public MenuBar() {
                currentShell = WorkbenchUtil.getWorkbenchWindow().getShell();
@@ -121,7 +131,7 @@ public class MenuBar {
                Menu fileMenu = new Menu(currentShell, SWT.DROP_DOWN);
                fileItem.setMenu(fileMenu);
 
-               MenuItem fileNew = new MenuItem(fileMenu, SWT.PUSH);
+               fileNew = new MenuItem(fileMenu, SWT.PUSH);
                fileNew.setText(MenuBarLabels.FILE_NEW);
                // fileNew.setAccelerator(SWT.MOD1 + 'A');
                fileNew.addSelectionListener(fileMenuListener);
@@ -143,7 +153,7 @@ public class MenuBar {
                Menu analyzeMenu = new Menu(currentShell, SWT.DROP_DOWN);
                analyzeItem.setMenu(analyzeMenu);
 
-               MenuItem analyzeSearchItem = new MenuItem(analyzeMenu, SWT.PUSH);
+               analyzeSearchItem = new MenuItem(analyzeMenu, SWT.PUSH);
                analyzeSearchItem.setText(MenuBarLabels.ANALYZE_SEARCH);
                analyzeSearchItem.addSelectionListener(anlysisMenuListener);
 
index 3d7206f..f1b7455 100644 (file)
@@ -151,6 +151,10 @@ public enum Toolbar {
        private long chartDragEnd = -1;
        private boolean dlogTimeSelection = false;
        
+       public DACustomButton getStartButton() {
+               return startButton;
+       }
+       
        public void clearMarkerTimeList() {
                if(markerTimeList != null) {
                        markerTimeList.clear();