diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PreferredToolchainsTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PreferredToolchainsTab.java index 87dbbc82baa..7bf45d4d004 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PreferredToolchainsTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PreferredToolchainsTab.java @@ -20,6 +20,8 @@ import org.eclipse.cdt.ui.newui.PageLayout; import org.eclipse.cdt.ui.newui.UIMessages; import org.eclipse.cdt.ui.wizards.CDTMainWizardPage; import org.eclipse.cdt.ui.wizards.CWizardHandler; +import org.eclipse.cdt.ui.wizards.EntryDescriptor; +import org.eclipse.core.runtime.CoreException; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -66,7 +68,7 @@ public class PreferredToolchainsTab extends AbstractCBuildPropertyTab { public void widgetSelected(SelectionEvent e) { TreeItem[] tis = tree.getSelection(); if (tis == null || tis.length == 0) return; - switchTo((CWizardHandler)tis[0].getData()); + switchTo((CWizardHandler)tis[0].getData(), (EntryDescriptor)tis[0].getData(CDTMainWizardPage.DESC)); }}); right = new Composite(c, SWT.NONE); @@ -103,10 +105,12 @@ public class PreferredToolchainsTab extends AbstractCBuildPropertyTab { public void widgetSelected(SelectionEvent e) { if (h_selected != null) h_selected.setSupportedOnly(show_sup.getSelection()); - switchTo(CDTMainWizardPage.updateData(tree, right, show_sup, null, null)); - }} ); + switchTo(CDTMainWizardPage.updateData(tree, right, show_sup, null, null), + CDTMainWizardPage.getDescriptor(tree)); + }}); CDTPrefUtil.readPreferredTCs(); - switchTo(CDTMainWizardPage.updateData(tree, right, show_sup, null, null)); + switchTo(CDTMainWizardPage.updateData(tree, right, show_sup, null, null), + CDTMainWizardPage.getDescriptor(tree)); } private void setPref(boolean set) { @@ -123,15 +127,30 @@ public class PreferredToolchainsTab extends AbstractCBuildPropertyTab { h_selected.updatePreferred(CDTPrefUtil.getPreferredTCs()); } - private void switchTo(CWizardHandler h) { - if (h == null) return; +// private void switchTo(CWizardHandler h) { +// if (h == null) return; +// if (h_selected != null) h_selected.handleUnSelection(); +// h_selected = h; +// right_label.setText(h_selected.getHeader()); +// h_selected.setSupportedOnly(show_sup.getSelection()); +// h_selected.handleSelection(); +// } + + private void switchTo(CWizardHandler h, EntryDescriptor ed) { + if (h == null) h = ed.getHandler(); + try { + if (h != null && ed != null) h.initialize(ed); + } catch (CoreException e) { h = null; } if (h_selected != null) h_selected.handleUnSelection(); h_selected = h; + if (h == null) return; right_label.setText(h_selected.getHeader()); h_selected.handleSelection(); h_selected.setSupportedOnly(show_sup.getSelection()); } + + protected void performOK() { CDTPrefUtil.savePreferredTCs(); } diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java index 30b5bf2ac83..360fbc1eb33 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/preferences/PropertyPageDefsTab.java @@ -142,10 +142,15 @@ public class PropertyPageDefsTab extends AbstractCPropertyTab { show_tree.setSelection(false); // show_mul.setSelection(false); show_mng.setSelection(true); - show_mng.setSelection(true); - show_tool.setSelection(false); + show_tool.setSelection(true); show_exp.setSelection(false); b_0.setSelection(true); + b_1.setSelection(false); + b_2.setSelection(false); + b_3.setSelection(false); + s_0.setSelection(true); + s_1.setSelection(false); + s_2.setSelection(false); } protected void performApply(ICResourceDescription src, ICResourceDescription dst) { performOK(); } diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java index 8398e84b49b..86633d0fef8 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/MBSWizardHandler.java @@ -241,7 +241,9 @@ public class MBSWizardHandler extends CWizardHandler { return true; Object ob = tcs.get(tcId); - if (ob == null || !(ob instanceof IToolChain)) + if (ob == null) + return true; // sic ! This can occur with Other Toolchain only + if (!(ob instanceof IToolChain)) return false; String id1 = ((IToolChain)ob).getId(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java index 4be616e6672..34553ba62a1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractCPropertyTab.java @@ -492,7 +492,7 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab { if (canBeVisible()) performCancel(); break; case ICPropertyTab.DEFAULTS: - if (canBeVisible() && getResDesc() != null) { + if (canBeVisible() /*&& getResDesc() != null*/) { updateData(getResDesc()); performDefaults(); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/BinaryParsTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/BinaryParsTab.java index 4f8299fe8b8..74bd07950f2 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/BinaryParsTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/BinaryParsTab.java @@ -186,6 +186,7 @@ public class BinaryParsTab extends AbstractCPropertyTab { data[i++] = clone.get(s); } tv.setInput(data); + tv.setAllChecked(false); // set check marks for (i=0; i