From: heeyoung Date: Tue, 25 Feb 2014 09:58:12 +0000 (+0900) Subject: [Title] modify shortcut X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b5b4450d744faa004fb0ac2c400e957cf95417a1;p=sdk%2Ftools%2Fdynamic-analyzer.git [Title] modify shortcut [Desc.] using the extension point supports shortcut (currently implemented as an internal event filter) [Issue] - Change-Id: Ideee709030ca769b450c9fd8f9f6519a40928e6d Signed-off-by: heeyoung --- diff --git a/org.tizen.dynamicanalyzer.workbench/plugin.xml b/org.tizen.dynamicanalyzer.workbench/plugin.xml index c959d7d..57a2541 100644 --- a/org.tizen.dynamicanalyzer.workbench/plugin.xml +++ b/org.tizen.dynamicanalyzer.workbench/plugin.xml @@ -51,23 +51,9 @@ point="org.eclipse.ui.bindings"> - - - - - - diff --git a/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/DefaultKeyBindingHandler.java b/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/DefaultKeyBindingHandler.java deleted file mode 100644 index 770dad0..0000000 --- a/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/DefaultKeyBindingHandler.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.tizen.dynamicanalyzer.workbench; - -import org.eclipse.core.commands.AbstractHandler; -import org.eclipse.core.commands.ExecutionEvent; -import org.eclipse.core.commands.ExecutionException; - -public class DefaultKeyBindingHandler extends AbstractHandler { - - @Override - public Object execute(ExecutionEvent event) throws ExecutionException { - System.out.println("binding key ctrl + 3 ignore"); - return null; - } -} diff --git a/org.tizen.dynamicanalyzer/plugin.xml b/org.tizen.dynamicanalyzer/plugin.xml index 916a758..53188dd 100644 --- a/org.tizen.dynamicanalyzer/plugin.xml +++ b/org.tizen.dynamicanalyzer/plugin.xml @@ -48,6 +48,11 @@ id="org.tizen.dynamicanalyzer.handlers.StartHandler" name="Start"> + + @@ -114,4 +119,115 @@ name="views"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java index a87d586..68c2e57 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java @@ -29,9 +29,7 @@ package org.tizen.dynamicanalyzer.common; import java.io.File; import java.util.List; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; + import org.eclipse.ui.IPartService; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchListener; @@ -41,7 +39,6 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.tizen.dynamicanalyzer.listeners.AnalyzerPartListener; import org.tizen.dynamicanalyzer.listeners.AnalyzerPerspectiveListener; -import org.tizen.dynamicanalyzer.shortcut.ShortCutManager; import org.tizen.dynamicanalyzer.sql.SqlManager; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; @@ -127,17 +124,6 @@ public class AnalyzerPlugin extends AbstractUIPlugin { AnalyzerPartListener partListener = new AnalyzerPartListener(); partService.addPartListener(partListener); - - AnalyzerUtil.getWorkbenchWindow().getShell().getDisplay() - .addFilter(SWT.KeyUp, new Listener() { - - @Override - public void handleEvent(Event event) { - ShortCutManager.getInstance() - .handleShortCutEvent(event); - } - }); - } @Override diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutKeyBindingHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutKeyBindingHandler.java new file mode 100644 index 0000000..fadd1a4 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutKeyBindingHandler.java @@ -0,0 +1,204 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Heeyoung Hwang + * Juyoung Kim + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Contributors: + * - S-Core Co., Ltd + * + */ +package org.tizen.dynamicanalyzer.shortcut; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Shell; +import org.tizen.dynamicanalyzer.common.AnalyzerConstants; +import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler; +import org.tizen.dynamicanalyzer.ui.file.FilePage; +import org.tizen.dynamicanalyzer.ui.kernel.KernelPage; +import org.tizen.dynamicanalyzer.ui.network.NetworkPage; +import org.tizen.dynamicanalyzer.ui.opengl.ui.GLPage; +import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; +import org.tizen.dynamicanalyzer.ui.range.RangePage; +import org.tizen.dynamicanalyzer.ui.summary.SummaryPage; +import org.tizen.dynamicanalyzer.ui.thread.ThreadPage; +import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage; +import org.tizen.dynamicanalyzer.ui.toolbar.AboutDialog; +import org.tizen.dynamicanalyzer.ui.toolbar.SaveAsDialog; +import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; +import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialog; +import org.tizen.dynamicanalyzer.ui.toolbar.opentrace.OpenTraceDialog; +import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.ReplayEditDialog; +import org.tizen.dynamicanalyzer.ui.userinterface.UIPage; +import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; +import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; +import org.tizen.dynamicanalyzer.widgets.button.toggle.DACustomToggleButton; + +public class ShortCutKeyBindingHandler extends AbstractHandler { + private int CTRL_STATE_MASK = SWT.CTRL; + + private static int KEY_1 = 49; + private static int KEY_2 = 50; + private static int KEY_3 = 51; + private static int KEY_4 = 52; + private static int KEY_5 = 53; + private static int KEY_6 = 54; + private static int KEY_7 = 55; + private static int KEY_8 = 56; + private static int KEY_9 = 57; + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + Event e = (Event)event.getTrigger(); + ShortCutManager instance = ShortCutManager.getInstance(); + boolean enabled = instance.isEnabled(); + if (AnalyzerUtil.isMac()) { + CTRL_STATE_MASK = SWT.COMMAND; + } + + if (!enabled) { + return null; + } + + if (e.keyCode == SWT.F1) { + System.out.println("about"); + Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); + AboutDialog dialog = new AboutDialog(shell); + dialog.open(); + } else if (e.keyCode == SWT.F2) { + System.out.println("configuration"); + Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); + ConfigurationDialog dialog = new ConfigurationDialog(shell); + dialog.open(); + } else if (e.keyCode == SWT.F3) { + System.out.println("view source toggle"); + DACustomToggleButton button = (DACustomToggleButton) ToolbarArea + .getInstance().getButton(ToolbarArea.SOURCE_BUTTON); + button.setToggled(!button.isToggled()); + } + // ctrl + number 1 ~ 6 page + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_1) { + System.out.println("timeline page"); + AnalyzerUtil.changePage(TimelinePage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_4) { + System.out.println("file page"); + AnalyzerUtil.changePage(FilePage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_3) { + System.out.println("NetworkPage page"); + AnalyzerUtil.changePage(NetworkPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_2) { + System.out.println("thread page"); + AnalyzerUtil.changePage(ThreadPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_6) { + System.out.println("ui page"); + AnalyzerUtil.changePage(UIPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_5) { + System.out.println("Graphics page"); + AnalyzerUtil.changePage(GLPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_7) { + System.out.println("Kernel page"); + AnalyzerUtil.changePage(KernelPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_8) { + System.out.println("summary page"); + AnalyzerUtil.changePage(SummaryPage.ID); + } else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == KEY_9) { + System.out.println("range page"); + AnalyzerUtil.changePage(RangePage.ID); + } + // ctrl + t = 116 + // 103 -> g + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 103) { + if (!AnalyzerManager.isRunning()) { + System.out.println("start trace"); + enabled = false; + System.out.println("start trace start"); + ToolbarArea.getInstance().startTrace(); + System.out.println("start trace end"); + } else { + System.out.println("stop trace"); + enabled = false; + ToolbarArea.getInstance().stopTrace(); + } + } + // o + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 111) { + System.out.println("open trace"); + if (!AnalyzerManager.isRunning()) { + Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); + OpenTraceDialog dialog = new OpenTraceDialog(shell); + dialog.open(); + } + } + // s + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 115) { + System.out.println("save trace"); + if (ToolbarArea.getInstance().getButton(ToolbarArea.SAVE_BUTTON) + .isButtonEnabled()) { + Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); + SaveAsDialog dialog = new SaveAsDialog(shell); + Object result = dialog.open(); + if (result != null) { + ToolbarArea.getInstance() + .getButton(ToolbarArea.SAVE_BUTTON) + .setButtonEnabled(false); + } + } + } + // p + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 112) { + System.out.println("replay "); + if (!AnalyzerManager.isRunning()) { + DACustomButton button = (DACustomButton) ToolbarArea + .getInstance().getButton(ToolbarArea.REPLAY_BUTTON); + if (button.isButtonEnabled()) { + if (AnalyzerUtil.executeCommand(ReplayTraceHandler.ID) == AnalyzerConstants.SUCCESS) { + ToolbarArea.getInstance().startTrace(); + } + } + } + } + // r + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 114) { + System.out.println("range "); + if (RangeDataManager.getInstance().isBeingAnalyzed()) { + RangeDataManager.getInstance().initRange(); + } else { + if (RangeDataManager.getInstance().isAnalyzable()) { + RangeDataManager.getInstance().startRangeAnalysis(); + } + } + } + // e + else if (e.stateMask == CTRL_STATE_MASK && e.keyCode == 101) { + System.out.println("replay Edit"); + if (!AnalyzerManager.isRunning()) { + Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); + ReplayEditDialog dialog = new ReplayEditDialog(shell); + dialog.open(); + } + } + + return null; + + } +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutManager.java index 5bb609a..ba4b7a8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/shortcut/ShortCutManager.java @@ -25,48 +25,14 @@ */ package org.tizen.dynamicanalyzer.shortcut; -import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Shell; -import org.tizen.dynamicanalyzer.common.AnalyzerConstants; -import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.handlers.ReplayTraceHandler; import org.tizen.dynamicanalyzer.nl.AnalyzerLabels; -import org.tizen.dynamicanalyzer.ui.file.FilePage; -import org.tizen.dynamicanalyzer.ui.kernel.KernelPage; -import org.tizen.dynamicanalyzer.ui.network.NetworkPage; -import org.tizen.dynamicanalyzer.ui.opengl.ui.GLPage; -import org.tizen.dynamicanalyzer.ui.range.RangeDataManager; -import org.tizen.dynamicanalyzer.ui.range.RangePage; -import org.tizen.dynamicanalyzer.ui.summary.SummaryPage; -import org.tizen.dynamicanalyzer.ui.thread.ThreadPage; -import org.tizen.dynamicanalyzer.ui.timeline.TimelinePage; -import org.tizen.dynamicanalyzer.ui.toolbar.AboutDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.SaveAsDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; -import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.opentrace.OpenTraceDialog; -import org.tizen.dynamicanalyzer.ui.toolbar.replayEditor.ReplayEditDialog; -import org.tizen.dynamicanalyzer.ui.userinterface.UIPage; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; -import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; -import org.tizen.dynamicanalyzer.widgets.button.toggle.DACustomToggleButton; + public class ShortCutManager { private static ShortCutManager instance = null; private boolean enabled = true; - private int CTRL_STATE_MASK = SWT.CTRL; - - private static int KEY_1 = 49; - private static int KEY_2 = 50; - private static int KEY_3 = 51; - private static int KEY_4 = 52; - private static int KEY_5 = 53; - private static int KEY_6 = 54; - private static int KEY_7 = 55; - private static int KEY_8 = 56; - private static int KEY_9 = 57; public static String START_TRACE = null; public static String STOP_TRACE = null; @@ -139,136 +105,6 @@ public class ShortCutManager { return instance; } - private ShortCutManager() { - if (AnalyzerUtil.isMac()) { - CTRL_STATE_MASK = SWT.COMMAND; - } - } - - // for normal listener - public void handleShortCutEvent(Event event) { - if (!enabled) { - return; - } - if (event.keyCode == SWT.F1) { - System.out.println("about"); - Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); - AboutDialog dialog = new AboutDialog(shell); // FIXME - dialog.open(); - } else if (event.keyCode == SWT.F2) { - System.out.println("configuration"); - Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); - ConfigurationDialog dialog = new ConfigurationDialog(shell); // FIXME - dialog.open(); - } else if (event.keyCode == SWT.F3) { - System.out.println("view source toggle"); - DACustomToggleButton button = (DACustomToggleButton) ToolbarArea - .getInstance().getButton(ToolbarArea.SOURCE_BUTTON); - button.setToggled(!button.isToggled()); - } - // ctrl + number 1 ~ 6 page - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_1) { - System.out.println("timeline page"); - AnalyzerUtil.changePage(TimelinePage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_4) { - System.out.println("file page"); - AnalyzerUtil.changePage(FilePage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_3) { - System.out.println("NetworkPage page"); - AnalyzerUtil.changePage(NetworkPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_2) { - System.out.println("thread page"); - AnalyzerUtil.changePage(ThreadPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_6) { - System.out.println("ui page"); - AnalyzerUtil.changePage(UIPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_5) { - System.out.println("Graphics page"); - AnalyzerUtil.changePage(GLPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_7) { - System.out.println("Kernel page"); - AnalyzerUtil.changePage(KernelPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_8) { - System.out.println("summary page"); - AnalyzerUtil.changePage(SummaryPage.ID); - } else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == KEY_9) { - System.out.println("range page"); - AnalyzerUtil.changePage(RangePage.ID); - } - // ctrl + t = 116 - // 103 -> g - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 103) { - if (!AnalyzerManager.isRunning()) { - System.out.println("start trace"); - enabled = false; - System.out.println("start trace start"); - ToolbarArea.getInstance().startTrace(); - System.out.println("start trace end"); - } else { - System.out.println("stop trace"); - enabled = false; - ToolbarArea.getInstance().stopTrace(); - } - } - // o - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 111) { - System.out.println("open trace"); - if (!AnalyzerManager.isRunning()) { - Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); - OpenTraceDialog dialog = new OpenTraceDialog(shell); - dialog.open(); - } - } - // s - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 115) { - System.out.println("save trace"); - if (ToolbarArea.getInstance().getButton(ToolbarArea.SAVE_BUTTON) - .isButtonEnabled()) { - Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); - SaveAsDialog dialog = new SaveAsDialog(shell); - Object result = dialog.open(); - if (result != null) { - ToolbarArea.getInstance() - .getButton(ToolbarArea.SAVE_BUTTON) - .setButtonEnabled(false); - } - } - } - // p - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 112) { - System.out.println("replay "); - if (!AnalyzerManager.isRunning()) { - DACustomButton button = (DACustomButton) ToolbarArea - .getInstance().getButton(ToolbarArea.REPLAY_BUTTON); - if (button.isButtonEnabled()) { - if (AnalyzerUtil.executeCommand(ReplayTraceHandler.ID) == AnalyzerConstants.SUCCESS) { - ToolbarArea.getInstance().startTrace(); - } - } - } - } - // r - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 114) { - System.out.println("range "); - if (RangeDataManager.getInstance().isBeingAnalyzed()) { - RangeDataManager.getInstance().initRange(); - } else { - if (RangeDataManager.getInstance().isAnalyzable()) { - RangeDataManager.getInstance().startRangeAnalysis(); - } - } - } - // e - else if (event.stateMask == CTRL_STATE_MASK && event.keyCode == 101) { - System.out.println("replay Edit"); - if (!AnalyzerManager.isRunning()) { - Shell shell = AnalyzerUtil.getWorkbenchWindow().getShell(); - ReplayEditDialog dialog = new ReplayEditDialog(shell); - dialog.open(); - } - } - } - public void setEnabled(boolean enabled) { this.enabled = enabled; if (enabled) { @@ -280,4 +116,9 @@ public class ShortCutManager { }); } } + + + public boolean isEnabled() { + return enabled; + } }