diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java index f71fb073a53..570c3652993 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java @@ -83,6 +83,7 @@ import org.eclipse.cdt.managedbuilder.internal.core.ManagedCommandLineGenerator; import org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeMessages; import org.eclipse.cdt.managedbuilder.internal.core.ManagedProject; import org.eclipse.cdt.managedbuilder.internal.core.MultiConfiguration; +import org.eclipse.cdt.managedbuilder.internal.core.MultiFolderInfo; import org.eclipse.cdt.managedbuilder.internal.core.MultiResourceInfo; import org.eclipse.cdt.managedbuilder.internal.core.Option; import org.eclipse.cdt.managedbuilder.internal.core.OptionCategory; @@ -1691,11 +1692,18 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI */ public static void resetConfiguration(IProject project, IConfiguration configuration) { // reset the configuration - ((Configuration)configuration).reset(); - - performValueHandlerEvent(configuration, - IManagedOptionValueHandler.EVENT_SETDEFAULT, false); - + if (configuration instanceof MultiConfiguration) { + IConfiguration[] cfs = (IConfiguration[])((MultiConfiguration)configuration).getItems(); + for (IConfiguration c : cfs) { + ((Configuration)c).reset(); + performValueHandlerEvent(c, + IManagedOptionValueHandler.EVENT_SETDEFAULT, false); + } + } else { + ((Configuration)configuration).reset(); + performValueHandlerEvent(configuration, + IManagedOptionValueHandler.EVENT_SETDEFAULT, false); + } } public static void resetResourceConfiguration(IProject project, IResourceConfiguration resConfig) { @@ -1709,17 +1717,34 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI public static void resetOptionSettings(IResourceInfo rcInfo){ if(rcInfo instanceof IFileInfo){ - Configuration cfg = (Configuration)rcInfo.getParent(); - IProject project; + IConfiguration c = rcInfo.getParent(); + Configuration cfg = null; + IProject project = null; + if (c instanceof Configuration) + cfg = (Configuration)c; + else if (c instanceof MultiConfiguration) { + MultiConfiguration mc = (MultiConfiguration)c; + IConfiguration[] cfs = (IConfiguration[])mc.getItems(); + cfg = (Configuration)cfs[0]; + } if(cfg.isExtensionElement() || cfg.isPreference()) project = null; else project = cfg.getOwner().getProject(); - resetResourceConfiguration(project, (IFileInfo)rcInfo); + if (rcInfo instanceof MultiResourceInfo) { + for (IResourceInfo ri : (IResourceInfo[])((MultiResourceInfo)rcInfo).getItems()) + resetResourceConfiguration(project, (IFileInfo)ri); + } else + resetResourceConfiguration(project, (IFileInfo)rcInfo); } else { - FolderInfo fo = (FolderInfo)rcInfo; - fo.resetOptionSettings(); + if (rcInfo instanceof MultiFolderInfo) { + for (IFolderInfo fi : (IFolderInfo[])((MultiFolderInfo)rcInfo).getItems()) + ((FolderInfo)fi).resetOptionSettings(); + } else { + FolderInfo fo = (FolderInfo)rcInfo; + fo.resetOptionSettings(); + } } } /** diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java index 7910da5e2e3..10712f62945 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java @@ -578,7 +578,7 @@ public class MultiConfiguration extends MultiItemsHolder implements System.arraycopy(ris, 0, fis, 0, ris.length); return new MultiFolderInfo(fis, this); } - return new MultiResourceInfo(ris, this); + return new MultiFileInfo(ris, this); } /* (non-Javadoc) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFileInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFileInfo.java new file mode 100644 index 00000000000..01df1a52816 --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFileInfo.java @@ -0,0 +1,149 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Intel Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Intel Corporation - Initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.managedbuilder.internal.core; + +import org.eclipse.cdt.core.settings.model.extension.CFileData; +import org.eclipse.cdt.managedbuilder.core.IConfiguration; +import org.eclipse.cdt.managedbuilder.core.IFileInfo; +import org.eclipse.cdt.managedbuilder.core.IResourceInfo; +import org.eclipse.cdt.managedbuilder.core.ITool; +import org.eclipse.core.resources.IResource; + +/** + * + */ +public class MultiFileInfo extends MultiResourceInfo implements IFileInfo { + + public MultiFileInfo(IResourceInfo[] ris, IConfiguration p) { + super(ris, p); + fRis = ris; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IFileInfo#getFileData() + */ + public CFileData getFileData() { + return ((IFileInfo)fRis[curr]).getFileData(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#createTool(org.eclipse.cdt.managedbuilder.core.ITool, java.lang.String, java.lang.String, boolean) + */ + public ITool createTool(ITool superClass, String Id, String name, + boolean isExtensionElement) { + ITool t = null; + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + t = fi.createTool(superClass, Id, name, isExtensionElement); + } + } + return t; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#getOwner() + */ + public IResource getOwner() { + return ((IFileInfo)fRis[curr]).getOwner(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#getRcbsApplicability() + */ + public int getRcbsApplicability() { + return ((IFileInfo)fRis[curr]).getRcbsApplicability(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#getResourcePath() + */ + public String getResourcePath() { + return ((IFileInfo)fRis[curr]).getResourcePath(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#getTool(java.lang.String) + */ + public ITool getTool(String id) { + return ((IFileInfo)fRis[curr]).getTool(id); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#getToolsToInvoke() + */ + public ITool[] getToolsToInvoke() { + return ((IFileInfo)fRis[curr]).getToolsToInvoke(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#removeTool(org.eclipse.cdt.managedbuilder.core.ITool) + */ + public void removeTool(ITool tool) { + System.out.println("MultiFileInfo.removeTool() does not work OK !"); + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + fi.removeTool(tool); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#setRcbsApplicability(int) + */ + public void setRcbsApplicability(int value) { + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + fi.setRcbsApplicability(value); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#setResourcePath(java.lang.String) + */ + public void setResourcePath(String path) { + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + fi.setResourcePath(path); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#setToolCommand(org.eclipse.cdt.managedbuilder.core.ITool, java.lang.String) + */ + public void setToolCommand(ITool tool, String command) { + System.out.println("MultiFileInfo.setToolCommand() does not work OK !"); + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + fi.setToolCommand(tool, command); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IResourceConfiguration#setTools(org.eclipse.cdt.managedbuilder.core.ITool[]) + */ + public void setTools(ITool[] tools) { + for (IResourceInfo ri : fRis) { + if (ri instanceof IFileInfo) { + IFileInfo fi = (IFileInfo)ri; + fi.setTools(tools); + } + } + } + +} diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java index e90278d1546..1d02c115fe5 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java @@ -28,7 +28,7 @@ import org.eclipse.core.runtime.PluginVersionIdentifier; * belonging to different configurations while they are * edited simultaneously. */ -public class MultiResourceInfo extends MultiItemsHolder implements +public abstract class MultiResourceInfo extends MultiItemsHolder implements IResourceInfo { private static final int MODE_BOOL = 0; private static final int MODE_STR = 1; diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/AbstractCBuildPropertyTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/AbstractCBuildPropertyTab.java index 25d2a2b45cc..03eec0b57fb 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/AbstractCBuildPropertyTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/AbstractCBuildPropertyTab.java @@ -46,7 +46,7 @@ public abstract class AbstractCBuildPropertyTab extends AbstractCPropertyTab { public IConfiguration getCfg() { return getCfg(getResDesc().getConfiguration()); } - public IConfiguration getCfg(ICConfigurationDescription cfgd) { + public static IConfiguration getCfg(ICConfigurationDescription cfgd) { if (cfgd instanceof ICMultiConfigDescription) { ICConfigurationDescription[] cfds = (ICConfigurationDescription[])((ICMultiConfigDescription)cfgd).getItems(); return new MultiConfiguration(cfds, 9); diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildBehaviourTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildBehaviourTab.java index ccd985ea2e1..820fa783e61 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildBehaviourTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildBehaviourTab.java @@ -11,12 +11,15 @@ *******************************************************************************/ package org.eclipse.cdt.managedbuilder.ui.properties; +import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; +import org.eclipse.cdt.core.settings.model.ICMultiConfigDescription; import org.eclipse.cdt.core.settings.model.ICMultiItemsHolder; import org.eclipse.cdt.core.settings.model.ICResourceDescription; import org.eclipse.cdt.managedbuilder.core.IBuilder; import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IMultiConfiguration; import org.eclipse.cdt.managedbuilder.internal.buildmodel.BuildProcessManager; +import org.eclipse.cdt.managedbuilder.internal.core.Builder; import org.eclipse.cdt.managedbuilder.internal.core.Configuration; import org.eclipse.cdt.managedbuilder.internal.core.MultiConfiguration; import org.eclipse.cdt.newmake.core.IMakeBuilderInfo; @@ -395,12 +398,57 @@ public class BuildBehaviourTab extends AbstractCBuildPropertyTab { } public void performApply(ICResourceDescription src, ICResourceDescription dst) { - Configuration cfg01 = (Configuration)getCfg(src.getConfiguration()); - Configuration cfg02 = (Configuration)getCfg(dst.getConfiguration()); - cfg02.enableInternalBuilder(cfg01.isInternalBuilderEnabled()); - BuilderSettingsTab.copyBuilders(cfg01.getBuilder(), cfg02.getEditableBuilder()); + apply(src, dst, page.isMultiCfg()); + } + + static void apply(ICResourceDescription src, ICResourceDescription dst, boolean multi) { + if (multi) { + ICMultiConfigDescription mc1 = (ICMultiConfigDescription)src.getConfiguration(); + ICMultiConfigDescription mc2 = (ICMultiConfigDescription)dst.getConfiguration(); + ICConfigurationDescription[] cds1 = (ICConfigurationDescription[])mc1.getItems(); + ICConfigurationDescription[] cds2 = (ICConfigurationDescription[])mc2.getItems(); + for (int i=0; i 0 && add2.length > 0) { - add2[0].setPaths(createList(add1[0].getPaths())); - } - } - IOutputType[] tmp1 = tool1.getOutputTypes(); - IOutputType[] tmp2 = tool2.getOutputTypes(); -// if (tmp1 != null && tmp2 != null && tmp1.length > 0 && tmp2.length > 0) { - if (valid(tmp1) && valid(tmp2)) { - tmp2[0].setOutputNames(createList(tmp1[0].getOutputNames())); - } - tool2.setToolCommand(tool1.getToolCommand()); - tool2.setAnnouncement(tool1.getAnnouncement()); + if (page.isMultiCfg()) { + ICResourceDescription[] ris1 = (ICResourceDescription[])((ICMultiResourceDescription)src).getItems(); + ICResourceDescription[] ris2 = (ICResourceDescription[])((ICMultiResourceDescription)dst).getItems(); + for (int i=0; i 0 && add2.length > 0) { + add2[0].setPaths(createList(add1[0].getPaths())); + } + } + IOutputType[] tmp1 = tool1.getOutputTypes(); + IOutputType[] tmp2 = tool2.getOutputTypes(); +// if (tmp1 != null && tmp2 != null && tmp1.length > 0 && tmp2.length > 0) { + if (valid(tmp1) && valid(tmp2)) { + tmp2[0].setOutputNames(createList(tmp1[0].getOutputNames())); + } + tool2.setToolCommand(tool1.getToolCommand()); + tool2.setAnnouncement(tool1.getAnnouncement()); + } + private int sel2app(int index){ String sel = combo.getItem(index); if(UIMessages.getString(RCBS_OVERRIDE).equals(sel)){ diff --git a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuilderSettingsTab.java b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuilderSettingsTab.java index 243109ae39b..f71def95e35 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuilderSettingsTab.java +++ b/build/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuilderSettingsTab.java @@ -15,7 +15,6 @@ import org.eclipse.cdt.core.settings.model.ICResourceDescription; import org.eclipse.cdt.managedbuilder.core.IBuilder; import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IMultiConfiguration; -import org.eclipse.cdt.managedbuilder.internal.core.Builder; import org.eclipse.cdt.managedbuilder.internal.core.Configuration; import org.eclipse.cdt.managedbuilder.internal.core.MultiConfiguration; import org.eclipse.cdt.ui.CUIPlugin; @@ -119,7 +118,7 @@ public class BuilderSettingsTab extends AbstractCBuildPropertyTab { b_dirVars = setupBottomButton(c, VARIABLESBUTTON_NAME); } - void setManagedBuild(boolean enable) { + private void setManagedBuild(boolean enable) { setManagedBuildOn(enable); page.informPages(MANAGEDBUILDSTATE, null); updateButtons(); @@ -192,7 +191,7 @@ public class BuilderSettingsTab extends AbstractCBuildPropertyTab { canModify = true; } - Button setupBottomButton(Composite c, String name) { + private Button setupBottomButton(Composite c, String name) { Button b = new Button(c, SWT.PUSH); b.setText(name); GridData fd = new GridData(GridData.CENTER); @@ -302,42 +301,9 @@ public class BuilderSettingsTab extends AbstractCBuildPropertyTab { } public void performApply(ICResourceDescription src, ICResourceDescription dst) { - Configuration cfg01 = (Configuration)getCfg(src.getConfiguration()); - Configuration cfg02 = (Configuration)getCfg(dst.getConfiguration()); - cfg02.enableInternalBuilder(cfg01.isInternalBuilderEnabled()); - copyBuilders(cfg01.getBuilder(), cfg02.getEditableBuilder()); + BuildBehaviourTab.apply(src, dst, page.isMultiCfg()); } - static void copyBuilders(IBuilder b1, IBuilder b2) { - try { - b2.setUseDefaultBuildCmd(b1.isDefaultBuildCmd()); - if (!b1.isDefaultBuildCmd()) { - b2.setCommand(b1.getCommand()); - b2.setArguments(b1.getArguments()); - } else { - b2.setCommand(null); - b2.setArguments(null); - } - b2.setStopOnError(b1.isStopOnError()); - b2.setParallelBuildOn(b1.isParallelBuildOn()); - b2.setParallelizationNum(b1.getParallelizationNum()); - if (b2.canKeepEnvironmentVariablesInBuildfile()) - b2.setKeepEnvironmentVariablesInBuildfile(b1.keepEnvironmentVariablesInBuildfile()); - ((Builder)b2).setBuildPath(((Builder)b1).getBuildPathAttribute()); - - b2.setAutoBuildEnable((b1.isAutoBuildEnable())); - b2.setBuildAttribute(IBuilder.BUILD_TARGET_AUTO, (b1.getBuildAttribute(IBuilder.BUILD_TARGET_AUTO, EMPTY_STR))); - b2.setCleanBuildEnable(b1.isCleanBuildEnabled()); - b2.setBuildAttribute(IBuilder.BUILD_TARGET_CLEAN, (b1.getBuildAttribute(IBuilder.BUILD_TARGET_CLEAN, EMPTY_STR))); - b2.setIncrementalBuildEnable(b1.isIncrementalBuildEnabled()); - b2.setBuildAttribute(IBuilder.BUILD_TARGET_INCREMENTAL, (b1.getBuildAttribute(IBuilder.BUILD_TARGET_INCREMENTAL, EMPTY_STR))); - - b2.setManagedBuildOn(b1.isManagedBuildOn()); - } catch (CoreException ex) { - ManagedBuilderUIPlugin.log(ex); - } - } - /* (non-Javadoc) * * @param string @@ -365,10 +331,10 @@ public class BuilderSettingsTab extends AbstractCBuildPropertyTab { IConfiguration[] cfs = (IConfiguration[])((IMultiConfiguration)icfg).getItems(); for (int i=0; i comp = CDTListComparator.getInstance(); private ICLanguageSetting[] lsets = null; public MultiFolderDescription(ICFolderDescription[] res, int mode) { @@ -93,7 +93,7 @@ public class MultiFolderDescription extends MultiResourceDescription implements ICLanguageSetting[] fs = conv2LS(getListForDisplay(ls, comp)); lsets = new ICLanguageSetting[fs.length]; for (int i=0; i list = new ArrayList(fRess.length); for (int j=0; j= 0) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/MultiResourceDescription.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/MultiResourceDescription.java index a9c44e52e27..cf4aa771743 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/MultiResourceDescription.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/MultiResourceDescription.java @@ -27,7 +27,7 @@ import org.eclipse.core.runtime.IPath; /** * This class represents multi-resource holder */ -public class MultiResourceDescription extends MultiItemsHolder implements ICMultiResourceDescription { +public abstract class MultiResourceDescription extends MultiItemsHolder implements ICMultiResourceDescription { ICResourceDescription[] fRess = null; ICConfigurationDescription fCfg = null; 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 d734dc4e7c3..f8f74044c2b 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 @@ -619,6 +619,8 @@ public abstract class AbstractCPropertyTab implements ICPropertyTab { setBackgroundText(msg); usercomp.setVisible(visible); buttoncomp.setVisible(visible); + page.getAButton().setVisible(visible); + page.getDButton().setVisible(visible); } /** diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractExportTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractExportTab.java index 5ac8d67d40d..2b5652d94b1 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractExportTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractExportTab.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Intel Corporation and others. + * Copyright (c) 2007, 2008 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -167,7 +167,7 @@ public abstract class AbstractExportTab extends AbstractCPropertyTab { * Called when item added/edited/removed. * Refreshes whole table contwnts */ - public void update() { + protected void update() { int x = table.getSelectionIndex(); if (x == -1) x = 0; @@ -327,7 +327,7 @@ outer: return ein; } - public void performApply(ICResourceDescription src, ICResourceDescription dst) { + protected void performApply(ICResourceDescription src, ICResourceDescription dst) { ICConfigurationDescription c1 = src.getConfiguration(); ICConfigurationDescription c2 = dst.getConfiguration(); c2.removeExternalSettings(); @@ -389,18 +389,9 @@ outer: } public boolean canBeVisible() { - if (! page.isForProject() ) return false; - + if (! page.isForProject() ) + return false; return true; - /* - if (getResDesc() == null) return true; - ICLanguageSetting [] ls = getLangSetting(getResDesc()); - for (int i=0; i 0); } - public void performApply(ICResourceDescription src, ICResourceDescription dst) { + protected void performApply(ICResourceDescription src, ICResourceDescription dst) { ICConfigurationDescription sd = src.getConfiguration(); ICConfigurationDescription dd = dst.getConfiguration(); String[] s = (sd instanceof ICMultiConfigDescription) ? diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ICPropertyProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ICPropertyProvider.java index 7aa0aa12261..4884ff57c05 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ICPropertyProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/ICPropertyProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Intel Corporation and others. + * Copyright (c) 2007, 2008 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ package org.eclipse.cdt.ui.newui; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.swt.widgets.Button; import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; import org.eclipse.cdt.core.settings.model.ICResourceDescription; @@ -64,5 +65,8 @@ public interface ICPropertyProvider extends ICOptionContainer { // Checks whether a project is new CDT model-style boolean isCDTProject(IProject p); boolean isMultiCfg(); + // Gives access to buttons + Button getAButton(); + Button getDButton(); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java index e11a72562e5..80ce3ed7a1f 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/RefsTab.java @@ -192,13 +192,13 @@ public class RefsTab extends AbstractCPropertyTab { } } - public void performApply(ICResourceDescription src, ICResourceDescription dst) { + protected void performApply(ICResourceDescription src, ICResourceDescription dst) { dst.getConfiguration().setReferenceInfo(src.getConfiguration().getReferenceInfo()); } // This page can be displayed for project only public boolean canBeVisible() { - return page.isForProject(); + return page.isForProject() && ! page.isMultiCfg(); } protected void performDefaults() { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/StructureTreeTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/StructureTreeTab.java index 0ef240587d6..3f394125c09 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/StructureTreeTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/StructureTreeTab.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Intel Corporation and others. + * Copyright (c) 2007, 2008 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -307,7 +307,7 @@ public class StructureTreeTab extends AbstractCPropertyTab { return x; } - public void performApply(ICResourceDescription src,ICResourceDescription dst) {} + protected void performApply(ICResourceDescription src,ICResourceDescription dst) {} protected void performDefaults() {}