Skip to content

Commit 1c08368

Browse files
committed
Restrict Pin View and Open View to active CPP debug context.
That is if any CPP application is under debug. Because Pin View is never enabled other than CPP application debug session. This also includes Action to Command migration. see #1048
1 parent 9e04dc5 commit 1c08368

File tree

7 files changed

+388
-310
lines changed

7 files changed

+388
-310
lines changed

debug/org.eclipse.cdt.debug.ui/plugin.xml

+112-70
Original file line numberDiff line numberDiff line change
@@ -718,76 +718,6 @@
718718
helpContextId="add_line_breakpoint_action_context"
719719
tooltip="%AddLineBreakpoint.tooltip"/>
720720
</viewContribution>
721-
<viewContribution
722-
targetID="org.eclipse.debug.ui.RegisterView"
723-
id="org.eclipse.debug.ui.registersView.toolbar">
724-
<menu
725-
label="%Dummy"
726-
id="org.eclipse.cdt.debug.ui.refresh">
727-
<separator name="refreshGroup"/>
728-
<separator name="emptyRefreshGroup"/>
729-
</menu>
730-
</viewContribution>
731-
<viewContribution
732-
id="org.eclipse.cdt.debug.ui.expression.toolbar"
733-
targetID="org.eclipse.debug.ui.ExpressionView">
734-
<action
735-
class="org.eclipse.cdt.debug.internal.ui.actions.PinDebugContextActionDelegate"
736-
icon="icons/elcl16/toolbar_pinned.gif"
737-
id="org.eclipse.pinclone.expression.pinDebugContext"
738-
label="%PinView.name "
739-
style="toggle"
740-
toolbarPath="pinGroup">
741-
</action>
742-
<action
743-
class="org.eclipse.cdt.debug.internal.ui.actions.OpenNewViewActionDelegate"
744-
icon="icons/elcl16/open_new.gif"
745-
id="org.eclipse.pinclone.expression.clone"
746-
label="%OpenNewView.name"
747-
style="push"
748-
toolbarPath="pinGroup">
749-
</action>
750-
</viewContribution>
751-
<viewContribution
752-
id="org.eclipse.cdt.debug.ui.variable.toolbar"
753-
targetID="org.eclipse.debug.ui.VariableView">
754-
<action
755-
class="org.eclipse.cdt.debug.internal.ui.actions.PinDebugContextActionDelegate"
756-
icon="icons/elcl16/toolbar_pinned.gif"
757-
id="org.eclipse.pinclone.variable.pinDebugContext"
758-
label="%PinView.name "
759-
style="toggle"
760-
toolbarPath="pinGroup">
761-
</action>
762-
<action
763-
class="org.eclipse.cdt.debug.internal.ui.actions.OpenNewViewActionDelegate"
764-
icon="icons/elcl16/open_new.gif"
765-
id="org.eclipse.pinclone.variable.clone"
766-
label="%OpenNewView.name"
767-
style="push"
768-
toolbarPath="pinGroup">
769-
</action>
770-
</viewContribution>
771-
<viewContribution
772-
id="org.eclipse.cdt.debug.ui.register.toolbar"
773-
targetID="org.eclipse.debug.ui.RegisterView">
774-
<action
775-
class="org.eclipse.cdt.debug.internal.ui.actions.PinDebugContextActionDelegate"
776-
icon="icons/elcl16/toolbar_pinned.gif"
777-
id="org.eclipse.pinclone.register.pinDebugContext"
778-
label="%PinView.name "
779-
style="toggle"
780-
toolbarPath="pinGroup">
781-
</action>
782-
<action
783-
class="org.eclipse.cdt.debug.internal.ui.actions.OpenNewViewActionDelegate"
784-
icon="icons/elcl16/open_new.gif"
785-
id="org.eclipse.pinclone.register.clone"
786-
label="%OpenNewView.name"
787-
style="push"
788-
toolbarPath="pinGroup">
789-
</action>
790-
</viewContribution>
791721
</extension>
792722
<extension
793723
point="org.eclipse.ui.editorActions">
@@ -1402,6 +1332,102 @@
14021332
</visibleWhen>
14031333
</command>
14041334
</menuContribution>
1335+
<menuContribution
1336+
allPopups="false"
1337+
locationURI="toolbar:org.eclipse.debug.ui.VariableView?after=additions">
1338+
<separator
1339+
name="org.eclipse.cdt.debug.ui.pinGroup"
1340+
visible="true">
1341+
</separator>
1342+
<command
1343+
commandId="org.eclipse.cdt.debug.ui.PinViewCommand"
1344+
icon="icons/elcl16/toolbar_pinned.gif"
1345+
label="%PinView.name "
1346+
style="toggle">
1347+
<visibleWhen
1348+
checkEnabled="false">
1349+
<test
1350+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1351+
</test>
1352+
</visibleWhen>
1353+
</command>
1354+
<command
1355+
commandId="org.eclipse.cdt.debug.ui.OpenNewViewCommand"
1356+
icon="icons/elcl16/open_new.gif"
1357+
label="%OpenNewView.name"
1358+
style="push">
1359+
<visibleWhen
1360+
checkEnabled="false">
1361+
<test
1362+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1363+
</test>
1364+
</visibleWhen>
1365+
</command>
1366+
</menuContribution>
1367+
<menuContribution
1368+
allPopups="false"
1369+
locationURI="toolbar:org.eclipse.debug.ui.ExpressionView?after=additions">
1370+
<separator
1371+
name="org.eclipse.cdt.debug.ui.pinGroup"
1372+
visible="true">
1373+
</separator>
1374+
<command
1375+
commandId="org.eclipse.cdt.debug.ui.PinViewCommand"
1376+
icon="icons/elcl16/toolbar_pinned.gif"
1377+
label="%PinView.name "
1378+
style="toggle">
1379+
<visibleWhen
1380+
checkEnabled="false">
1381+
<test
1382+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1383+
</test>
1384+
</visibleWhen>
1385+
</command>
1386+
<command
1387+
commandId="org.eclipse.cdt.debug.ui.OpenNewViewCommand"
1388+
icon="icons/elcl16/open_new.gif"
1389+
label="%OpenNewView.name"
1390+
style="push">
1391+
<visibleWhen
1392+
checkEnabled="false">
1393+
<test
1394+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1395+
</test>
1396+
</visibleWhen>
1397+
</command>
1398+
</menuContribution>
1399+
<menuContribution
1400+
allPopups="false"
1401+
locationURI="toolbar:org.eclipse.debug.ui.RegisterView?after=additions">
1402+
<separator
1403+
name="org.eclipse.cdt.debug.ui.pinGroup"
1404+
visible="true">
1405+
</separator>
1406+
<command
1407+
commandId="org.eclipse.cdt.debug.ui.PinViewCommand"
1408+
icon="icons/elcl16/toolbar_pinned.gif"
1409+
label="%PinView.name "
1410+
style="toggle">
1411+
<visibleWhen
1412+
checkEnabled="false">
1413+
<test
1414+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1415+
</test>
1416+
</visibleWhen>
1417+
</command>
1418+
<command
1419+
commandId="org.eclipse.cdt.debug.ui.OpenNewViewCommand"
1420+
icon="icons/elcl16/open_new.gif"
1421+
label="%OpenNewView.name"
1422+
style="push">
1423+
<visibleWhen
1424+
checkEnabled="false">
1425+
<test
1426+
property="org.eclipse.cdt.dsf.ui.canPinViewEnabled">
1427+
</test>
1428+
</visibleWhen>
1429+
</command>
1430+
</menuContribution>
14051431

14061432
</extension>
14071433
<extension
@@ -1689,6 +1715,14 @@
16891715
id="org.eclipse.ui.commands.toggleState">
16901716
</state>
16911717
</command>
1718+
<command
1719+
id="org.eclipse.cdt.debug.ui.PinViewCommand"
1720+
name="%PinView.name ">
1721+
</command>
1722+
<command
1723+
id="org.eclipse.cdt.debug.ui.OpenNewViewCommand"
1724+
name="%OpenNewView.name">
1725+
</command>
16921726
</extension>
16931727
<extension
16941728
point="org.eclipse.ui.handlers">
@@ -1771,6 +1805,14 @@
17711805
class="org.eclipse.cdt.debug.internal.ui.commands.ToggleInstructionStepModeHandler"
17721806
commandId="org.eclipse.cdt.debug.internal.ui.actions.ToggleInstructionStepModeCommand">
17731807
</handler>
1808+
<handler
1809+
class="org.eclipse.cdt.debug.internal.ui.actions.PinViewHandler"
1810+
commandId="org.eclipse.cdt.debug.ui.PinViewCommand">
1811+
</handler>
1812+
<handler
1813+
class="org.eclipse.cdt.debug.internal.ui.actions.OpenNewViewHandler"
1814+
commandId="org.eclipse.cdt.debug.ui.OpenNewViewCommand">
1815+
</handler>
17741816
</extension>
17751817
<extension
17761818
point="org.eclipse.core.expressions.definitions">

debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/OpenNewViewActionDelegate.java

-41
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*******************************************************************************
2+
* Copyright (c) 2010, 2014 Texas Instruments and others
3+
*
4+
* This program and the accompanying materials
5+
* are made available under the terms of the Eclipse Public License 2.0
6+
* which accompanies this distribution, and is available at
7+
* https://www.eclipse.org/legal/epl-2.0/
8+
*
9+
* SPDX-License-Identifier: EPL-2.0
10+
*
11+
* Contributors:
12+
* Patrick Chuong (Texas Instruments) - Initial implementation of run()
13+
* Marc Dumais (Ericsson) - Bug 437692
14+
* Raghunandana Murthappa(Advantest Europe GmbH) - Issue 1048
15+
*******************************************************************************/
16+
package org.eclipse.cdt.debug.internal.ui.actions;
17+
18+
import org.eclipse.core.commands.AbstractHandler;
19+
import org.eclipse.core.commands.ExecutionEvent;
20+
import org.eclipse.core.commands.ExecutionException;
21+
import org.eclipse.core.runtime.IStatus;
22+
import org.eclipse.ui.IViewPart;
23+
import org.eclipse.ui.handlers.HandlerUtil;
24+
25+
/**
26+
* Handler that opens the new View of the view type selected. This is used by
27+
* the OpenNewViewCommand which is contributed to debug related views.
28+
*/
29+
public class OpenNewViewHandler extends AbstractHandler {
30+
private OpenNewViewAction fOpenNewViewAction = new OpenNewViewAction();
31+
32+
@Override
33+
public Object execute(ExecutionEvent event) throws ExecutionException {
34+
IViewPart viewPart = (IViewPart) HandlerUtil.getActivePart(event);
35+
fOpenNewViewAction.init(viewPart);
36+
fOpenNewViewAction.run();
37+
38+
return IStatus.OK;
39+
}
40+
41+
}

0 commit comments

Comments
 (0)