1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00

- command contribution implemented properly

This commit is contained in:
Alena Laskavaia 2010-04-21 01:40:15 +00:00
parent a7b0ef2fef
commit 56c7ec129c
8 changed files with 114 additions and 21 deletions

View file

@ -1,16 +1,18 @@
Manifest-Version: 1.0 Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: Codan Analysis UI for C/C++ Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.cdt.codan.ui.cxx;singleton:=true Bundle-SymbolicName: org.eclipse.cdt.codan.ui.cxx;singleton:=true
Bundle-Version: 1.0.0.qualifier Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.eclipse.cdt.codan.internal.ui.cxx.Activator Bundle-Activator: org.eclipse.cdt.codan.internal.ui.cxx.Activator
Bundle-Vendor: Eclipse CDT Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.ui, Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime, org.eclipse.core.runtime,
org.eclipse.cdt.codan.core;bundle-version="1.0.0", org.eclipse.cdt.codan.core;bundle-version="1.0.0",
org.eclipse.cdt.codan.core.cxx;bundle-version="1.0.0", org.eclipse.cdt.codan.core.cxx;bundle-version="1.0.0",
org.eclipse.ui.editors, org.eclipse.ui.editors,
org.eclipse.cdt.core, org.eclipse.cdt.core,
org.eclipse.cdt.ui org.eclipse.cdt.ui,
org.eclipse.core.resources,
org.eclipse.cdt.codan.ui;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy

View file

@ -0,0 +1,4 @@
#Properties file for org.eclipse.cdt.codan.ui.cxx
command.name = Run C/C++ Code Analysis
Bundle-Vendor = Eclipse CDT
Bundle-Name = Codan Analysis UI for C/C++

View file

@ -2,4 +2,5 @@ source.. = src/
output.. = bin/ output.. = bin/
bin.includes = META-INF/,\ bin.includes = META-INF/,\
.,\ .,\
plugin.xml plugin.xml,\
OSGI-INF/l10n/bundle.properties

View file

@ -7,5 +7,37 @@
<startup <startup
class="org.eclipse.cdt.codan.internal.ui.cxx.Startup"></startup> class="org.eclipse.cdt.codan.internal.ui.cxx.Startup"></startup>
</extension> </extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.ui.popup.any?after=additions">
<command
commandId="org.eclipse.cdt.codan.commands.runCodanCommand"
id="org.eclipse.cdt.codan.ui.cxx.menus.runCodanCxxCommand"
label="%command.name"
mnemonic="C">
<visibleWhen checkEnabled="false">
<iterate ifEmpty="false">
<adapt type="org.eclipse.core.resources.IResource">
<test property="org.eclipse.core.resources.projectNature" value="org.eclipse.cdt.core.cnature"/>
</adapt>
</iterate>
</visibleWhen>
</command>
</menuContribution>
<!-- <menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar
id="org.eclipse.cdt.codan.ui.cxx.toolbars.sampleToolbar">
<command
commandId="org.eclipse.cdt.codan.ui.cxx.commands.runCodanCxxCommand"
icon="icons/sample.gif"
id="org.eclipse.cdt.codan.ui.cxx.toolbars.sampleCommand"
tooltip="%command.name">
</command>
</toolbar>
</menuContribution> -->
</extension>
</plugin> </plugin>

View file

@ -13,4 +13,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.cdt.codan.core;bundle-version="1.0.0" org.eclipse.cdt.codan.core;bundle-version="1.0.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.cdt.codan.internal.ui;x-friends:="org.eclipse.cdt.codan.ui.cxx",
org.eclipse.cdt.codan.internal.ui.actions;x-friends:="org.eclipse.cdt.codan.ui.cxx",
org.eclipse.cdt.codan.internal.ui.dialogs;x-friends:="org.eclipse.cdt.codan.ui.cxx",
org.eclipse.cdt.codan.internal.ui.preferences;x-friends:="org.eclipse.cdt.codan.ui.cxx"

View file

@ -4,4 +4,6 @@ Bundle-Name = Code Analysis UI
CodeAnalysisAction.label = Run Code Analysis CodeAnalysisAction.label = Run Code Analysis
CodeAnalysisProperties.name = Code Analysis CodeAnalysisProperties.name = Code Analysis
CodeAnalysisPreferences.name = Code Analysis CodeAnalysisPreferences.name = Code Analysis
CodeAnalysisPreferencesBuild.name = Launching CodeAnalysisPreferencesBuild.name = Launching
category.name = Code Analysis
command.name = Run Code Analysis

View file

@ -3,23 +3,14 @@
<plugin> <plugin>
<extension <extension
point="org.eclipse.ui.popupMenus"> point="org.eclipse.ui.commands">
<objectContribution <category
adaptable="true" id="org.eclipse.cdt.codan.ui.commands.category"
objectClass="org.eclipse.core.resources.IProject" name="%category.name">
nameFilter="*" </category>
id="org.eclipse.cdt.codan.ui.runaction">
<action
label="%CodeAnalysisAction.label"
class="org.eclipse.cdt.codan.internal.ui.actions.RunCodeAnalysis"
menubarPath="additions"
enablesFor="+"
id="org.eclipse.cdt.codan.ui.actions.RunCodeAnalysis">
</action>
</objectContribution>
</extension> </extension>
<extension <extension
point="org.eclipse.ui.preferencePages"> point="org.eclipse.ui.preferencePages">
<page <page
@ -63,4 +54,30 @@
</initializer> </initializer>
</extension> </extension>
<extension
point="org.eclipse.ui.commands">
<command
categoryId="org.eclipse.cdt.codan.ui.commands.category"
id="org.eclipse.cdt.codan.commands.runCodanCommand"
name="%command.name">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="org.eclipse.cdt.codan.ui.handlers.RunCodanCommand"
commandId="org.eclipse.cdt.codan.commands.runCodanCommand">
</handler>
</extension>
<!--
<extension
point="org.eclipse.ui.bindings">
<key
commandId="org.eclipse.cdt.codan.commands.runCodanCommand"
contextId="org.eclipse.ui.contexts.window"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+F9">
</key>
</extension>
-->
</plugin> </plugin>

View file

@ -0,0 +1,31 @@
package org.eclipse.cdt.codan.ui.handlers;
import org.eclipse.cdt.codan.internal.ui.actions.RunCodeAnalysis;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.handlers.HandlerUtil;
/**
* Command to run code analysis AbstractHandler, an IHandler base class.
* @see org.eclipse.core.commands.IHandler
* @see org.eclipse.core.commands.AbstractHandler
*/
public class RunCodanCommand extends AbstractHandler {
public RunCodanCommand() {
}
/**
* the command has been executed, so extract extract the needed information
* from the application context.
*/
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection currentSelection = HandlerUtil.getCurrentSelection(event);
RunCodeAnalysis action = new RunCodeAnalysis();
action.selectionChanged(null, currentSelection);
action.run(null);
return null;
}
}