2006-05-23 Mikhail Khodjaiants
	Bug 133964: getBinary() method in CDebuggerTab always returns null.
	* CDebuggerTab.java

2006-05-17 Mikhail Khodjaiants
	Moved the new static methods from AbstractCLaunchDelegate to the new utility class.
	* AbstractCLaunchDelegate.java
	+ LaunchUtils.java

2006-04-03 Mikhail Khodjaiants
	Fix for bug 134581: Unable to set advanced debugger options.
	* CDebuggerTab.java

2006-03-29 Mikhail Khodjaiants
	Made some generic methods static.
	* AbstractCLaunchDelegate.java

2006-03-27 Mikhail Khodjaiants
	Moved the extraction of the stop symbol to the launch.
	* LocalCDILaunchDelegate.java
	* LocalRunLaunchDelegate.java

2006-03-15 Mikhail Khodjaiants
	Reversing previous changes. The existing "verifyProgramPath" method can be used.
	* AbstractCLaunchDelegate.java
	
2006-03-15 Mikhail Khodjaiants
	The new "getExecutable" method is added to replace deprecated "getProgramFile".
	* AbstractCLaunchDelegate.java

2006-03-06 Mikhail Khodjaiants
	Fix for Bug 93777: Postmortem and Local launch need a default preference for selected debugger.
	* CApplicationLaunchShortcut.java
	* CDebuggerTab.java
	* CoreFileDebuggerTab.java

2006-02-27 Mikhail Khodjaiants
	Fix for Bug 126025: CApplicationLaunchShortcut call to DebugUITools.saveAndBuild 
	invokes workspace wide build unnecessarily.
	Applied patch from Andrew Ferguson (ARM).
	* CApplicationLaunchShortcut.java

2006-02-03 Mikhail Khodjaiants
	NPE in CDebuggerTab when attaching to a target.
	* CDebuggerTab.java

2006-02-03 Mikhail Khodjaiants
	The "ICDebuggerPage" interface and "AbstractCDebuggerPage" class are added.
	All extensions of the "CDebuggerPage" extension point must implement "ICDebuggerPage".
	* AbstractCLaunchDelegate.java

2006-01-30 Mikhail Khodjaiants
	Bug 124519: CDT launch shortcuts ignore Common Tabs "Launch in background" option.
	Applied patch from Andrew Ferguson (andrew.ferguson@arm.com).
	* CApplicationLaunchShortcut.java

2006-01-30 Mikhail Khodjaiants
	Bug 123997: launching subclasses of AbstractCLaunchDelegate causes progress information to be lost.
	Applied patch from Andrew Ferguson (andrew.ferguson@arm.com).
	* AbstractCLaunchDelegate.java

2006-01-29 Mikhail Khodjaiants
	Bug 118894: Allow stopping at other locations other than main().
	Applied patch from Ken Ryall (Nokia).
	* LaunchMessages.properties
	* CDebuggerTab.java

2006-01-25 Mikhail Khodjaiants
	Reversing changes made to fix bug 107571. The fix for bug 119683 covers this problem too.
	Inferior process shouldn't be shown as a part of the attach session.
	* LocalCDILaunchDelegate.java
	* LocalAttachLaunchDelegate.java

2006-01-23 Mikhail Khodjaiants
	Bug 119683: long messages during launch cause gdb to timeout, launch to fail.
	+ LocalCDILaunchDelegate.java
	* LaunchMessages.properties
	* plugin.xml

2006-01-06 Mikhail Khodjaiants
	Bug 120509: CDebuggerTab invokes wong initialization code (in addition to right code).
	* CDebuggerTab.java
	* CoreFileDebuggerTab.java

2006-01-06 Mikhail Khodjaiants
	Cleanup.
	* CArgumentsTab.java
	* CMainTab.java

2005-12-27 Mikhail Khodjaiants
	Cleanup.
	* LaunchUIPlugin.java
	* CApplicationLaunchShortcut.java

2005-12-27 Mikhail Khodjaiants
	Bug 109526: Support Eclipse-LazyStart and deprecate Eclipse-AutoStart.
	* MANIFEST.MF

2005-12-20 Mikhail Khodjaiants
	Bug 121474: NPE in CDebuggerTab.
	* CDebuggerTab.java

2005-09-08 Mikhail Khodjaiants
	The "Debugger" tab of the launch configuration dialog is too wide.
	* CDebuggerTab.java
	
2005-09-06 Mikhail Khodjaiants
	Cleanup: replaced "new Boolean" by the static Boolean objects (Java 1.4).
	* CDebuggerTab.java

2005-09-06 Mikhail Khodjaiants
	Bug 108636: mi level selection option should be moved to the gdb page.
	* CDebuggerTab.java

2005-08-31 Alain Magloire
	Fix Pr 107571: Part of this fix is to add the
	inferior process in the session
	* src/org/eclipse/cdt/launch/internal/LocalAttachLaunchDelegate.java

2005-08-25 Mikhail Khodjaiants
	Bug 66446: Use the debugger path as a debugger process label.
	Deprecated the "renderDebuggerProcessLabel" method.
	* AbstractCLaunchDelegate.java

2005-07-18 Alain Magloire
	New combo to choose the MIVersion.
	* src/org/eclipse/cdt/launch/ui/CDEbuggerTab.java

2005-07-14 Mikhail Khodjaiants
	Fix PR 103207: New Icon for the TwoPaneElement in the binary search
	* src/org/eclipse/cdt/launch/ui/CMainTab.java

2005-07-12 Mikhail Khodjaiants
	Bug 103522: Launcher: Stop at main checkbox is covered with default launch dialog size.
	Moved the "Stop in main" and "Advanced" buttons on the line below.
	* CDebuggerTab.java

2005-06-28 Mikhail Khodjaiants
	Bug 89276: Typo in org.eclipse.cdt.launch/plugin.xml.
	* plugin.xml

2005-05-21 Mikhail Khodjaiants
	Bug 91374: CDT launch should set ATTR_PROCESS_TYPE.
	* AbstractCLaunchDelegate.java
	* CoreFileLaunchDelegate.java
	* LocalRunLaunchDelegate.java

2005-05-15 Mikhail Khodjaiants
	Bug 87556: Post-mortem debug fails silently if core file is inaccessible.
	Applied patch from Joanne Woo (Monta Vista).
	* CoreFilePrompter.java
	* CoreFileLaunchDelegate.java
	* LaunchMessages.properties

2005-05-18 David Inglis
	Fixed bug 39581 & part of 46746
	
	* AbstractCLaunchDelegate.java
	* LocalAttachLauchDelegate.java
	* LocalRunLaunchDelegate.java
	* LocalAttachLaunchDelegate.java
	* LocalAttachLaunchConfigurationTabGroup.java
	* LocalRunLaunchConfigurationTabGroup.java
	+ CMainAttachTab.java
	* CMainTab.java
	
	
2005-05-09 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	Removed the old source lookup related classes and interfaces.
	* CoreFileLaunchConfigurationTabGroup.java
	* LaunchMessages.properties
	* LocalAttachLaunchConfigurationTabGroup.java
	* LocalRunLaunchConfigurationTabGroup.java
	- CSourceLookupTab.java

2005-04-21 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	* CoreFileLaunchConfigurationTabGroup.java
	* LocalAttachLaunchConfigurationTabGroup.java
	* LocalRunLaunchConfigurationTabGroup.java
	* plugin.xml

2005-04-07 David Daoust
	Update icons
	
2005-02-24 Alain Magloire
	Fix for PR 86443

	* src/org/eclipse/cdt/launch/internal/ui/LaunchMessages.properties
	* src/org/eclipse/cdt/launch/ui/CArgumentsTab.java

2005-02-03 David Inglis
	Fixed PR#84361
	
	* src/org/elipse/cdt/launch/internal/ui/AbstractCDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CoreFileDebuggerTab.java
	
2005-01-19 Alain Magloire
	PR 82930
	* src/org/eclipse/cdt/launch/internal/CPropertyTester.java

2004-12-20 Alain Magloire

	PR 81321
	* src/org/eclipse/cdt/launch/internal/CPropertyTester.java

2004-12-06 Mikhail Khodjaiants
	The last character is missing in the launch configuration name generated 
	from the binary file name.
	* src/org/eclipse/cdt/launch/ui/CMainTab.java

2004-11-17 David Inglis

	Change to use IBinaryObject instead of IBinayExecutable

	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalAttachLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalRunLaunchDelegate.java
	
2004-11-11 Alain Magloire
	Fix for PR 78441
	* src/org/eclipse/cdt/launch/internal/CPropertyTester.java
	* plugin.xml

2004-11-1  David Inglis
	Use status handlers to prompt for launch input (process id and core file).

	* plugin.xml
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalAttachLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/CoreFilePrompter.java
	* src/org/eclipse/cdt/launch/internal/ui/ProcessPrompter.java
	
2004-11-01 David Inglis
	getEnvironmentAsProperty was not using new getEnviroment().
	
	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	
2004-10-22 David Inglis
	Added variables support to arguments, environment and working directory.

	* plugin.xml
	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalRunLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchMessages.properties
	* src/org/eclipse/cdt/launch/internal/ui/LocalRunLaunchConfigurationTabGroup.java
	* src/org/eclipse/cdt/launch/internal/ui/WorkingDirectoryBlock.java
	* src/org/eclipse/cdt/launch/ui/CArgumentsTab.java
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	* src/org/eclipse/cdt/launch/internal/ui/MigratingCEnvironmentTab.java
	
2004-10-18 Alain Magloire
	Adjust to changes in CDI
	* src/org/eclipse/cdt/launch/internal/LocalRunLaunchDelegate.java

2004-10-18 David Inglis
	
	Update to new ICDIDebugger interface deprecating old
	Added seperate launch configuration for attaching to pid
	
	* lots of files changed

2004-10-17 Alain Magloire
	Remove deprecated method in CDI adjust the implementation.
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java

2004-10-08 Mikhail Khodjaiants
	Added the launch configuration preference for the register bookkeeping.
	* LaunchUIPluginResources.properties
	* CDebuggerTab.java

2004-08-23 Mikhail Khodjaiants
	Changes in the "Debugger" tab of the launch configuration dialog.
	Replaced the "Run in debugger/Attach to running process" radio button by 
	the "Attach to running process" check box.
	Added the "Advanced" button that opens the "Advanced options" dialog.
	The "Automatically track the values of variables" check box is moved to the dialog.
	The "CoreFileDebuggerTab" class is implemented as an extension of "CDebuggerTab".
	* LaunchUIPluginResources.properties
	* AbstractCDebuggerTab.java
	* CoreFileCLaunchConfigurationTabGroup.java
	* CDebuggerTab.java
	* CorefileDebuggerTab.java renamed to CoreFileDebuggerTab.java

2004-08-12 Mikhail Khodjaiants
	Warning cleanup.
	* CApplicationLaunchShortcut.java

2004-08-16 Mikhail Khodjaiants
	Contextual launch shortcuts cleanup.
	* plugin.properties
	* plugin.xml

2004-08-12 Mikhail Khodjaiants
	Warning cleanup.
	* AbstractCLaunchDelegate.java
	* CApplicationLaunchShortcut.java

2004-08-10 Mikhail Khodjaiants
	Fix for bug 70442: Debugger launch configuration not updating properly.
	* AbstractCDebuggerTab.java

2004-07-21 Mikhail Khodjaiants
	Replaced the decprecated target factory methods.
	* CoreFileLaunchDelegate.java
	* LocalCLaunchConfigurationDelegate.java

2004-07-14 Mikhail Khodjaiants
	Fix for bug 69977: TVT3.0: Non-externalized strings in Launching Debug.
	Applied patch from Tanya Wollf.
	* CApplicationLaunchShortcut.java
	* LaunchUIPluginResources.properties

2004-06-21 Mikhail Khodjaiants
	Fix for bug 60872. Accessibility: Run/Debug configuration dialog has duplicate mnemonics.
	Warning cleanup.
	* LaunchUIPluginResources.properties
	* CEnvironmentTab.java
	* CMainTab.java

2004-05-09 Mikhail Khodjaiants
	Added the rendering method for debugger processes.
	* src/org/eclise/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclise/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclise/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchUIPluginResources.properties

2004-05-09 Mikhail Khodjaiants
	Fix for bug 66015: I18N: English "Debug Console" in Debug and Console views.
	Warning cleanup.
	* src/org/eclise/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclise/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchUIPluginResources.properties
	* src/org/eclise/cdt/launch/internal/CApplicationLaunchShortcut.java

2004-06-08 Alain Magloire
	Make sure when something goes wrong before
	getting out the launch sequence to terminate the session.

	* src/org/eclise/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclise/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java

2004-04-23 David Inglis

	fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=59680
	
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java
	* src/org/eclipse/cdt/launch/internal/CPropertyTester.java
	* plugin.xml
	
2004-04-19 Alain Magloire
	Core Model interface throws Exception

	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java
	* src/org/eclipse/cdt/launch/ui/CMaintab.java

2004-04-06 Mikhail Khodjaiants

	Do not remove debugger process from launch.
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java

2004-03-25 David Inglis

	getProcessList can throw a CoreException now.
	
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	
2004-03-01 James Ciesielski

	Marked those strings that are non-translatable as such and 
	externalized those strings that can be translated.

	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/AbstractCDebuggerTab.java
	* src/org/eclipse/cdt/launch/internal/ui/CoreFileCLaunchConfigurationTab.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchUIPlugin.java
	* src/org/eclipse/cdt/launch/internal/ui/WorkingDirectoryBlock.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchUIPluginResources.properties
	* src/org/eclipse/cdt/launch/ui/CArgumentsTab.java
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CEnvironmentTab.java
	* src/org/eclipse/cdt/launch/ui/CLaunchConfigurationTab.java
	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	* src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CSourceLookupTab.java

2004-02-18 Alain Magloire

	filterClass contribution to be able to use
	the "Run" context menu shortcut.

	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java

2004-02-18 Alain Magloire

	Remove deprecated Eclipse-2.0 calls;

	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java

2004-02-18 Alain Magloire

	Added image to the label provider

	* icons/obj16/exec_obj.gif
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/LaunchImages.java

2004-02-17 Alain Magloire

	Use a TwoPanel dialog when we attach more user friendly.

	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java

2004-02-17 Thomas Fletcher

	Fix to address PR 52085.  We allow the user to import a text file formatted
	as key=value pairs.

	* src/org/eclipse/cdt/launch/ui/CEnvironmentTab.java

2004-02-12 Thomas Fletcher

	Fix to address PR 39580.  Since we can't do anything short term about the 
	scalability of the initial loading of the CModel, give the user a chance to
	select the binary directly by browsing the project.

	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	
2004-02-02 Thomas Fletcher

	Improve the previous fix to use a TwoElementPane dialog to properly differentiate between
	elements by target architecture and path.
	Enhanced the ability to extend this short-cut with OEM specific labelling.

	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java

2004-01-07 Alain Magloire

	Fix # 49652
	You could not see a difference with binaries of the same name but different location.

	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java

2003-12-18 Alain Magloire

	Possible NPE, PR 49146

	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java

2003-12-17 Mikhail Khodjaiants
	Fix for PR 49051: Launcher: Debugger tab: variable tracking.
	* CDebuggerTab.java
 
2003-12-16  Alain Magloire
 
	Choose a debugger base on the Eclipse platform
 
	* plugin.xml
	* src/org/eclipse/cdt/launch/internal/CApplicationlaunchShortcut.java
 
2003-10-27 
	Fixed 46129
	
	AbstractCLaunchDelegate.java
	
2003-10-27 Mikhail Khodjaiants
	Changed the initialization of 'SourceLookupBlock'.
	* CSourceLookupTab.java

2003-10-27 Mikhail Khodjaiants
	Moved the 'org.eclipse.debug.core.sourceLocators' extension from the launcher.
	* plugin.xml
	* plugin.properties

2003-10-27 Mikhail Khodjaiants
	Removed the dependency to 'org.apache.xerces'.
	* plugin.xml
	* .classpath
	* .project 

2003-10-27 Mikhail Khodjaiants
	Moved 'DefaultSourceLocator' from the 'org.eclipse.cdt.launch' plugin and merge it with 'CUISourceLocator'.
	Removed the 'org.eclipse.cdt.launch.internal.ui.sourcelookup' package.
	* DefaultSourceLocator.java: moved to the 'org.eclipse.cdt.debug.ui' plugin.

2003-11-22 Mikhail Khodjaiants
	src/org/eclipse/cdt/launch/ui/CSourceLookupTab.java: 
	Dispose 'SourceLookupBlock' when disposing 'CSourceLookupTab'.

2003-11-17 Mikhail Khodjaiants
	src/org/eclipse/cdt/launch/ui/CSourceLookupTab.java: 
	"Search for duplicate source files" option support.
	
2003-10-07 Mikhail Khodjaiants
	src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java: 
	use 'MultiStatus' instead of 'Status' in the 'abort' method.

2003-09-22 David Inglis
	Add help context IDs to plugin and associate ids to each launch tab control.
	
	src/org/eclipse/cdt/launch/internal/ui/LaunchUIPlugin.java
	src/org/eclipse/cdt/launch/ui/ICDTLaunchHelpContextIds.java
	src/org/eclipse/cdt/launch/ui/CArgumentsTab.java
	src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	src/org/eclipse/cdt/launch/ui/CEnvironmentTab.java
	src/org/eclipse/cdt/launch/ui/CMainTab.java
	src/org/eclipse/cdt/launch/ui/CSourceLookupTab.java
	src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java

2003-08-05 Mikhail Khodjaiants
	* src/org/eclipse/cdt/launch/sourcelookup/DefaultSourceLocator.java
	Check if the project saved in the launch configuration equals to the project set 
	in the source lookup tab.

2003-07-28 Tom Tromey  <tromey@redhat.com>
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	(loadDebuggerComboBox): Sort entries by name. from 

2003-07-28 Mikhail Khodjaiants
	* src/org/eclipse/cdt/launch/sourcelookup/DefaultSourceLocator.java
	Refactoring: moved the 'CDebugUtils' class to the 'org.eclipse.cdt.debug.core' package - 
	the methods of this class are mostly used in UI plugins.

2003-07-22 David Inglis
	* src/org/eclipse/cdt/launch/internal/ui/AbstractCDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java
	Refactor getName & getImage up into AbstructCDebuggerTab
	fixed problem with selecting a debugger for a core file from a unknown project platform.
	
2003-07-22 David Inglis
	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	Use project name for configuration naming when no binary selected
	
2003-07-22 Mikhail Khodjaiants
	* src/org/eclipse/cdt/launch/sourcelookup/DefaultSourceLocator.java
	* src/org/eclipse/cdt/launch/ui/CSourceLookupTab.java
	Fixed initialization problems.

2003-07-17 Thomas Fletcher
	* src/org/eclipse/cdt/launch/sourcelookup/DefaultSourceLocator.java
 	Applied source locator patch to expand the scope of source lookups.
 	Patch from Mikhail Khodjaiants

2003-07-09 Thomas Fletcher
	* src/org/eclipse/cdt/launch/internal/ui/LaunchImages.java
 	Filled out this class which previously wasn't loading images ... now it is.

2003-07-03 David Inglis
	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	Fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=39583

2003-06-26 David Inglis
	
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	Added variable book-keeping option in config.

	* src/org/eclipse/cdt/launch/ui/CLaunchConfigurationTab.java (getContext)
	Returns an ICElement even if CDescriptor does not exsist.

	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	Use BusyIndicator when getting binary list from project
	fixed problem with prefilling a new config when the project did not have a CDescriptor
	
	
2003-04-17 Alain Magloire

	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortCut.java:
	fix Typo.

2003-03-27 Alain Magloire

	* src/org/eclipse/cdt/launch/ui/CMainTab.java:
	Refactor of ICRoot to ICModel adjust the code.

2003-03-19 David Inglis
	Fixed bug with not showing C Project lists with the launch config, when C UI Plugins was not
	created yet.
	
2003-03-18 Alain Magloire

	* plugin.xml
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java:
	Change the texts for "C Local Application".

2003-02-20 Mikhail Khodjaiants
	The generation of launch configuration shouldn't fail if project is not set or project name is empty.
	* DefaultSourceLocator.java
	* CSourceLookupTab.java

2003-02-18 Mikhail Khodjaiants
	New 'Source Lookup' tab.
	* plugin.xml
	Added dependency on the 'org.apache.xerces' plugin and the 'sourceLocator' extension.
	* plugin.properties
	Name for the source locator.
	* CoreFileCLaunchConfigurationTabGroup.java
	* LocalCLaunchConfigurationTabGroup.java
	Added the 'Source Lookup' tab.
	* DefaultSourceLocator.java
	Implementation of 'IPersistableSourceLocator'.
	* CSourceLookupTab.java
	Implementation of 'ILaunchConfiguartionTab'.

2003-02-07 David Inglis
	
	Refactor LaunchConstants into debug.core and make setting source locator happen before
	debug target it created.
	
	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java
	* src/org/eclipse/cdt/launch/ICDTLaunchConfigurationConstants.java
	* src/org/eclipse/cdt/launch/internal/CApplicationLaunchShortcut.java
	* src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java
	* src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
	* src/org/eclipse/cdt/launch/internal/ui/AbstractCDebuggerTab.java
	* src/org/eclipse/cdt/launch/internal/ui/CoreFileCLaunchConfigurationTabGroup.java
	* src/org/eclipse/cdt/launch/internal/ui/WorkingDirectoryBlock.java
	* src/org/eclipse/cdt/launch/sourcelookup/DefaultSourceLocator.java
	* src/org/eclipse/cdt/launch/ui/CArgumentsTab.java
	* src/org/eclipse/cdt/launch/ui/CDebuggerTab.java
	* src/org/eclipse/cdt/launch/ui/CEnvironmentTab.java
	* src/org/eclipse/cdt/launch/ui/CLaunchConfigurationTab.java
	* src/org/eclipse/cdt/launch/ui/CMainTab.java
	* src/org/eclipse/cdt/launch/ui/CorefileDebuggerTab.java

2003-02-06 Alain Magloire

	* src/.../launch/internal/ui/WorkingDirectoryBlock.java (geLaunchConfiguration):
	(updateLaunchConfigurationDialog): New method to change the scope for inner classes.
	* src/.../launch/ui/CArgumentsTab.java (updateLaunchConfigurationDialog):
	New method changing the scope for inner classes.
	* src/.../launch/ui/CDebuggerTab.java (updateLaunchConfigurationDialog):
	New method changing the scope for inner classes.
	* src/.../launch/ui/CMainTab.java (updateLaunchConfigurationDialog):
	New method changing the scope for inner classes.
	* src/.../launch/ui/CorefileDebuggerTab.java (handleDebuggerChange):
	New method changing the scope for inner classes.

	
2003-02-06 David Inglis
	* src/.../launch/internal/CApplicationLaunchShortcut.java
	* src/.../launch/ui/CMainTab.java
	Change to use WorkbenchLabelProvider
	
2003-01-29 David Inglis
	* src/.../launch/internal/ui/LaunchUIPluging.java (getShell)
	change so that it will always return a shell.
	
2003-01-28 Alain Magloire

	* src/.../launch/internal/CApplicationLaunchShortCut.java (getCLaunchConfigType):
	Change to protected.

2003-01-16 David Inglis
	* src/.../launch/ui/CDebuggerTab.java
	made 'revert' work properly within the debugger tab.

2003-01-16 David Inglis
	* src/.../launch/AbstractCLaunchDelegate.java
	add check for program existance on disk before launch
		
	* src/.../launch/internal/ui/AbstractCDebuggerTab.java
	* src/.../launch/ui/CDebuggerTab.java
	* src/.../launch/ui/CorefileDebuggerTab.java
	Fixed http://bugs.eclipse.org/bugs/show_bug.cgi?id=29532

2003-01-06 Alain Magloire

	* build.properties: Patch from Judy Green.

2003-01-06 Alain Magloire

	Add support for variable substitution:
	HOME=/foo
	MYHOME=${HOME}/bar
	
	MYHOME --> /foo/bar
	
	Furture work: provide the shell brace expansion.

	* src/.../launch/internal/AbstractCLaunchDelegate.java (expandEnvironment):
	Expand variable values containing format ${..}.
	* src/.../launch/internal/LocalCLaunConfiguratDelegate.java (exec):
	Use expandEnvironment().
	(launch): Use expandEnvironment().

2002-12-17 David Inglis
	
	* src/.../launch/AbstractCLaunchDelegate.java(setDefaultSourceLocator): new method
	* src/.../sourcelookup/DefaultSourceLocator.java:new class
	add method for delegate to call to set a default source locator.
	
2002-12-03 Alain Magloire

	* src/.../internal/LocalCLaunchConfigurationDelegate.java(exec):
	Change the signature to take Properties for the environment get
	the default environment and add it to new environment to it.
	Use ProcessFactory to run the Application, with the new environment
	array.

2002-11-23 Alain Magloire

	* src/.../internal/ui/CApplicationLaunchShortcut.java (searchAndLaunch):
	Bail out with a message if no binaries.

2002-11-22 Alain Magloire

	* src/.../AbstractCLaunchDelegate.java (getProgranName): Now static.
	* src/.../internal/ui/LaunchUIPlugin.java.java (errorDialog): New method.
	* src/.../internal/ui/CApplicationLauchShortcut.java.java : New File
	provides shortcut to start C applications.
	* plugin.xml: Implement extenxion point shortcut.

2002-11-22 Alain Magloire

	* src/.../internal/ui/LaunchUIPlugin.java (startup):
	On startup add a listener to DebugPlugin for debug events.
	(shutdown): remove the listener.
	(handleDebugEvents): For Termination events do a refresh on
	the project.

2002-11-21 Alain Magloire

	* src/.../internal/ui/WorkingDirectoryBlock.java (setDefaultWorkingDir):
	Set the workspace directory default to be the Project.
	* src/.../internal/LocalCLaunchConfigurationDelegate.java (launch):
	Use the new function getWorkingDirectory(), it does more check by
	calling verifyWorkingDirectory().
	* src/.../AbstractCLaunchDelegate.java (getEnvironmentArray):
	implemented.
	(getWorkingDirectory): New method, call verifyWorkingDirectory();
	(verifyWorkingDirectory): New method, does more checking.
	(getWorkingDir): Deprecated and calls getWorkingDirectory().
	(getWorkingDirectoryPath): New method.
	(getCProject): Now static.
	(getProjectName): Now static
 
2002-11-21 Judy N. Green

	* src/org/eclipse/cdt/launch/AbstractCLaunchDelegate.java (verifyCProject):
	If we cannot get the ICProject with the config, we get the project 
	and see if it exists and/or it is closed. The appropriate error is now
	displayed, rather than reporting that the project does not exist when it
	does exist, but is closed.

2002-11-14 Thomas Fletcher
	* src/.../launch/ui/CMainTab.java
	Updated error condition to catch closed projects.

2002-11-13 Thomas Fletcher
	* src/.../launch/ui/CDebuggerTab.java
	Updated punctuation.
	
2002-11-13 David Inglis
	* src/.../launch/ui/CDebuggerTab.java
	* src/.../launch/ui/CLaunchConfigurationTab.java
	* src/.../launch/ui/CorefileDebuggerTab.java
	Added support for supported cpus on a debugger and filters list based on
	selected IBinary.
	Default debugger selection is not the first exact matching debugger for 
	the specified platform.
	
2002-11-06 David Inglis
	* src/.../launch/ui/CMainTab.java
	* src/.../launch/ui/ClaunchCOnfigurationTAb.java
	fixed problem with preselection of project/program for new configurations
	
2002-11-04 David Inglis
	* src/.../launch/ui/CDebuggerTab.java
	* src/.../launch/ui/CMainTab.java
	change "local" to "native" and support "*" as a wildcard for platform.
	
2002-11-04 David Inglis
	* src/.../launch/internal/ui/LocalCLaunchCOnfigurationTabGroup.java
	don't filter tab list based on mode since the configuration is shared with debug mode.

2002-11-01 David Inglis	
	* src/.../launch/internal/CoreFileLaunchDelegate.java
	* src/.../launch/internal/LocalCLaunchConfigur.ationDelegate.java
	use new newDebugTaget methods in CDebugModel

2002-10-23 David Inglis
	
	* /src/.../launch/internal/CoreFileDelegate.java
	* /src/.../launch/internal/LocalCLaunchConfigurationDelegate.java
		create new IProcess for debug console from CDISession and pass
		to newDebugTarget methods
