Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java')
-rw-r--r--build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java35
1 files changed, 30 insertions, 5 deletions
diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java
index ca40fc7967e..db72b23bc80 100644
--- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java
+++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/views/AddTargetAction.java
@@ -5,26 +5,51 @@ package org.eclipse.cdt.make.ui.views;
* All Rights Reserved.
*/
+import java.util.List;
+
import org.eclipse.cdt.make.internal.ui.MakeUIImages;
+import org.eclipse.cdt.make.ui.dialogs.BuildTargetDialog;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IResource;
+import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.actions.SelectionListenerAction;
-
-public class AddTargetAction extends SelectionListenerAction {
+public class AddTargetAction extends SelectionListenerAction {
Shell shell;
IResource resource;
- public AddTargetAction (Shell shell) {
+ public AddTargetAction(Shell shell) {
super("Add Build Target");
this.shell = shell;
-
+
setToolTipText("Add Build Target");
MakeUIImages.setImageDescriptors(this, "tool16", MakeUIImages.IMG_TOOLS_MAKE_TARGET_ADD);
}
public void run() {
-
+ if (canAdd()) {
+ BuildTargetDialog dialog = new BuildTargetDialog(shell, (IContainer) getStructuredSelection().getFirstElement());
+ dialog.setOpenMode(BuildTargetDialog.OPEN_MODE_CREATE_NEW);
+ dialog.open();
+ }
+
}
+
+ protected boolean updateSelection(IStructuredSelection selection) {
+ return super.updateSelection(selection) && canAdd();
+ }
+
+ private boolean canAdd() {
+ List elements = getStructuredSelection().toList();
+ if (elements.size() > 1 || elements.size() < 1) {
+ return false;
+ }
+ if (elements.get(0) instanceof IContainer) {
+ return true;
+ }
+ return false;
+ }
+
}

Back to the top