diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IExternalScannerInfoProvider.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IExternalScannerInfoProvider.java index 56d0d16a84f..371393f7ee5 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IExternalScannerInfoProvider.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IExternalScannerInfoProvider.java @@ -28,9 +28,11 @@ public interface IExternalScannerInfoProvider { * @param current project - current project being built * @param buildInfo - settings for ScannerConfigBuilder * @param targetSpecificOptions - array of options affecting compiler specs + * @param collector - scanner info collector, for StdMake projects - ScannerInfoCollector */ public boolean invokeProvider(IProgressMonitor monitor, IProject currentProject, IScannerConfigBuilderInfo buildInfo, - List targetSpecificOptions); + List targetSpecificOptions, + IScannerInfoCollector collector); } diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoCollector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoCollector.java new file mode 100644 index 00000000000..2c829de81cc --- /dev/null +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoCollector.java @@ -0,0 +1,36 @@ +/********************************************************************** + * Copyright (c) 2004 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: + * IBM - Initial API and implementation + **********************************************************************/ +package org.eclipse.cdt.make.core.scannerconfig; + +import java.util.List; + +import org.eclipse.core.resources.IResource; + +/** + * Interface for scanner info collector. + * Used by scanner info console parsers. + * + * @author vhirsl + */ +public interface IScannerInfoCollector { + /** + * Contribute to resource's scanner configuration + * + * @param resource + * @param includes + * @param symbols + * @param targetSpecificOptions + */ + public void contributeToScannerConfig(IResource resource, + List includes, + List symbols, + List targetSpecificOptions); +} \ No newline at end of file diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoConsoleParser.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoConsoleParser.java index c794e21899b..3f6c219feed 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoConsoleParser.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/scannerconfig/IScannerInfoConsoleParser.java @@ -23,11 +23,14 @@ public interface IScannerInfoConsoleParser { * Optional one time initialization of a console parser. * * @param project + * @param util - utility functions for file and path management + * @param collector - scanner info collector */ - public void startup(IProject project, IScannerInfoConsoleParserUtility util); + public void startup(IProject project, IScannerInfoConsoleParserUtility util, IScannerInfoCollector collector); /** * Parse one line of output. + * * @param line * @return true if scanner info entry was found in the line */ diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DefaultExternalScannerInfoProvider.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DefaultExternalScannerInfoProvider.java index b491ddc0348..08f82e8a911 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DefaultExternalScannerInfoProvider.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/DefaultExternalScannerInfoProvider.java @@ -28,6 +28,7 @@ import org.eclipse.cdt.core.resources.IConsole; import org.eclipse.cdt.make.core.MakeCorePlugin; import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo; import org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider; +import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; import org.eclipse.cdt.make.internal.core.MakeMessages; import org.eclipse.cdt.make.internal.core.StreamMonitor; import org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCScannerConfigUtil; @@ -56,9 +57,13 @@ public class DefaultExternalScannerInfoProvider implements IExternalScannerInfoP private String fCompileArguments; /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider#invokeProvider(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.resources.IProject, org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo, java.util.List) + * @see org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider#invokeProvider(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.resources.IProject, org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo, java.util.List, org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector) */ - public boolean invokeProvider(IProgressMonitor monitor, IProject currentProject, IScannerConfigBuilderInfo buildInfo, List targetSpecificOptions) { + public boolean invokeProvider(IProgressMonitor monitor, + IProject currentProject, + IScannerConfigBuilderInfo buildInfo, + List targetSpecificOptions, + IScannerInfoCollector collector) { if (targetSpecificOptions == null) { targetSpecificOptions = new ArrayList(); } @@ -93,7 +98,7 @@ public class DefaultExternalScannerInfoProvider implements IExternalScannerInfoP cos = new StreamMonitor(new SubProgressMonitor(monitor, 70), cos, 100); OutputStream sniffer = ScannerInfoConsoleParserFactory.getESIProviderOutputSniffer( - cos, currentProject, buildInfo); + cos, currentProject, buildInfo, collector); Process p = launcher.execute(fCompileCommand, compileArguments, setEnvironment(launcher), fWorkingDirectory); if (p != null) { try { diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoCollector.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoCollector.java index fb927abf75e..41c71d764d9 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoCollector.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoCollector.java @@ -37,10 +37,12 @@ import org.eclipse.cdt.make.core.MakeCorePlugin; import org.eclipse.cdt.make.core.scannerconfig.DiscoveredScannerInfo; import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo; import org.eclipse.cdt.make.core.scannerconfig.IExternalScannerInfoProvider; +import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder; import org.eclipse.cdt.make.internal.core.MakeMessages; import org.eclipse.cdt.make.internal.core.scannerconfig.util.CygpathTranslator; import org.eclipse.cdt.make.internal.core.scannerconfig.util.ScannerConfigUtil; +import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; /** @@ -49,7 +51,7 @@ import org.eclipse.cdt.make.internal.core.scannerconfig.util.ScannerConfigUtil; * * @author vhirsl */ -public class ScannerInfoCollector { +public class ScannerInfoCollector implements IScannerInfoCollector { // Singleton private static ScannerInfoCollector instance = new ScannerInfoCollector(); @@ -77,18 +79,13 @@ public class ScannerInfoCollector { return instance; } - /** - * Published method to receive per file contributions to ScannerInfo - * - * @param resource - * @param includes - * @param symbols - * @param targetSpecificOptions + /* (non-Javadoc) + * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector#contributeToScannerConfig(org.eclipse.core.resources.IResource, java.util.List, java.util.List, java.util.List) */ public synchronized void contributeToScannerConfig(IResource resource, List includes, List symbols, List targetSpecificOptions) { IProject project; if (resource == null || (project = resource.getProject()) == null) { - // TODO VMIR create a log + TraceUtil.outputError("IScannerInfoCollector.contributeToScannerConfig : ", "resource or project is null"); //$NON-NLS-1$ //$NON-NLS-2$ return; } try { @@ -170,7 +167,6 @@ public class ScannerInfoCollector { discScanInfo.update(); monitor.worked(50); } catch (CoreException e) { - // TODO : VMIR create a marker? MakeCorePlugin.log(e); } } @@ -311,7 +307,6 @@ public class ScannerInfoCollector { translatedIncludePaths.add(translatedPath); } else { - // TODO VMIR create problem marker // TODO VMIR for now add even if it does not exist translatedIncludePaths.add(translatedPath); } @@ -356,7 +351,7 @@ public class ScannerInfoCollector { if (esiProvider != null) { ISafeRunnable runnable = new ISafeRunnable() { public void run() { - esiProvider.invokeProvider(monitor, project, buildInfo, tso); + esiProvider.invokeProvider(monitor, project, buildInfo, tso, ScannerInfoCollector.getInstance()); } public void handleException(Throwable exception) { @@ -395,7 +390,6 @@ public class ScannerInfoCollector { if (project != null) { sumDiscoveredIncludes.put(project.getName(), null); } - // TODO VMIR define error message } /** @@ -407,7 +401,6 @@ public class ScannerInfoCollector { if (project != null) { sumDiscoveredSymbols.put(project.getName(), null); } - // TODO VMIR define error message } /** diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoConsoleParserFactory.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoConsoleParserFactory.java index 40ffd169579..89a54d92682 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoConsoleParserFactory.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/ScannerInfoConsoleParserFactory.java @@ -15,6 +15,7 @@ import java.io.OutputStream; import org.eclipse.cdt.core.IMarkerGenerator; import org.eclipse.cdt.make.core.MakeCorePlugin; import org.eclipse.cdt.make.core.scannerconfig.IScannerConfigBuilderInfo; +import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser; import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigBuilder; import org.eclipse.cdt.make.core.scannerconfig.ScannerConfigNature; @@ -39,18 +40,20 @@ public class ScannerInfoConsoleParserFactory { * @param currentProject * @param markerGenerator * @param scBuildInfo + * @param collector - scanner info collector * @return OutputStream */ public static OutputStream getESIProviderOutputSniffer(OutputStream outputStream, IProject currentProject, - IScannerConfigBuilderInfo scBuildInfo) { + IScannerConfigBuilderInfo scBuildInfo, + IScannerInfoCollector collector) { if (scBuildInfo.isESIProviderCommandEnabled()) { // get the ESIProvider console parser IScannerInfoConsoleParser clParser = MakeCorePlugin.getDefault(). getScannerInfoConsoleParser(scBuildInfo.getESIProviderConsoleParserId()); // initialize it with the utility clParser.startup(currentProject, null /*new ScannerInfoConsoleParserUtility( - currentProject, null, markerGenerator)*/); + currentProject, null, markerGenerator)*/, collector); // create an output stream sniffer return new ConsoleOutputStreamSniffer(outputStream, new IScannerInfoConsoleParser[] {clParser}); @@ -92,7 +95,7 @@ public class ScannerInfoConsoleParserFactory { getScannerInfoConsoleParser(scBuildInfo.getMakeBuilderConsoleParserId()); // initialize it with the utility clParser.startup(currentProject, new ScannerInfoConsoleParserUtility( - currentProject, workingDirectory, markerGenerator)); + currentProject, workingDirectory, markerGenerator), ScannerInfoCollector.getInstance()); // create an output stream sniffer return new ConsoleOutputStreamSniffer(outputStream, new IScannerInfoConsoleParser[] {clParser}); diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java index 3be9cf93417..ad240c1bd46 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCScannerInfoConsoleParser.java @@ -14,9 +14,10 @@ import java.util.StringTokenizer; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; +import org.eclipse.cdt.core.IMarkerGenerator; +import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser; import org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParserUtility; -import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerInfoCollector; import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; import java.util.ArrayList; @@ -31,13 +32,15 @@ public class GCCScannerInfoConsoleParser implements IScannerInfoConsoleParser { private IProject fProject = null; private IScannerInfoConsoleParserUtility fUtil = null; + private IScannerInfoCollector fCollector = null; /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser#startup(org.eclipse.core.resources.IProject) + * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser#startup(org.eclipse.core.resources.IProject, org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParserUtility, org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector) */ - public void startup(IProject project, IScannerInfoConsoleParserUtility util) { + public void startup(IProject project, IScannerInfoConsoleParserUtility util, IScannerInfoCollector collector) { fProject = project; fUtil = util; + fCollector = collector; } /* (non-Javadoc) @@ -158,14 +161,13 @@ public class GCCScannerInfoConsoleParser implements IScannerInfoConsoleParser { } else { TraceUtil.outputError("Unable to find file name: ", line); //$NON-NLS-1$ -// fUtil.generateMarker(fProject, -1, "Unable to find file name: " + line, //$NON-NLS-1$ -// IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null); + fUtil.generateMarker(fProject, -1, "Unable to find file name: " + line, //$NON-NLS-1$ + IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null); } } // Contribute discovered includes and symbols to the ScannerInfoCollector if (translatedIncludes.size() > 0 || symbols.size() > 0) { - ScannerInfoCollector.getInstance(). - contributeToScannerConfig(project, translatedIncludes, symbols, targetSpecificOptions); + fCollector.contributeToScannerConfig(project, translatedIncludes, symbols, targetSpecificOptions); TraceUtil.outputTrace("Discovered scanner info for file \'" + fileName + '\'', //$NON-NLS-1$ "Include paths", includes, translatedIncludes, "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCSpecsConsoleParser.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCSpecsConsoleParser.java index 0e0c2a62371..a1b218155f3 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCSpecsConsoleParser.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/gnu/GCCSpecsConsoleParser.java @@ -14,9 +14,9 @@ import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; +import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector; import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser; import org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParserUtility; -import org.eclipse.cdt.make.internal.core.scannerconfig.ScannerInfoCollector; import org.eclipse.cdt.make.internal.core.scannerconfig.util.TraceUtil; import org.eclipse.core.resources.IProject; @@ -32,19 +32,21 @@ public class GCCSpecsConsoleParser implements IScannerInfoConsoleParser { private final int STATE_SPECS_STARTED = 1; private final int STATE_INCLUDES_STARTED = 2; - private IProject project = null; - private IScannerInfoConsoleParserUtility util = null; + private IProject fProject = null; + private IScannerInfoConsoleParserUtility fUtil = null; + private IScannerInfoCollector fCollector = null; private int state = STATE_BEGIN; private List symbols = new ArrayList(); private List includes = new ArrayList(); /* (non-Javadoc) - * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser#initialize(org.eclipse.core.resources.IProject, org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParserUtility) + * @see org.eclipse.cdt.make.core.scannerconfig.IScannerInfoConsoleParser#startup(org.eclipse.core.resources.IProject, org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParserUtility, org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector) */ - public void startup(IProject project, IScannerInfoConsoleParserUtility util) { - this.project = project; - this.util = util; + public void startup(IProject project, IScannerInfoConsoleParserUtility util, IScannerInfoCollector collector) { + this.fProject = project; + this.fUtil = util; + this.fCollector = collector; } /* (non-Javadoc) @@ -94,7 +96,7 @@ public class GCCSpecsConsoleParser implements IScannerInfoConsoleParser { return rc; } - ScannerInfoCollector.getInstance().contributeToScannerConfig(project, includes, symbols, null); + fCollector.contributeToScannerConfig(fProject, includes, symbols, null); TraceUtil.outputTrace("Scanner info from \'specs\' file", //$NON-NLS-1$ "Include paths", includes, new ArrayList(), "Defined symbols", symbols); //$NON-NLS-1$ //$NON-NLS-2$); @@ -105,8 +107,8 @@ public class GCCSpecsConsoleParser implements IScannerInfoConsoleParser { * @see org.eclipse.cdt.make.internal.core.scannerconfig.IScannerInfoConsoleParser#shutdown() */ public void shutdown() { - if (util != null) { - util.reportProblems(); + if (fUtil != null) { + fUtil.reportProblems(); } } } diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/util/ScannerInfoConsoleParserUtility.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/util/ScannerInfoConsoleParserUtility.java index 0900f6a576d..868a1fcb74e 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/util/ScannerInfoConsoleParserUtility.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/scannerconfig/util/ScannerInfoConsoleParserUtility.java @@ -144,9 +144,11 @@ public class ScannerInfoConsoleParserUtility implements IScannerInfoConsoleParse // If there is a conflict then try all files in the project. if (isConflictingName(fileName)) { file = null; + // Create a problem marker + TraceUtil.outputError("Ambiguous file path: ", fileName); //$NON-NLS-1$ generateMarker(fProject, -1, "Ambiguous file path: "+fileName, //$NON-NLS-1$ - IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null); + IMarkerGenerator.SEVERITY_ERROR_RESOURCE, null); } } } @@ -258,10 +260,22 @@ public class ScannerInfoConsoleParserUtility implements IScannerInfoConsoleParse if (dir != null) { IPath pwd = null; if (fBaseDirectory.isPrefixOf(dir)) { -// int segments = fBaseDirectory.matchingFirstSegments(dir); pwd = dir.removeFirstSegments(fBaseDirectory.segmentCount()); } else { - pwd = dir; + // check if it is a cygpath + if (dir.toString().startsWith("/cygdrive/")) { // $NON-NLS-1$ + char driveLetter = dir.toString().charAt(10); + StringBuffer buf = new StringBuffer(); + buf.append(driveLetter); + buf.append(':'); + String drive = buf.toString(); + pwd = dir.removeFirstSegments(2); + pwd = pwd.setDevice(drive); + pwd = pwd.makeAbsolute(); + } + else { + pwd = dir; + } } fDirectoryStack.addElement(pwd); } @@ -319,12 +333,13 @@ public class ScannerInfoConsoleParserUtility implements IScannerInfoConsoleParse // check if the cwd is the right one // appending fileName to cwd should yield file path IPath filePath = cwd.append(fileName); - if (!filePath.equals(file.getLocation())) { + if (!filePath.toString().equalsIgnoreCase(file.getLocation().toString())) { // must be the cwd is wrong // check if file name starts with ".." if (fileName.startsWith("..")) { //$NON-NLS-1$ // probably multiple choices for cwd, hopeless - generateMarker(file, -1, "Unable to determine working directory", + TraceUtil.outputError("Unable to determine working directory for ", fileName); //$NON-NLS-1$ + generateMarker(file, -1, "Unable to determine working directory for", //$NON-NLS-1$ IMarkerGenerator.SEVERITY_WARNING, fileName); break; } diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java index 18dc12e04d8..7127e5ab5f5 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/BuildPathInfoBlock.java @@ -53,6 +53,7 @@ import org.eclipse.ui.help.WorkbenchHelp; public class BuildPathInfoBlock extends AbstractCOptionPage { private static final int PROJECT_LIST_MULTIPLIER = 15; + private static final int INITIAL_LIST_WIDTH = 60; private static final String PREF_SYMBOLS = "ScannerSymbols"; //$NON-NLS-1$ private static final String PREF_INCLUDES = "ScannerIncludes"; //$NON-NLS-1$ @@ -154,6 +155,7 @@ public class BuildPathInfoBlock extends AbstractCOptionPage { gd.grabExcessHorizontalSpace = true; gd.horizontalSpan = numColumns - 1; gd.heightHint = getDefaultFontHeight(pathList, PROJECT_LIST_MULTIPLIER); + gd.widthHint = convertWidthInCharsToPixels(INITIAL_LIST_WIDTH); pathList.setLayoutData(gd); pathList.setFont(parent.getFont()); } @@ -214,6 +216,7 @@ public class BuildPathInfoBlock extends AbstractCOptionPage { gd.horizontalSpan = numColumns - 1; gd.grabExcessHorizontalSpace = true; gd.heightHint = getDefaultFontHeight(pathList, PROJECT_LIST_MULTIPLIER); + gd.widthHint = convertWidthInCharsToPixels(INITIAL_LIST_WIDTH); symbolList.setLayoutData(gd); symbolList.setFont(parent.getFont()); diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/ManageIncludePathsDialog.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/ManageIncludePathsDialog.java index 6bed99e12c0..b5ee6967683 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/ManageIncludePathsDialog.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/ui/dialogs/ManageIncludePathsDialog.java @@ -83,7 +83,7 @@ public class ManageIncludePathsDialog extends Dialog { private static final String DELETE_ALL_DISCOVERED = DISC_COMMON_PREFIX + ".discoveredGroup.buttons.deleteAll.label"; //$NON-NLS-1$ private static final int PROJECT_LIST_MULTIPLIER = 15; - private static final int INITIAL_LIST_WIDTH = 40; + private static final int INITIAL_LIST_WIDTH = 50; private static final int ACTIVE = 0; private static final int REMOVED = 1;