diff --git a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
index cdab8712028..2ea626d2485 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
+++ b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml
@@ -429,7 +429,7 @@
name="%Wizard.defaults"
parent="org.eclipse.cdt.managedbuilder.ui.preferences.PrefPage_NewCDTWizard"/>
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/PropertyPageDefsTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java
similarity index 55%
rename from core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/PropertyPageDefsTab.java
rename to build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java
index cbe3dc50768..1cd10ae5afc 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/PropertyPageDefsTab.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java
@@ -8,23 +8,33 @@
* Contributors:
* Intel Corporation - initial API and implementation
*******************************************************************************/
-package org.eclipse.cdt.ui.newui;
+package org.eclipse.cdt.managedbuilder.ui.preferences;
+import org.eclipse.cdt.core.settings.model.ICResourceDescription;
+import org.eclipse.cdt.ui.newui.AbstractCPropertyTab;
+import org.eclipse.cdt.ui.newui.CDTPrefUtil;
+import org.eclipse.cdt.ui.newui.UIMessages;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.cdt.core.settings.model.ICResourceDescription;
+import org.eclipse.swt.widgets.Group;
public class PropertyPageDefsTab extends AbstractCPropertyTab {
+ private static final int SPACING = 5; // for radio buttons layout
+
private Button show_tree;
- private Button show_mul;
+// private Button show_mul;
private Button show_mng;
private Button show_sav;
private Button show_tool;
+ private Button b_0;
+ private Button b_1;
+ private Button b_2;
+ private Button b_3;
public void createControls(Composite parent) {
super.createControls(parent);
@@ -38,9 +48,9 @@ public class PropertyPageDefsTab extends AbstractCPropertyTab {
show_tree.setText(UIMessages.getString("PropertyPageDefsTab.1")); //$NON-NLS-1$
show_tree.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- show_mul = new Button(usercomp, SWT.CHECK);
- show_mul.setText(UIMessages.getString("PropertyPageDefsTab.2")); //$NON-NLS-1$
- show_mul.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ // show_mul = new Button(usercomp, SWT.CHECK);
+ // show_mul.setText(UIMessages.getString("PropertyPageDefsTab.2")); //$NON-NLS-1$
+ // show_mul.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
show_sav = new Button(usercomp, SWT.CHECK);
show_sav.setText(UIMessages.getString("PropertyPageDefsTab.3")); //$NON-NLS-1$
@@ -50,28 +60,58 @@ public class PropertyPageDefsTab extends AbstractCPropertyTab {
show_tool.setText(UIMessages.getString("PropertyPageDefsTab.4")); //$NON-NLS-1$
show_tool.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ Group discGrp = new Group(usercomp, SWT.NONE);
+ discGrp.setText(UIMessages.getString("PropertyPageDefsTab.5")); //$NON-NLS-1$
+ discGrp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ FillLayout fl = new FillLayout(SWT.VERTICAL);
+ fl.spacing = SPACING;
+ fl.marginHeight = SPACING;
+ fl.marginWidth = SPACING;
+ discGrp.setLayout(fl);
+
+ b_0 = new Button(discGrp, SWT.RADIO);
+ b_0.setText(UIMessages.getString("PropertyPageDefsTab.6")); //$NON-NLS-1$
+ b_1 = new Button(discGrp, SWT.RADIO);
+ b_1.setText(UIMessages.getString("PropertyPageDefsTab.7")); //$NON-NLS-1$
+ b_2 = new Button(discGrp, SWT.RADIO);
+ b_2.setText(UIMessages.getString("PropertyPageDefsTab.8")); //$NON-NLS-1$
+ b_3 = new Button(discGrp, SWT.RADIO);
+ b_3.setText(UIMessages.getString("PropertyPageDefsTab.9")); //$NON-NLS-1$
+
show_tree.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_DTREE));
- show_mul.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_MULTI));
+ // show_mul.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_MULTI));
show_mng.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NOMNG));
show_sav.setSelection(!CDTPrefUtil.getBool(CDTPrefUtil.KEY_NOSAVE));
show_tool.setSelection(CDTPrefUtil.getBool(CDTPrefUtil.KEY_TOOLM));
- show_mul.setVisible(false); // temporary
+ switch (CDTPrefUtil.getInt(CDTPrefUtil.KEY_DISC_NAMES)) {
+ case CDTPrefUtil.DISC_NAMING_UNIQUE_OR_BOTH: b_0.setSelection(true); break;
+ case CDTPrefUtil.DISC_NAMING_UNIQUE_OR_IDS: b_1.setSelection(true); break;
+ case CDTPrefUtil.DISC_NAMING_ALWAYS_BOTH: b_2.setSelection(true); break;
+ case CDTPrefUtil.DISC_NAMING_ALWAYS_IDS: b_3.setSelection(true); break;
+ }
}
protected void performOK() {
CDTPrefUtil.setBool(CDTPrefUtil.KEY_DTREE, show_tree.getSelection());
- CDTPrefUtil.setBool(CDTPrefUtil.KEY_MULTI, show_mul.getSelection());
+ // CDTPrefUtil.setBool(CDTPrefUtil.KEY_MULTI, show_mul.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NOMNG, !show_mng.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_NOSAVE, !show_sav.getSelection());
CDTPrefUtil.setBool(CDTPrefUtil.KEY_TOOLM, show_tool.getSelection());
+ int x = 0;
+ if (b_1.getSelection()) x = 1;
+ else if (b_2.getSelection()) x = 2;
+ else if (b_3.getSelection()) x = 3;
+ CDTPrefUtil.setInt(CDTPrefUtil.KEY_DISC_NAMES, x);
}
+
protected void performDefaults() {
show_tree.setSelection(false);
- show_mul.setSelection(false);
+ // show_mul.setSelection(false);
show_mng.setSelection(true);
show_mng.setSelection(true);
show_tool.setSelection(false);
+ b_0.setSelection(true);
}
protected void performApply(ICResourceDescription src, ICResourceDescription dst) { performOK(); }
diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/DiscoveryTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/DiscoveryTab.java
index f9ccff6829d..d3dfd72bf86 100644
--- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/DiscoveryTab.java
+++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/DiscoveryTab.java
@@ -35,6 +35,7 @@ import org.eclipse.cdt.managedbuilder.core.IResourceInfo;
import org.eclipse.cdt.managedbuilder.core.ITool;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.newui.CDTListComparator;
+import org.eclipse.cdt.ui.newui.CDTPrefUtil;
import org.eclipse.cdt.ui.newui.UIMessages;
import org.eclipse.cdt.utils.ui.controls.TabFolderLayout;
import org.eclipse.core.resources.IProject;
@@ -267,20 +268,18 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
Collections.sort(profilesList, CDTListComparator.getInstance());
visibleProfilesList = new ArrayList(profilesList.size());
realPages = new AbstractDiscoveryPage[profilesList.size()];
+ String[] labels = new String[profilesList.size()];
+ String[] profiles = new String[profilesList.size()];
Iterator it = profilesList.iterator();
int counter = 0;
int pos = 0;
String savedId = buildInfo.getSelectedProfileId();
while (it.hasNext()) {
String profileId = (String)it.next();
-
- System.out.println(profileId);
-
if (!cbi.isProfileSupported(iContext, profileId))
continue;
visibleProfilesList.add(profileId);
- String profileName = getProfileName(profileId);
- profileComboBox.add(profileName);
+ labels[counter] = profiles[counter] = getProfileName(profileId);
if (profileId.equals(savedId))
pos = counter;
buildInfo.setSelectedProfileId(profileId); // needs to create page
@@ -290,6 +289,9 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
AbstractDiscoveryPage pg = p.getPage();
if (pg != null) {
realPages[counter] = pg;
+ String s = p.name;
+ if (s != null && s.length() > 0)
+ labels[counter] = s;
pg.setContainer(wrapper);
pg.createControl(profileComp);
profileComp.layout(true);
@@ -299,11 +301,70 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
}
counter ++;
}
- buildInfo.setSelectedProfileId(savedId);
- if (profileComboBox.getItemCount() > 0)
- profileComboBox.select(pos);
- enableAllControls();
- handleDiscoveryProfileChanged();
+ profileComboBox.setItems(normalize(labels, profiles, counter));
+
+ buildInfo.setSelectedProfileId(savedId);
+ if (profileComboBox.getItemCount() > 0)
+ profileComboBox.select(pos);
+ enableAllControls();
+ handleDiscoveryProfileChanged();
+ }
+
+ private String[] normalize(String[] labels, String[] ids, int counter) {
+ int mode = CDTPrefUtil.getInt(CDTPrefUtil.KEY_DISC_NAMES);
+ String[] tmp = new String[counter];
+ // Always show either Name + ID, or ID only
+ // These cases do not require checking for doubles.
+ if (mode == CDTPrefUtil.DISC_NAMING_ALWAYS_BOTH ||
+ mode == CDTPrefUtil.DISC_NAMING_ALWAYS_IDS){
+ for (int i=0; i tab
PropertyPageDefsTab.2=Enable multiple configurations setting
PropertyPageDefsTab.3=Save property dialog size and position
PropertyPageDefsTab.4=Display tab
+PropertyPageDefsTab.5=Discovery profiles naming rule
+PropertyPageDefsTab.6=Show disc. page names if they're unique. Else names + profile IDs.
+PropertyPageDefsTab.7=Show disc. page names if they're unique. Else show profile IDs.
+PropertyPageDefsTab.8=Always show names + profile IDs
+PropertyPageDefsTab.9=Always show profile IDs only
ProjectConvert.convertersList=Converters List
ScannerConfigOptionsDialog.title=Discovery Options