[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
add workbench build/rebuild in cview.
Index: src/org/eclipse/cdt/internal/ui/cview/CView.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CView.java,v
retrieving revision 1.30
diff -u -r1.30 CView.java
--- src/org/eclipse/cdt/internal/ui/cview/CView.java 16 Sep 2003 20:45:41 -0000 1.30
+++ src/org/eclipse/cdt/internal/ui/cview/CView.java 18 Sep 2003 18:19:03 -0000
@@ -34,6 +34,7 @@
import org.eclipse.cdt.ui.CElementContentProvider;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.PreferenceConstants;
+import org.eclipse.core.resources.ICommand;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -42,6 +43,7 @@
import org.eclipse.core.resources.IResourceChangeEvent;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IncrementalProjectBuilder;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
@@ -134,8 +136,6 @@
// Actions for Menu context.
AddBookmarkAction addBookmarkAction;
- //BuildAction buildAction;
- //BuildAction rebuildAction;
CopyResourceAction copyResourceAction;
DeleteResourceAction deleteResourceAction;
OpenFileAction openFileAction;
@@ -816,15 +816,29 @@
}
menu.add(new GroupMarker(BUILD_GROUP_MARKER));
+ if (resource instanceof IProject && hasBuilder((IProject) resource)) {
+ buildAction.selectionChanged(selection);
+ menu.add(buildAction);
+ rebuildAction.selectionChanged(selection);
+ menu.add(rebuildAction);
+ }
- //if (resource instanceof IProject) {
- // Allow manual incremental build only if auto build is off.
- //if (!ResourcesPlugin.getWorkspace().isAutoBuilding()) {
- //menu.add(buildAction);
- //}
- //}
menu.add(new GroupMarker(BUILD_GROUP_MARKER_END));
}
+
+ boolean hasBuilder(IProject project) {
+ try {
+ ICommand[] commands = project.getDescription().getBuildSpec();
+ if (commands.length > 0)
+ return true;
+ }
+ catch (CoreException e) {
+ // Cannot determine if project has builders. Project is closed
+ // or does not exist. Fall through to return false.
+ }
+ return false;
+ }
+
void addRefreshMenu (IMenuManager menu, IStructuredSelection selection) {
menu.add(refreshAction);