mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-25 18:05:33 +02:00
Bug #180286: discovery pages need exact correspondence to discovery profiles.
This commit is contained in:
parent
c107a37abc
commit
0c31d6a542
1 changed files with 6 additions and 27 deletions
|
@ -71,9 +71,6 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
||||||
private static final String SC_SELECTED_PROFILE_COMBO = PREFIX + ".scGroup.selectedProfile.combo"; //$NON-NLS-1$
|
private static final String SC_SELECTED_PROFILE_COMBO = PREFIX + ".scGroup.selectedProfile.combo"; //$NON-NLS-1$
|
||||||
private static final int DEFAULT_HEIGHT = 110;
|
private static final int DEFAULT_HEIGHT = 110;
|
||||||
private static final int[] DEFAULT_SASH_WEIGHTS = new int[] { 10, 20 };
|
private static final int[] DEFAULT_SASH_WEIGHTS = new int[] { 10, 20 };
|
||||||
|
|
||||||
private static final String PATTERN_PER_FILE = "PerFileProfile"; //$NON-NLS-1$
|
|
||||||
private static final String PATTERN_PER_PROJ = "PerProjectProfile"; //$NON-NLS-1$
|
|
||||||
|
|
||||||
private Table resTable;
|
private Table resTable;
|
||||||
private Button scEnabledButton;
|
private Button scEnabledButton;
|
||||||
|
@ -286,9 +283,9 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
||||||
buildInfo.setSelectedProfileId(profileId); // needs to create page
|
buildInfo.setSelectedProfileId(profileId); // needs to create page
|
||||||
for (Iterator it2 = pagesList.iterator(); it2.hasNext(); ) {
|
for (Iterator it2 = pagesList.iterator(); it2.hasNext(); ) {
|
||||||
DiscoveryProfilePageConfiguration p = (DiscoveryProfilePageConfiguration)it2.next();
|
DiscoveryProfilePageConfiguration p = (DiscoveryProfilePageConfiguration)it2.next();
|
||||||
if (p != null) {
|
if (p != null && p.profId.equals(profileId)) {
|
||||||
AbstractDiscoveryPage pg = p.getPage();
|
AbstractDiscoveryPage pg = p.getPage();
|
||||||
if (pg != null && p.isProfileAccepted(profileId)) {
|
if (pg != null) {
|
||||||
realPages[counter] = pg;
|
realPages[counter] = pg;
|
||||||
pg.setContainer(wrapper);
|
pg.setContainer(wrapper);
|
||||||
pg.createControl(profileComp);
|
pg.createControl(profileComp);
|
||||||
|
@ -336,37 +333,20 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
||||||
*/
|
*/
|
||||||
protected static class DiscoveryProfilePageConfiguration {
|
protected static class DiscoveryProfilePageConfiguration {
|
||||||
IConfigurationElement fElement;
|
IConfigurationElement fElement;
|
||||||
private String pattern, name;
|
private String profId, name;
|
||||||
|
|
||||||
protected DiscoveryProfilePageConfiguration(IConfigurationElement element) {
|
protected DiscoveryProfilePageConfiguration(IConfigurationElement element) {
|
||||||
fElement = element;
|
fElement = element;
|
||||||
String s = fElement.getAttribute(PROFILE_ID);
|
profId = fElement.getAttribute(PROFILE_ID);
|
||||||
// extracting pattern from Profile Id
|
|
||||||
// for compatibility with make.ui.
|
|
||||||
if (s != null && s.indexOf(PATTERN_PER_PROJ) >= 0)
|
|
||||||
pattern = PATTERN_PER_PROJ;
|
|
||||||
else
|
|
||||||
pattern = PATTERN_PER_FILE;
|
|
||||||
// pattern = fElement.getAttribute(PROFILE_PATTERN);
|
|
||||||
name = fElement.getAttribute(PROFILE_NAME);
|
name = fElement.getAttribute(PROFILE_NAME);
|
||||||
}
|
}
|
||||||
protected String getPattern() { return pattern; }
|
|
||||||
protected String getName() { return name; }
|
protected String getName() { return name; }
|
||||||
|
|
||||||
private boolean isProfileAccepted(String id) {
|
|
||||||
return (id.indexOf(getPattern()) > -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
private AbstractDiscoveryPage getPage()
|
private AbstractDiscoveryPage getPage()
|
||||||
{
|
{
|
||||||
AbstractDiscoveryPage discoveryPage = null;
|
|
||||||
try {
|
try {
|
||||||
discoveryPage = (org.eclipse.cdt.make.ui.dialogs.AbstractDiscoveryPage) fElement.createExecutableExtension("class"); //$NON-NLS-1$
|
return (AbstractDiscoveryPage) fElement.createExecutableExtension("class"); //$NON-NLS-1$
|
||||||
} catch (CoreException e) {}
|
} catch (CoreException e) { return null; }
|
||||||
if (discoveryPage == null) {
|
|
||||||
// System.out.println(Messages.getString("DiscoveryTab.13") + fElement.getAttribute("class")); //$NON-NLS-1$ //$NON-NLS-2$
|
|
||||||
}
|
|
||||||
return discoveryPage;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +474,6 @@ public class DiscoveryTab extends AbstractCBuildPropertyTab implements IBuildInf
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean canBeVisible() {
|
public boolean canBeVisible() {
|
||||||
if (page.isForProject() || page.isForPrefs()) return true;
|
if (page.isForProject() || page.isForPrefs()) return true;
|
||||||
// Hide this page for folders and files
|
// Hide this page for folders and files
|
||||||
|
|
Loading…
Add table
Reference in a new issue