2003-12-17 Mikhail Khodjaiants
	Fix for bug 49061: Different values are used as default for the "Load shared library symbols automatically" option.
	* GDBSolibBlock.java

2003-12-01 Mikhail Khodjaiants
	Fix for PR 47230: Need a shared library search path editing capability for GDBServerDebugger.
	Implemented 'GDBServerDebuggerPage' as an extension of 'GDBDebuggerPage'.
	Added two new control blocks - "TCP Connection" and "Serial Connection".
	* src/org/eclipse/cdt/debug/mi/internal/ui/GDBDebuggerPage.java
	* src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java
	* src/org/eclipse/cdt/debug/mi/internal/ui/SerialPortSettingsBlock.java: new
	* src/org/eclipse/cdt/debug/mi/internal/ui/TCPSettingsBlock.java: new

2003-11-26 Mikhail Khodjaiants
	Cleanup.
	* GDBServerDebuggerPage.java
	* ComboDialogField.java

2003-11-20 Mikhail Khodjaiants
	Removed dependencies on internal packages from other cdt plugins.
	* src/org/eclipse/cdt/debug/mi/internal/ui/PixelConverter.java: added
	* src/org/eclipse/cdt/debug/mi/internal/ui/SolibSearchPathBlock.java

2003-11-19 Mikhail Khodjaiants

	Fix for PR 45533: MIException while creating MISession can leave an orphan gdb process. 
	* src/org/eclipse/cdt/debug/mi/internal/ui/preferences/MIPreferencePage.java: 
	added a text field for the launch timeout. 

2003-11-06 Alain Magloire

	Patch from Ashish Karkare(TimeSys)
	*src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPage.java
	Add a new Combo that  helps select a reasonable line speed, and storing
	the selected value as a configuration attribute.

2003-09-29 Mikhail Khodjaiants
	Improved the layout of the 'Shared Libraries' component.
	* SolibSearchPathBlock.java

2003-09-11 Mikhail Khodjaiants
	Moving the shared library search paths block to mi UI.
	* SolibSearchPathBlock.java: new
	* GDBSolibBlock.java

2003-09-11 Mikhail Khodjaiants
	Added the 'org.eclipse.cdt.debug.mi.internal.ui.dialogfields' package.
	* CheckedListDialogField.java: new
	* ComboDialogField.java: new
	* DialogField.java: new
	* IDialogFieldListener.java: new
	* IListAdapter.java: new
	* IStringButtonAdapter.java: new
	* LayoutUtil.java: new
	* ListDialogField.java: new
	* SelectionButtonDialogField.java: new
	* SelectionButtonDialogFieldGroup.java: new
	* Separator.java: new
	* StringButtonDialogField.java: new
	* StringButtonStatusDialogField.java: new
	* StringDialogField.java: new

2003-09-09 Mikhail Khodjaiants
	New UI for the 'Debugger' page of launch configuration.
	* CygwinDebuggerPage.java
	* GDBDebuggerPage.java
	* GDBSolibBlock.java
	
2003-04-07 Mikhail Khodjaiants
	Replaced 'toString()' by 'getMessage()' for CDI exceptions.
	* SetAutoSolibActionDelegate.java

2004-04-04 Alain Magloire

	Code from Monta Vista to do a GDBServer launch.
	The GDBServer launch page.
	
	* src/org/eclipse/cdt/debug/mi/internal/ui/GDBServerDebuggerPager.java:
	* plugin.xml

2003-03-26 Mikhail Khodjaiants
	Cosmetic changes in the 'MIPreferencePage' class.
	* MIPreferencePage.java

2003-02-12 Mikhail Khodjaiants
	Changes in the 'Automatically Load Symbols' action because of the removal of the 
	'setAutoSolib' method from ICDISharedLibraryManager.
	* SetAutoSolibActionDelegate.java
	* plugin.xml
 
2003-02-11 Mikhail Khodjaiants
	The 'Automatically Load Symbols' action is added to the 'Shared Libraries' view.
	* SetAutoSolibActionDelegate.java: new
	* plugin.properties
	* plugin.xml
	* icons/full/clcl16/auto_solib_co.gif: new
	* icons/full/dlcl16/auto_solib_co.gif: new
	* icons/full/elcl16/auto_solib_co.gif: new

2003-02-11 Mikhail Khodjaiants
	New package 'org.eclipse.cdt.debug.mi.internal.ui.actions' is added.

2003-02-06 Alain Magloire

	* src/.../internal/ui/CygwinDebuggerPage.java (updateLaunchConfigurationDialog):
	New method to increase visibility for inner classes.
	(getShell): New method to increase visibility for inner classes.
	(fGDBCommandText): Change scope to protected.
	(fGDBInitText) Change scope to protected.
	* src/.../internal/ui/GDBDebuggerPage.java: Ditto.

2003-01-24 David Inglis

	* src/.../internal/ui/CDebuggerPage.java (removed)
	* src/.../internal/ui/GDBDebuggerPage.java (added)
	rename class plus small layout fix.

	* plugin.xml
	* src/.../internal/ui/CygwinDebuggerPage.java (added)
	make Cywin use its own debug page and remove the auto load solib option.

2003-01-17 David Inglis
	* src/.../internal/ui/CDebuggerPage.java
	Added some browse buttons and new text field for gdbinit file.
	
2003-01-03 Alain Magloire

	* build.properties: Patch from Judy Green.

2003-01-03 Alain Magloire

	* src/org/eclipse./cdt/debug/mi/internal/ui/CDebuggerPage.java (setDefaults):
	Set autosolib  to true by default.

2002-11-26 Doug Schaefer

	* plugin.xml:
	Added new debugPage for Cygwin GDB.
