[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] make build location fix & help IDs
|
small fix to build location path plus ui change to add container browse
dialog plus added help ids.
Index: src/org/eclipse/cdt/make/core/MakeBuilder.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakeBuilder.java,v
retrieving revision 1.10
diff -u -r1.10 MakeBuilder.java
--- src/org/eclipse/cdt/make/core/MakeBuilder.java 22 Sep 2003 12:44:46 -0000 1.10
+++ src/org/eclipse/cdt/make/core/MakeBuilder.java 23 Sep 2003 13:56:44 -0000
@@ -24,6 +24,7 @@
import org.eclipse.cdt.core.model.ICModelMarker;
import org.eclipse.cdt.core.resources.ACBuilder;
import org.eclipse.cdt.core.resources.IConsole;
+import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -110,8 +111,14 @@
// remove all markers for this project
removeAllMarkers(currProject);
- IPath workingDirectory = info.getBuildLocation();
- if (workingDirectory.isEmpty()) {
+ IPath workingDirectory = null;
+ if (!info.getBuildLocation().isEmpty()) {
+ IResource res = currProject.getParent().findMember(info.getBuildLocation());
+ if ( res instanceof IContainer && res.exists()) {
+ workingDirectory = res.getLocation();
+ }
+ }
+ if ( workingDirectory == null) {
workingDirectory = currProject.getLocation();
}
String[] targets = getTargets(kind, info);
Index: src/org/eclipse/cdt/make/ui/IMakeHelpContextIds.java
===================================================================
RCS file: src/org/eclipse/cdt/make/ui/IMakeHelpContextIds.java
diff -N src/org/eclipse/cdt/make/ui/IMakeHelpContextIds.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/eclipse/cdt/make/ui/IMakeHelpContextIds.java 23 Sep 2003 13:59:00 -0000
@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ *
+ * Contributors:
+ * QNX Software Systems - Initial API and implementation
+***********************************************************************/
+package org.eclipse.cdt.make.ui;
+
+import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
+
+public interface IMakeHelpContextIds {
+ public static final String PREFIX = MakeUIPlugin.getUniqueIdentifier() + ".";
+
+ public static final String MAKE_PATH_SYMBOL_SETTINGS = PREFIX + "cdt_paths_symbols_page";
+ public static final String MAKE_BUILDER_SETTINGS = PREFIX + "cdt_make_builder_page";
+}
Index: src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java,v
retrieving revision 1.1
diff -u -r1.1 BuildPathInfoBlock.java
--- src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java 4 Sep 2003 17:42:03 -0000 1.1
+++ src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java 23 Sep 2003 13:59:00 -0000
@@ -18,6 +18,7 @@
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.core.MakeScannerInfo;
import org.eclipse.cdt.make.core.MakeScannerProvider;
+import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.dialogs.AbstractCOptionPage;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@@ -38,6 +39,7 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.help.WorkbenchHelp;
public class BuildPathInfoBlock extends AbstractCOptionPage {
@@ -386,6 +388,9 @@
Composite composite = ControlFactory.createComposite(parent, tabColumns);
composite.setFont(font);
GridData gd;
+ setControl(composite);
+
+ WorkbenchHelp.setHelp(getControl(), IMakeHelpContextIds.MAKE_PATH_SYMBOL_SETTINGS);
// Create a label for the include paths control
Label paths = ControlFactory.createLabel(composite, CUIPlugin.getResourceString(PATHS));
@@ -416,7 +421,6 @@
enablePathButtons();
symbolList.select(0);
enableSymbolButtons();
- setControl(composite);
}
private String[] getPathListContents() {
Index: src/org/eclipse/cdt/make/ui/dialogs/SettingsBlock.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/SettingsBlock.java,v
retrieving revision 1.1
diff -u -r1.1 SettingsBlock.java
--- src/org/eclipse/cdt/make/ui/dialogs/SettingsBlock.java 4 Sep 2003 17:42:03 -0000 1.1
+++ src/org/eclipse/cdt/make/ui/dialogs/SettingsBlock.java 23 Sep 2003 13:59:00 -0000
@@ -8,6 +8,7 @@
import org.eclipse.cdt.make.core.IMakeBuilderInfo;
import org.eclipse.cdt.make.core.MakeCorePlugin;
import org.eclipse.cdt.make.internal.ui.MakeUIPlugin;
+import org.eclipse.cdt.make.ui.IMakeHelpContextIds;
import org.eclipse.cdt.ui.dialogs.AbstractCOptionPage;
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
@@ -30,6 +31,8 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.eclipse.ui.help.WorkbenchHelp;
public class SettingsBlock extends AbstractCOptionPage {
@@ -220,15 +223,23 @@
browse.setText(MakeUIPlugin.getResourceString(MAKE_BUILD_DIR_BROWSE));
browse.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
+ ContainerSelectionDialog dialog = new ContainerSelectionDialog(getShell(), getContainer().getProject(), true, "Selection Locations to build from.");
+ if ( dialog.open() == ContainerSelectionDialog.OK ) {
+ Object[] selection = dialog.getResult();
+ if (selection.length > 0) {
+ buildLocation.setText(((IPath)selection[0]).toOSString());
+ }
+ }
}
});
- browse.setEnabled(false);
buildLocation.setText(fBuildInfo.getBuildLocation().toOSString());
}
public void createControl(Composite parent) {
Composite composite = ControlFactory.createComposite(parent, 1);
setControl(composite);
+
+ WorkbenchHelp.setHelp(getControl(), IMakeHelpContextIds.MAKE_BUILDER_SETTINGS);
if (fBuildInfo == null) {
ControlFactory.createEmptySpace(composite);