1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-12 19:45:22 +02:00
David Inglis 2003-11-21 15:00:07 +00:00
parent 657b31a6d3
commit 6e2b6334e7
2 changed files with 90 additions and 7 deletions

View file

@ -102,20 +102,89 @@
</filter>
</objectContribution>
<objectContribution
objectClass="org.eclipse.core.resources.IContainer"
objectClass="org.eclipse.cdt.core.model.ITranslationUnit"
adaptable="false"
id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
<action
label="%ActionMakeCreateTarget.label"
class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
</action>
<action
label="%ActionMakeBuildTarget.label"
class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
</action>
<filter
name="projectNature"
value="org.eclipse.cdt.make.core.makeNature">
</filter>
</objectContribution>
<objectContribution
objectClass="org.eclipse.cdt.core.model.IBinary"
adaptable="false"
id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
<action
label="%ActionMakeCreateTarget.label"
class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
</action>
<action
label="%ActionMakeBuildTarget.label"
class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
</action>
<filter
name="projectNature"
value="org.eclipse.cdt.make.core.makeNature">
</filter>
</objectContribution>
<objectContribution
objectClass="org.eclipse.cdt.core.model.IArchive"
adaptable="false"
id="org.eclipse.cdt.make.ui.popupMenu.CViewContribution">
<action
label="%ActionMakeCreateTarget.label"
class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
</action>
<action
label="%ActionMakeBuildTarget.label"
class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewBuildTargetAction">
</action>
<filter
name="projectNature"
value="org.eclipse.cdt.make.core.makeNature">
</filter>
</objectContribution>
<objectContribution
objectClass="org.eclipse.core.resources.IResource"
adaptable="false"
id="org.eclipse.cdt.make.ui.popupMenu.NavigatorContribution">
<action
label="%ActionMakeBuildTarget.label"
class="org.eclipse.cdt.make.ui.actions.BuildTargetAction"
menubarPath="additions"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.NavigatorBuildTargetAction">
</action>
<action
label="%ActionMakeCreateTarget.label"
class="org.eclipse.cdt.make.ui.actions.CreateTargetAction"
menubarPath="additions"
menubarPath="buildGroup"
enablesFor="1"
id="org.eclipse.cdt.make.ui.CViewCreateTargetAction">
</action>

View file

@ -9,9 +9,11 @@
package org.eclipse.cdt.make.ui.actions;
import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
@ -54,10 +56,22 @@ public abstract class AbstractTargetAction
boolean enabled = false;
if (selection instanceof IStructuredSelection) {
IStructuredSelection sel = (IStructuredSelection) selection;
if (sel.getFirstElement() instanceof ICContainer) {
fContainer = (IContainer) ((ICContainer) sel.getFirstElement()).getUnderlyingResource();
} else if (sel.getFirstElement() instanceof IContainer) {
fContainer = (IContainer) sel.getFirstElement();
Object obj = sel.getFirstElement();
if (obj instanceof ICElement) {
if ( obj instanceof ICContainer) {
fContainer = (IContainer) ((ICContainer) obj).getUnderlyingResource();
} else {
obj = ((ICElement)obj).getResource();
if ( obj != null) {
fContainer = ((IResource)obj).getParent();
}
}
} else if (obj instanceof IResource) {
if (obj instanceof IContainer) {
fContainer = (IContainer) obj;
} else {
fContainer = ((IResource)obj).getParent();
}
} else {
fContainer = null;
}