2006-08-31 Mikhail Khodjaiants
	Bug 155826: Duplicate addListener call in Signals view.
	* SignalsView.java

2006-08-14 Mikhail Khodjaiants
	Bug 136896: View variables in binary format.
	Applied modified patch from Mark Mitchell (CodeSourcery).
	* plugin.properties
	* plugin.xml
	* PreferenceMessages.properties
	* CDebugPreferencePage.java
	* BinaryVariableFormatActionDelegate.java

2006-05-31 Mikhail Khodjaiants
	Bug 144719: [Modules view] Modules from from different sessions are mixed up.
	* ModulesViewEventHandler.java

2006-05-31 Mikhail Khodjaiants
	Bug 144684: [Modules view] Collapse all action doesn't work.
	* CollapseAllModulesAction.java
	* ModulesViewer.java

2006-05-29 Mikhail Khodjaiants
	Bug 144277: No images for source containers types (temporary fix).
	* SourceContainerLabelProvider.java

2006-05-24 Mikhail Khodjaiants
	Bug 143593: Module's children are not expandable.
	* CDebugElementAdapterFactory.java
	* CDebugUIPlugin.java

2006-05-19 Mikhail Khodjaiants
	Bug 142860: Breakpoint marker is not shown in the editor's ruler.
	* ToggleBreakpointAdapter.java
	* plugin.properties
	* plugin.xml

2006-05-12 Mikhail Khodjaiants
	Bug 118274: Condition is not shown in the tooltip of conditional breakpoint.
	Moved the "getBreakpointText" method and related methods to CDebugUtils.
	* CDebugModelPresentation.java
	* CDebugUIMessages.properties

2006-05-12 Mikhail Khodjaiants
	Bug 109449: Sort globals in "Add Globals" dialog.
	* AddGlobalsActionDelegate.java

2006-04-17 Mikhail Khodjaiants
	Added the "AddWatchpoint" action to the breakpoints view.
	* AddWatchpointActionDelegate.java
	* plugin.properties
	* plugin.xml

2006-04-05 Mikhail Khodjaiants
	Bug 135118: Modules view is not updated.
	* ModuleProxyFactory.java
	* ModulesViewEventHandler.java
	* ModulesViewModelProxy.java

2006-04-05 Mikhail Khodjaiants
	Corrected the shared library image selection.
	* CDebugImages.java
	* CDebugModelPresentation.java
	- icons/ovr16/symbols_ovr.gif

2006-04-04 Mikhail Khodjaiants
	See bug 134871: StackOverflowError using AsynchronousViewer.
	* ModulesView.java
	
2006-04-04 Mikhail Khodjaiants
	Complying with Eclipse 3.2 M6. AsynchronousTreeModelViewer has been renamed to AsynchronousTreeViewer.
	* AbstractViewerState.java
	* ModulesViewer.java
	* ModulesViewerState.java

2006-03-29 Mikhail Khodjaiants
	Allow clients to contribute IRestart adapters.
	* RestartActionDelegate.java

2006-03-15 Mikhail Khodjaiants
	An ICDebuggerPage adapter is added to retain compatibility with old extensions.
	+ CDebuggerPageAdapter.java
	* CDebugUIPlugin.java

2006-03-06 Mikhail Khodjaiants
	Fix for Bug 93777: Postmortem and Local launch need a default preference for selected debugger.
	* ICDebugHelpContextIds.java
	+ DebuggerTypesPage.java
	* PreferenceMessages.properties
	* plugin.properties
	* plugin.xml

2006-02-27 Mikhail Khodjaiants
	Discouraged access to EditorsPlugin. 
	Added support for SharedTextColors to CDebugUIPlugin.
	+ SharedTextColors.java
	* DisassemblyView.java
	* CDebugUIPlugin.java

2006-02-27 Mikhail Khodjaiants
	Bug 89429: replaced the usage of the internal SourceLookupUIUtils class by DebugUITools.
	* AddSourceContainerDialog.java
	* EditContainerAction.java
	* SourceContainerLabelProvider.java

2006-02-27 Mikhail Khodjaiants
	Added dependency to the org.eclipse.ui.views plugin (needed to use the breakpoint 
	actions in the Outline view).
	* MANIFEST.MF

2006-02-27 Mikhail Khodjaiants
	The DirectorySourceContainer's UI now supports the subfolders searching option (see bug 89748).
	Removed the UI related to CDirectorySourceContainer. 
	- CDirectorySourceContainerBrowser.java
	- CDirectorySourceContainerDialog.java
	* SourceContainerWorkbenchAdapter.java
	* SourceLookupUIMessages.properties
	* plugin.xml

2006-02-21 Mikhail Khodjaiants
	Bug 122336: Use the asynchronous tree viewer in the Modules view.
	Adjustments to the platform changes in M5.
	+ src/org/eclipse/cdt/debug/internal/ui/elements/adapters (new package)
	+ CDebugElementAdapterFactory.java
	* AbstractViewerState.java
	+ ModuleContentAdapter.java
	+ ModuleProxyFactory.java
	* ModulesView.java
	* ModulesViewer.java
	* ModulesViewerState.java
	* ModulesViewEventHandler.java
	- ModuleTreeContentAdapter.java
	* CDebugUIPlugin.java

2006-02-03 Mikhail Khodjaiants
	The "ICDebuggerPage" interface and "AbstractCDebuggerPage" class are added.
	All extensions of the "CDebuggerPage" extension point must implement "ICDebuggerPage".
	* CDebuggerPage.exsd
	+ AbstractCDebuggerPage.java
	* CDebugUIPlugin.java
	+ ICDebuggerPage.java

2006-01-27 Mikhail Khodjaiants
	Bug 125561: ClassCastException in Modules view.
	* ModulesView.java

2006-01-22 Mikhail Khodjaiants
	Bug 60682: No schema for CDebuggerPage extension point.
	* plugin.xml
	+ schema/CDebuggerPage.exsd

2006-01-16 Mikhail Khodjaiants
	Bug 123702: Prevent Signals view from being automatically added to debugger perspective.
	* plugin.xml

2005-12-29 Mikhail Khodjaiants
	Bug 122336: Use the asynchronous tree viewer in the Modules view.
	* LoadSymbolsForAllActionDelegate.java
	* AbstractViewerState.java
	* ModulesView.java
	- ModulesViewContentProvider.java
	* ModulesViewer.java
	* ModulesViewerState.java
	* ModulesViewEventHandler.java
	+ ModulesViewModelProxy.java
	+ ModuleTreeContentAdapter.java

2005-12-27 Mikhail Khodjaiants
	HTMLTextPresenter implements DefaultInformationControl.IInformationPresenterExtension
	instead of deprecated DefaultInformationControl.IInformationPresenter.
	* HTMLTextPresenter.java

2005-12-27 Mikhail Khodjaiants
	 Cleanup.
	* RetargetAction.java

2005-12-27 Mikhail Khodjaiants
	Replaced deprecated org.eclipse.jface.util.ListenerList by 
	org.eclipse.core.runtime.ListenerList.
	* CBreakpointPreferenceStore.java

2005-12-27 Mikhail Khodjaiants
	 Cleanup.
	 * HTMLPrinter.java
	 * AbstractViewActionDelegate.java
	 * CDebugUIPlugin.java

2005-12-27 Mikhail Khodjaiants
	Bug 109526: Support Eclipse-LazyStart and deprecate Eclipse-AutoStart.
	* MANIFEST.MF

2005-11-23 Mikhail Khodjaiants
	Bug 117754: Stack frame can't display address.
	* CDebugModelPresentation.java

2005-10-19 Mikhail Khodjaiants
	Bug 113114: Expanding Modules View throws SWTError: No more handles.
	* ModulesView.java

2005-09-06 Mikhail Khodjaiants
	Cleanup: replaced "new Boolean" by the static Boolean objects (Java 1.4).
	* QuestionStatusHandler.java
	* ShowFullPathsAction.java
	* CBreakpointPreferenceStore.java
	* ModuleProperties.java

2005-08-24 Mikhail Khodjaiants
	Bug 107208: toggle breakpoint with external sources doesn't work.
	* ToggleBreakpointAdapter.java

2005-07-26 Mikhail Khodjaiants
	Bug 105224: Two identical directory source container types.
	+ icons\obj16\directory_obj.gif
	* plugin.xml

2005-07-25 Alain Magloire
	Part fix for PR 100992: The signature was incorrect for structure/unions.
	
	* src/org/eclipse/cdt/debug/internal/ui/actions/ToggleBreakpointAdapter.java

2005-07-22 Alain Magloire
	Fix the copyright.

2005-07-14 Mikhail Khodjaiants
	Bug 103910: The modules view's icon is missing.
	+ icons/view16/memory_view.gif
	- icons/view16/sharedlibraries_view.gif

2005-07-12 Mikhail Khodjaiants
	Bug 103162: Module View: Missing context menu on detailed pane.
	* ModulesMessages.properties
	* ModulesView.java
	* plugin.xml

2005-07-08 Mikhail Khodjaiants
	Bug 79371: Setting breakpoints in the left hand side ruler of the disassembly view is sluggish.
	Asynchronous breakpoint handling.
	* DisassemblyEditorInput.java

2005-07-04 Mikhail Khodjaiants
	Removed the "IBreakpointTarget" interface.
	* DisassemblyEditorInput.java

2005-06-30 Mikhail Khodjaiants
	Bug 102386: double-clicking on a disassembly line in the disassembly view does not add a breakpoint.
	* ToggleBreakpointAdapter.java

2005-06-29 Mikhail Khodjaiants
	Bug 41725: I can't set a breakpoint in a function where I used attach source.
	Bug 45514: Breakpoints made is assembly view do not show in C view.
	+ DebugMarkerAnnotationModel.java
	+ DebugMarkerAnnotationModelFactory.java
	* ToggleBreakpointAdapter.java
	* DisassemblyEditorInput.java
	* plugin.xml

2005-06-29 Mikhail Khodjaiants
	Removed unused imports.
	* CBreapointWorkbencAdapterFactory.java

2005-06-25 Alain Magloire
	Fix PR 94735: return an empty object.
	* src/org/eclipse/cdt/debug/internal/ui/CBreapointWorkbencAdapterFactory.java

2005-06-22 Mikhail Khodjaiants
	Bug 96563: "Go to file" is ghosted on breakpoints (outside projects?).
	* CDebugModelPresentation.java

2005-06-20 Mikhail Khodjaiants
	Bug 93855: Changing values in detailed pane doesn't work the first time after the view is loaded.
	+ DetailsViewerConfiguration.java
	* plugin.xml

2005-06-17 Mikhail Khodjaiants
	Bug 99217: NPE thrown when fetching deffered children.
	* CDebugModelPresentation.java

2005-06-12 Mikhail Khodjaiants
	Bug 100447: NPE generated when Run To Line in Disassembly view.
	* ResumeAtLineAdapter.java
	* RunToLineAdapter.java

2005-06-12 Mikhail Khodjaiants
	Temporary fix for bug 79872: Make instruction stepping default in disassembly view.
	* DisassemblyView.java

2005-06-10 Mikhail Khodjaiants
	Bug 84929: The "Expression to watch" field of the "Add Watchpoint" dialog is editable.
	* CDebugModelPresentation.java
	* AddWatchpointActionDelegate.java
	* AddWatchpointDialog.java
	* ToggleBreakpointAdapter.java
	* ModulesView.java

2005-06-10 Mikhail Khodjaiants
	Bug 83465: Add "Run to line" and "Resume at line" actions to the context menu of Disassembly view.
	* plugin.xml

2005-06-10 Mikhail Khodjaiants
	Bug 81353: automatically opening of the disassembly window.
	* ToggleInstructionStepModeActionDelegate.java
	* ICDebugUIConstants.java

2005-06-10 Mikhail Khodjaiants
	Warning cleanup.
	* AddExpressionEditorActionDelegate.java
	* ExpressionDialog.java
	* ManageFunctionBreakpointActionDelegate.java
	* ResumeAtLineActionDelegate.java
	* RetargetAction.java
	* RunToLineAdapter.java
	* ToggleBreakpointRulerAction.java
	* ToggleWatchpointActionDelegate.java
	* ThreadFilterEditor.java
	* DisassemblyAnnotationModel.java
	* DisassemblyView.java

2005-06-09 Mikhail Khodjaiants
	Warning cleanup.
	* CDebugModelPresentation.java

2005-06-09 Mikhail Khodjaiants
	Warning cleanup.
	* CBreakpointUpdater.java

2005-06-09 Mikhail Khodjaiants
	Bug 94139: User-defined register groups.
	Externalized strings for the "Restore Default Register Groups" action.
	* RestoreDefaultRegisterGroupsActionDelegate.java
	* ActionMessages.properties

2005-06-09 Mikhail Khodjaiants
	Bug 94139: User-defined register groups.
	Support for the "Restore Default Register Groups" action.
	+ RestoreDefaultRegisterGroupsActionDelegate.java
	* plugin.properties
	* plugin.xml

2005-06-07 Mikhail Khodjaiants
	New images for mapping source containers.
	* icons/obj16/mapentry_obj.gif
	* icons/obj16/mapping_obj.gif
	+ icons/wizban/mapentry_obj.gif
	+ icons/wizban/mapping_obj.gif
	* CDebugImages.java
	* PathMappingDialog.java

2005-06-07 Mikhail Khodjaiants
	Bug 94139: User-defined register groups.
	Support fo the "Edit Register Group" action.
	* AbstractViewActionDelegate.java
	* ActionMessages.properties
	* AddRegisterGroupActionDelegate.java
	+ EditRegisterGroupActionDelegate.java
	* plugin.properties
	* plugin.xml

2005-05-31 Mikhail Khodjaiants
	Bug 84816: The modification of the signal properties should be done in the background.
	* SignalPropertyPage.java

2005-05-24 Mikhail Khodjaiants
	Bug 88558: run-to-line not thread oriented.
	The "Run to Line" action should be enabled on stack frames and threads, not on targets.
	* RunToLineAdapter.java

2005-05-20 Mikhail Khodjaiants
	Bug 94139: User-defined register groups.
	UI to add/remove user-defined groups.
	* ICDebugHelpContextIds.java
	* ActionMessages.properties
	+ AddRegisterGroupActionDelegate.java
	+ RegisterGroupDialog.java
	+ RemoveRegisterGroupActionDelegate.java
	* plugin.properties
	* plugin.xml

2005-05-09 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	Removed unused images.
	- icons/dtool16/adddirsource_wiz.gif
	- icons/dtool16/addprjsource_wiz.gif
	- icons/etool16/adddirsource_wiz.gif
	- icons/etool16/addprjsource_wiz.gif
	- icons/wizban/add_dir_source_location_wiz.gif
	- icons/wizban/add_prj_source_location_wiz.gif
	- icons/wizban/add_source_location_wiz.gif
	* CDebugImages.java

2005-05-09 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	Removed CDebugEditor and old source lookup related classes and interfaces.
	* CDebugModelPresentation.java
	- CDebugEditor.java
	- EditorInputDelegate.java
	- EditorMessages.java
	- EditorMessages.properties
	- FileNotFoundElement.java
	- NoSymbolOrSourceElement.java
	- AddDirectorySourceLocationBlock.java
	- AddDirectorySourceLocationWizard.java
	- AddProjectSourceLocationBlock.java
	- AddProjectSourceLocationWizard.java
	- AddSourceLocationWizard.java
	- SourceLocationSelectionPage.java
	- SourceLocationWizardNode.java
	- WizardMessages.java
	- WizardMessages.properties
	- INewSourceLocationWizard.java
	* OldDefaultSourceLocator.java
	- SourceListDialogField.java
	- SourceLookupBlock.java
	- SourceLookupLabelProvider.java
	* SourceLookupMessages.properties
	- SourcePropertyPage.java
	* plugin.properties
	* plugin.xml

2005-04-27 Mikhail Khodjaiants
	Added path validation to CDirectorySourceContainerDialog.
	* CDirectorySourceContainerDialog.java
	* SourceLookupUIMessages.properties

2005-04-25 Mikhail Khodjaiants
	Added the new source container type (CDirectorySourceContainer) to provide 
	the UI support for the subfolders search.
	* ICDebugHelpContextIds.java
	+ CDirectorySourceContainerBrowser.java
	+ CDirectorySourceContainerDialog.java
	* SourceContainerWorkbenchAdapter.java
	* SourceLookupUIMessages.properties
	* plugin.xml

2005-04-22 Mikhail Khodjaiants
	Initalize the particiapants of the source lookup director when converting 
	from an old memento.
	* DefaultSourceLocator.java

2005-04-21 Mikhail Khodjaiants
	Changed the labels of the "Source Lookup Path" preference page to "Common Source Lookup Path".
	* PreferenceMessages.properties
	* plugin.properties

2005-04-21 Mikhail Khodjaiants
	Bug 92292: [artwork] "Instruction Stepping Mode" image is same as "Use Step Filters".
	* icons/dlcl16/instr_step.gif
	* icons/elcl16/instr_step.gif

2005-04-21 Mikhail Khodjaiants
	Replaced deprecated methods.
	* CBreakpointPropertiesAction.java
	* CBreakpointPropertiesRulerAction.java
	* ModulesPropertiesActionDelegate.java
	* SignalPropertiesActionDelegate.java

2005-04-21 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	* CDebugModelPresentation.java
	* ICDebugHelpContextIds.java
	* CDebugPreferencePage.java
	* PreferenceMessages.properties
	* SourcePreferencePage.java
	* AddContainerAction.java: new
	* AddSourceContainerDialog.java: new
	* DownAction.java: new
	* EditContainerAction.java: new
	* MappingSourceContainerBrowser.java
	* PathMappingDialog.java
	* RemoveAction.java: new
	* SourceContainerAction.java: new
	* SourceContainerLabelProvider.java: new
	* SourceContainerViewer.java: new
	* SourceContainerWorkbenchAdapter.java
	* SourceLookupUIMessages.java: new
	* SourceLookupUIMessages.properties: new
	* UpAction.java: new
	* CDebugUIPlugin.java
	* DefaultSourceLocator.java
	* OldDefaultSourceLocator.java: new
	* plugin.properties

2005-04-12 Mikhail Khodjaiants
	Bug 91155: Wrong icon for "Restart".
	* icons/dlcl16/restart.gif
	* icons/elcl16/restart.gif

2005-04-07 Mikhail Khodjaiants
	Applied patch from Dave Daoust (new images).

2005-03-21 Mikhail Khodjaiants
	Bug 80175: Replace the CDT source lookup by the source lookup provided by Eclipse platform.
	* icons/full/obj16/mapentry_obj.gif: new
	* icons/full/obj16/mapping_obj.gif: new
	* CDebugImages.java
	* CDebugModelPresentation.java
	* ICDebugHelpContextIds.java
	* src/org/eclipse/cdt/debug/internal/ui/sourcelookup: new package
	* MappingSourceContainerBrowser.java: new
	* PathMappingDialog.java: new
	* SourceContainerAdapterFactory.java: new
	* SourceContainerWorkbenchAdapter.java: new
	* plugin.properties
	* plugin.xml

2005-03-08 Mikhail Khodjaiants
	Removed deprecated "WorkbenchHelp" references.
	* CBreakpointPropertiesRulerAction.java
	* EnableDisableBreakpointRulerAction.java
	* ToggleBreakpointRulerAction.java
	* ToggleDetailPaneAction.java
	* CDebugPreferencePage.java
	* SourcePreferencePage.java

2005-02-25 Mikhail Khodjaiants
	"Resume At Line" is disabled if the Disassembly view is opened during an active debug session.
	* ResumeAtLineActionDelegate.java

2005-02-24 Mikhail Khodjaiants
	Applied patch from Tracy Miranda (bug 86533: Breakpoint is set on the wrong line in Disassembly view).
	* DisassemblyEditorInput.java

2005-02-22 Mikhail Khodjaiants
	Bug 84799: Implement Memory View and renderings with new rendering APIs.
	* plugin.xml

2005-02-17 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Removed the Shared Libraries view.
	* CDebugModelPresentation.java
	* LoadSymbolsActionDelegate.java
	* LoadSymbolsForAllActionDelegate.java
	* SharedLibrariesMessages.java
	* SharedLibrariesMessages.properties
	* SharedLibrariesView.java
	* SharedLibrariesViewContentProvider.java
	* SharedLibrariesViewEventHandler.java
	* ICDebugUIConstants.java
	* plugin.properties
	* plugin.xml

2005-02-17 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	No need to compute the module's labels in background.
	* ModulesView.java

2005-02-16 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Replaced the table viewer by text widgets.
	* PropertyPageMessages.properties
	* ModulePropertyPage.java

2005-02-16 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	The symbols file name isn't shown in the detail pane if module's 
	symbols are not loaded.
	* ModulesView.java
	
2005-02-16 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	The "Load Symbols" action doesn't update the detail value.
	* ModulesViewEventHandler.java

2005-02-15 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	The "Load Symbols For All" action is added to the Modules view.
	* plugin.xml
	* plugin.properties
	* icons/full/clcl16/load_all_symbols_co.gif
	* icons/full/dlcl16/load_all_symbols_co.gif
	* icons/full/elcl16/load_all_symbols_co.gif
	* ICDebugUIInternalConstants.java: removed (cleanup)

2005-02-15 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	The Modules view's doesn't update labels when symbols are loaded.
	* ModulesViewEventHandler.java

2005-02-14 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	New images for the "Load Symbols" action.
	* plugin.xml
	* icons/full/clcl16/load_symbols_co.gif
	* icons/full/dlcl16/load_symbols_co.gif
	* icons/full/elcl16/load_symbols_co.gif

2005-02-14 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Added the "Load Symbols" action.
	* LoadModuleSymbolsActionDelegate.java: new
	* ActionMessages.properties
	* plugin.xml
	* plugin.properties

2005-02-14 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Implementing module's properties.
	* PropertyPageMessages.properties
	* ModuleProperties.java (former ModuleProperties.java)
	* ModulePropertyPage.java

2005-02-14 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Implementing module's properties.
	* PropertyPageMessages.properties
	* CModuleProperties.java
	* ModulePropertyPage.java

2005-02-11 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Implementing module's properties.
	* CDebugModelPresentation.java
	* CDebugUIMessages.properties
	* ModulesPropertiesActionDelegate.java: new
	* CModuleProperties.java: new
	* ModulePropertyPage.java: new
	* ModulesMessages.properties
	* ModulesView.java
	* plugin.xml
	* plugin.properties

2005-02-08 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Improved detail information.
	Save the viewer state.
	* AbstractViewerState.java: new
	* ModulesMessages.properties
	* ModulesView.java
	* ModulesViewerState.java: new
	* plugin.xml

2005-02-07 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	Added the definition of detail pane font.
	* IInternalCDebugUIConstants.java
	* ModulesView.java
	* plugin.xml
	* plugin.properties

2005-02-07 Mikhail Khodjaiants
	Bug 82264: Enhance the Shared Libraries view.
	* CDebugUIMessages.properties
	* CDebugImages.java
	* CDebugModelPresentation.java
	* CDTDebugModelPresentation.java: removed
	* ICDebugHelpContextIds.java
	* ActionMessages.properties
	* CollapseAllModulesAction.java: new
	* ToggleDetailPaneAction.java: new
	* ICDebugPreferenceConstants.java
	* DebugViewDecoratingLabelProvider.java: new
	* DebugViewInterimLabelProvider.java: new
	* DebugViewLabelDecorator.java: new
	* org.eclipse.cdt.debug.internal.ui.views.modules: new package
	* ModulesMessages.properties: new
	* ModulesMessages.java: new
	* ModulesView.java: new
	* ModulesViewContentProvider.java: new
	* ModulesViewer.java: new
	* ModulesViewEventHandler.java: new
	* CDebugUIPlugin.java
	* plugin.xml
	* plugin.properties

2005-02-07 Mikhail Khodjaiants
	Added images for the "Collapse All" action of the modules view.
	* icons\full\clcl16\collapseall.gif
	* icons\full\dlcl16\collapseall.gif
	* icons\full\elcl16\collapseall.gif

2005-02-03 Mikhail Khodjaiants
	Added new images for the modules view.
	* icons\full\clcl16\det_pane_hide.gif
	* icons\full\clcl16\det_pane_right.gif
	* icons\full\clcl16\det_pane_under.gif
	* icons\full\dlcl16\det_pane_hide.gif
	* icons\full\dlcl16\det_pane_right.gif
	* icons\full\dlcl16\det_pane_under.gif
	* icons\full\elcl16\det_pane_hide.gif
	* icons\full\elcl16\det_pane_right.gif
	* icons\full\elcl16\det_pane_under.gif
	* icons\full\cview16\modules_view.gif
	* icons\full\obj16\exec_dbg_obj.gif
	* icons\full\obj16\exec_obj.gif

2005-02-03 Mikhail Khodjaiants
	Fix for bug 84402: computeDetail executes in the UI thread.
	* CValueDetailProvider.java

2005-02-03 Mikhail Khodjaiants
	Fix for bug 84187: "Toggle Watchpoint" and "Toggle Method Breakpoint" don't work with C editor.
	ICWatchpoint should extend ILineBreakpoint to allow watchpoints to be shown in editors.
	* AbstractBreakpointRulerAction.java
	* CBreakpointPropertyPage.java

2005-02-02 Mikhail Khodjaiants
	The "INTERNAL_ERROR" constant has been moved from ICDebugUIConstants to IInternalCDebugUIConstants.
	* IInternalCDebugUIConstants.java
	* ICDebugUIConstants.java
	* ResumeAtLineAdapter.java
	* RunToLineAdapter.java
	* ToggleBreakpointAdapter.java
	* CDebugUIPlugin.java

2005-02-02 Mikhail Khodjaiants
	Fix for bug 84187: "Toggle Watchpoint" and "Toggle Method Breakpoint" don't work with C editor.
	* ToggleBreakpointAdapter.java

2005-01-21 Mikhail Khodjaiants
	Partial fix for bug 83465: Add "Run to line" and "Resume at line" actions to the context menu of Disassembly view.
	* ResumeAtLineActionDelegate.java
	* DisassemblyView.java
	* plugin.xml

2005-01-21 Mikhail Khodjaiants
	Fix for bug 83437: Loading symbols should be run in the background.
	* ActionMessages.properties
	* LoadSymbolsActionDelegate.java
	* LoadSymbolsForAllActionDelegate.java

2005-01-20 Mikhail Khodjaiants
	Fix for bug 83412: Run to line and resume at line should run in the background.
	* ResumeAtLineAdapter.java
	* RunToLineAdapter.java
	* ActionMessages.properties

2005-01-20 Mikhail Khodjaiants
	Bug 83330: Inconsistent in the label for Add expression.
	* plugin.properties

2005-01-19 Mikhail Khodjaiants
	Fix for bug 83051: Add global variables deletes existing ones when new added.
	* AddGlobalsActionDelegate.java

2005-01-18 Mikhail Khodjaiants
	Fix for bug 82800: Make "Resume At Line" action retargettable.
	* plugin.xml
	* CDebugImages.java
	* EvaluationContextManager.java: new
	* ActionMessages.properties
	* IResumeAtLineTarget.java: new
	* ResumeAtLineActionDelegate.java
	* ResumeAtLineAdapter.java: new
	* RetargetAction.java: new
	* RetargetResumeAtLineAction.java: new
	* RetargettableActionAdapterFactory.java
	* CDebugUIPlugin.java
	* JumpToLineActionDelegate.java: removed
	* RunToLineActionDelegate.java: removed

2005-01-12 Mikhail Khodjaiants
	Bug 73168: Use memory view provided by Eclipse platform in CDT. 
	Removed the old memory view.
	* CDebugUIPreferenceInitializer.java
	* AutoRefreshMemoryAction.java: removed
	* ClearMemoryAction.java: removed
	* MemoryActionSelectionGroup.java: removed
	* MemoryFormatAction.java: removed
	* MemoryNumberOfColumnAction.java: removed
	* MemorySizeAction.java: removed
	* RefreshMemoryAction.java: removed
	* ShowAsciiAction.java: removed
	* ActionMessages.properties
	* PreferenceMessages.properties
	* MemoryViewPreferencePage.java: removed
	* ICDebugPreferenceConstants.java
	* MemoryControlArea.java: removed
	* MemoryPresentation.java: removed
	* MemoryText.java: removed
	* MemoryView.java: removed
	* MemoryViewAction.java: removed
	* MemoryViewContentProvider.java: removed
	* MemoryViewer.java: removed
	* MemoryViewEventHandler.java: removed
	* MemoryViewMessages.java: removed
	* MemoryViewMessages.properties: removed
	* plugin.xml

2005-01-11 Mikhail Khodjaiants
	Replaced deprecated methods and constants. Cleanup.
	* SWTUtil.java
	* EnableVariablesActionDelegate.java
	* RemoveGlobalsActionDelegate.java
	* ListDialogField.java
	* SelectionButtonDialogField.java
	* StringButtonDialogField.java
	* CDebugPreferencePage.java
	* CBreakpointPropertyPage.java

2005-01-11 Mikhail Khodjaiants
	Use the asynchronous implementation for resume, suspend, step etc provided by eclipse 3.1.
	* plugin.xml
	* AbstractDebugActionDelegate.java
	* RestartActionDelegate.java
	* SignalZeroWorkbenchActionDelegate.java
	* SignalZeroObjectActionDelegate.java: removed

2005-01-04 Mikhail Khodjaiants
	Removed the disassembly editor extension.
	* plugin.xml

2004-12-23 Mikhail Khodjaiants
	The "ascii" renedering is removed from the default renderings.
	* plugin.xml
 
2004-12-21 Mikhail Khodjaiants
	Fix for bug 73168: Use memory view provided by Eclipse platform in CDT.
	Added rendering bindings and default renderings for CDT memory blocks.
	* plugin.xml

2004-12-03 Mikhail Khodjaiants
	Fix for bug 62659: Unable to set default for register format via plugin_customization.ini.
	* CDebugPreferencePage.java

2004-12-02 Mikhail Khodjaiants
	Fix for bug 80055: ArrayIndexOutOfBoundsException in DisassemblyView.
	* DisassemblyEditorInput.java

2004-11-26 Mikhail Khodjaiants
	Do not use "void" if parameter's list is empty when constructing a function or 
	method name for function breakpoints. Name mapping should be done on the implementation level.
	* ToggleBreakpointAdapter.java

2004-11-25 Mikhail Khodjaiants
	Fix for bug 79452: Unable to set a breakpoint on a class method.
	* plugin.xml
	* ToggleBreakpointAdapter.java

2004-11-25 Mikhail Khodjaiants
	Replaced the "breakpointRemoved" method of ICBreakpointListener by the "breakpointsRemoved"
	method that accepts multiple breakpoints.
	* CBreakpointUpdater.java

2004-11-23 Mikhail Khodjaiants
	Workaround for bug 69728: IndexOutOfBoundsException in TextPresentation.
	This bug is fixed in Eclipse 3.1.
	* DisassemblyView.java

2004-11-18 Mikhail Khodjaiants
	Fix for bug 69184: Activate the Expression view when expression is added.
	* AddExpressionEditorActionDelegate.java

2004-11-15 Mikhail Khodjaiants
	Fix for bug 78604: Disassembly causes Java exception when disassembling beyond fn(?).
	* DisassemblyEditorInput.java

2004-11-11 Mikhail Khodjaiants
	Fix for bug 73801: Function breakpoints set from C View aren't shown in editor.
	* ToggleBreakpointAdapter.java

2004-11-10 Mikhail Khodjaiants
	Fix for bug 77437: Disassembly blocks with no associated source code has PC pointer on wrong line.
	* DisassemblyEditorInput.java

2004-11-09 Mikhail Khodjaiants
	Partial fix for bug 41725: I can't set a breakpoint in a function where I used attach source.
	* CDTDebugModelPresentation.java
	* ToggleBreakpointAdapter.java
	* CBreakpointPropertyPage.java

2004-11-09 Mikhail Khodjaiants
	Fix for bug 77251: Need protected access to DisassemblyView's createVerticalRuler() method. 
	* DisassemblyView.java

2004-11-05 Mikhail Khodjaiants
	Cleanup.
	* PreferenceMessages.properties
	* ActionMessages.properties
	* plugin.properties

2004-11-04 Mikhail Khodjaiants
	Removed "Refresh" and "Auto-Refresh" actions from the shared libraries view.
	* AbstractAutoRefreshActionDelegate.java: removed
	* AbstractRefreshAction.java: removed
	* AutoRefreshSharedLibrariesActionDelegate.java: removed
	* RefreshSharedLibrariesAction.java: removed
	* CDebugPreferencePage.java
	* plugin.xml

2004-11-04 Mikhail Khodjaiants
	Removed "Refresh" and "Auto-Refresh" actions from the registers view.
	* AutoRefreshRegistersActionDelegate.java: removed
	* RefreshRegistersAction.java: removed
	* CDebugPreferencePage.java
	* plugin.xml
	
2004-10-29 Mikhail Khodjaiants
	Use the new expression API of CDI.
	* CDebugUIMessages.properties
	* CDTDebugModelPresentation.java

2004-10-18 Mikhail Khodjaiants
	Corrupted plugin.xml.
	* plugin.xml

2004-10-15 Mikhail Khodjaiants
	Replaced the "Signal Properties" dialog by the standard property page.
	* plugin.xml
	* plugin.properties
	* CDebugUIMessages.properties
	* CDTDebugModelPresentation.java
	* ActionMessages.properties
	* SignalPropertiesActionDelegate.java
	* PropertyPageMessages.properties
	* SignalPropertyPage.java: new
	* SignalPropertiesDialog.java: removed

2004-10-08 Mikhail Khodjaiants
	Added the bookkeeping of registers and register groups.
	* CDebugImages.java
	* CDTDebugModelPresentation.java
	* EnableVariablesActionDelegate.java
	* plugin.xml

2004-10-07 Mikhail Khodjaiants
	Added images of disabled registers and register groups.
	* icons/full/obj16/registerd_obj.gif: new
	* icons/full/obj16/registergroupd_obj.gif: new

2004-10-07 Mikhail Khodjaiants
	Provide a context for expression evaluation.
	* CDebugUIUtils.java
	* CDTDebugModelPresentation.java
	* CDTValueDetailProvider.java renamed to CValueDetailProvider.java
	* DebugTextHover.java

2004-10-06 Mikhail Khodjaiants
	Use the same approach to generate expressions and variables labels.
	* CDTDebugModelPresentation.java

2004-09-21 Mikhail Khodjaiants
	Fixed the problems with the Disassembly view and address breakpoints caused by switch to IAddress.
	* CBreakpointPropertyPage.java
	* DisassemblyEditorInput.java

2004-09-20 Mikhail Khodjaiants
	Fix for bug 73920: Stopping CDT debug at a break point and using a non-text editor throws an error.
	* ResumeAtLineActionDelegate.java
	* RunToLineAdapter.java
	* ToggleBreakpointAdapter.java

2004-09-20 Mikhail Khodjaiants
	Evaluate expressions on stack frame instead of target to provide evaluation context.
	Evaluate the hovering expression for the selected context only.
	* DebugTextHover.java

2004-09-17 Alain Magloire
	Support for 64 bits application
	PR 74056. Pathc from Artyom Kuanbekov
	To much files to enumerate.

2004-09-15 Mikhail Khodjaiants
	Removed the "ISwitchToThread" and "ISwitchToFrame" interfaces.
	* CDebugUIPlugin.java

2004-09-13 Mikhail Khodjaiants
	Fix for bug 72555: "Toggle breakpoint" action doesn't remove function breakpoints from editor.
	* DisassemblyEditorInput.java
	* ToggleBreakpointAdapter.java

2004-09-10 Mikhail Khodjaiants
	Fixes for breakpoint filtering.
	* CBreakpointUpdater.java
	* ThreadFilterEditor.java

2004-09-01 Mikhail Khodjaiants
	Fix for bug 73197: DisassemblyEditorInput.getAddress can crash.
	* DisassemblyEditorInput.java

2004-09-01 Mikhail Khodjaiants
	Breakpoint filtering by targets (ui).
	* PropertyPageMessages.properties
	* CBreakpointFilteringPage.java
	* ThreadFilterEditor.java

2004-08-25 Mikhail Khodjaiants
	Added the "Filtering" page to the breakpoint properties.
	* CBreakpointWorkbenchAdapterFactory.java: new
	* CDebugUIMessages.properties
	* PropertyPageMessages.properties
	* CBreakpointFilteringPage.java: new
	* ThreadFilterEditor.java: new
	* plugin.xml
	* plugin.properties

2004-08-24 Mikhail Khodjaiants
	Moved the property pages and related classes into the newly created package - "org.eclipse.cdt.debug.internal.ui.propertypages".
	* PropertyPageMessages.properties: new
	* CBreakpointPreferenceStore.java
	* CBreakpointPropertyPage.java
	* PropertyPageMessages.java: new
	* ActionMessages.properties

2004-08-24 Mikhail Khodjaiants
	Replaced the "Breakpoint Properties" dialog by standard property pages.
	* CBreakpointPreferenceStore.java
	* CBreakpointPropertiesAction.java
	* CBreakpointPropertiesRulerAction.java
	* CBreakpointPropertiesRulerActionDelegate.java
	* CBreakpointPreferencePage.java renamed to CBreakpointPropertyPage.java
	* CBreakpointPropertiesDialog.java: removed
	* plugin.xml
	* plugin.properties
	* ActionMessages.properties

2004-08-12 Mikhail Khodjaiants
	Fix for bug 70453. Linux: error exiting Eclipse on Linux RedHat or SuSe Enterprise Server 9.
	Applied modified patch from Sean Evoy.
	* CDebugUIPlugin.java

2004-08-10 Tanya Wolff
	Fix for 70943 - externalized strings
	* plugin.xml
	* plugin.properties
	
2004-08-10 Mikhail Khodjaiants
	Fix for bug 70902. TVT3.0: Customize Perspective C++ Debug has duplicated strings.
	* plugin.xml
	
2004-08-05 Mikhail Khodjaiants
	Cosmetic fix.
	* CDebugUIMessages.properties

2004-08-04 Mikhail Khodjaiants
	New implementation of the variable types.
	* CDTDebugModelPresentation.java
	* CastToArrayActionDelegate.java
	* CastToTypeActionDelegate.java
	* DecVariableFormatActionDelegate.java
	* HexVariableFormatActionDelegate.java
	* NaturalVariableFormatActionDelegate.java
	* RestoreDefaultTypeActionDelegate.java
	* VariableFormatActionDelegate.java

2004-07-30 Mikhail Khodjaiants
	Display the error message in the variable's label if the value of variable can not be retrieved.
	* CDebugUIMessages.properties
	* CDTDebugModelPresentation.java

2004-07-23 Mikhail Khodjaiants
	More informative error messages.
	* CDebugUIMessages.properties
	* CDTDebugModelPresentation.java

2004-07-20 Mikhail Khodjaiants
	Cleanup.
	* ErrorStatusHandler.java
	* InfoStatusHandler.java
	* QuestionStatusHandler.java

2004-07-16 Mikhail Khodjaiants
	Cleanup.
	* CDTDebugModelPresentation.java

2004-07-15 Mikhail Khodjaiants
	Fix for bug 70147. TVT3.0: Preferences CDT Editor has non-externalized string.
	* plugin.properties
	* plugin.xml

2004-07-15 Tanya Wolff
	Fix for bug 69939. I18N: Memory view contains unexternalized strings.
	Externalized Memory View Refresh menu item.
	* RefreshMemoryAction.java
	* ActionMessages.properties
	
2004-07-09 Mikhail Khodjaiants
	Renamed "ICDebugElementErrorStatus" to "ICDebugElementStatus".
	* CDTDebugModelPresentation.java

2004-07-09 Mikhail Khodjaiants
	Fix for bug 69221: "Show full paths" doesn't work for shared libraries.
	* SharedLibrariesView.java

2004-06-29 Mikhail Khodjaiants
	Temporary fix for bug 68915: Invalid values in the Variables view.
	* CDebugUIPlugin.java

2004-06-22 Mikhail Khodjaiants
	Replaced global resource bundles by messages.

2004-06-21 Mikhail Khodjaiants
	Added transparency to the icons.
	* icons/full/cview16/signals_view.gif
	* icons/full/eview16/signals_view.gif

2004-06-21 Mikhail Khodjaiants
	String externalization.

2004-06-16 Mikhail Khodjaiants
	Deleted the "C/C++ Debugger Appearance" theme.
	Moved the diassembly color preferences to the "C/C++ Debug" preference page.
	* plugin.xml
	* IInternalCDebugUIConstants.java
	* CDebugPreferencePage.java
	* PreferenceMessages.properties: new
	* PreferenceMessages.java: new

2004-06-16 Mikhail Khodjaiants
	Moved the disassembly font definition to the platform "Debug" theme.
	* plugin.xml

2004-06-16 Mikhail Khodjaiants
	Added support for the "Skip Breakpoints" and "Skip breakpoints during a "Run To Line" operation.
	* RunToLineAdapter.java

2004-06-16 Mikhail Khodjaiants
	Removed the "Add Address Breakpoint" and "Add Watchpoint" global actions.
	* plugin.properties
	* plugin.xml	
	* AddAddressBreakpointActionDelegate.java
	
2004-06-15 Mikhail Khodjaiants
	Added the "Toggle Watchpoint" object contribution action.
	* plugin.properties
	* plugin.xml	
	* ActionMessages.properties
	* ToggleWatchpointActionDelegate.java: new
	* ToggleBreakpointAdapter.java
	* icons/full/elcl16/function_brkpt_co.gif: new
	* icons/full/elcl16/watchpoint_co.gif: new

2004-06-15 Mikhail Khodjaiants
	Breakpoint and expression related actions enablement should not depend 
	on the activation of the debuggger plugin.
	* plugin.xml	

2004-06-14 Mikhail Khodjaiants
	Implementation of the "Toggle Method Breakpoint" retargettable action.
	* plugin.properties
	* plugin.xml	
	* ActionMessages.properties
	* ManageFunctionBreakpointActionDelegate.java
	* ToggleBreakpointAdapter.java

2004-06-14 Mikhail Khodjaiants
	Added transparency to the icons.
	* icons/full/cview16/sharedlibraries_view.gif
	* icons/full/eview16/sharedlibraries_view.gif

2004-06-12 Mikhail Khodjaiants
	Added the superclass for action delegates of views different than the Debug view and 
	driven by the selection in the Debug view.
	All "Auto-refresh" actions implement "Observer" to be notified of changes 
	by the corresponding update managers.
	* ActionMessages.properties
	* AbstractAutoRefreshActionDelegate.java
	* AbstractRefreshActionDelegate.java
	* AbstractViewActionDelegate.java: new
	* LoadSymbolsForAllActionDelegate.java
	* RefreshRegistersAction.java
	* RefreshSharedLibrariesAction.java

2004-06-11 Mikhail Khodjaiants
	New implementation of the "Load Symbols For All" action of the Shared Libraries view.
	Fixes for the "Auto-Refresh" and "refresh" actions.
	* AbstractAutoRefreshActionDelegate.java
	* AbstractRefreshActionDelegate.java
	* LoadSymbolsForAllAction.java: removed
	* LoadSymbolsForAllActionDelegate.java: new
	* SharedLibrariesView.java
	* plugin.properties
	* plugin.xml	
	
2004-06-11 Mikhail Khodjaiants
	New implementation of the "Auto-Refresh" actions for registers and shared libraries.
	* plugin.properties
	* plugin.xml	
	* AbstractAutoRefreshActionDelegate.java: new
	* AutoRefreshRegistersAction.java: new
	* AutoRefreshSharedLibrariesAction.java: new
	* AutoRefreshAction.java: removed
	* AbstractRefreshActionDelegate.java

2004-06-09 Mikhail Khodjaiants
	New implementation of the "Refresh" actions for registers and shared libraries.
	* icons/full/clcl16/auto_refresh_co.gif: new
	* icons/full/clcl16/refresh_co.gif: new
	* plugin.properties
	* plugin.xml	
	* CDebugImages.java
	* AbstractRefreshActionDelegate.java: new
	* RefreshRegistersAction.java: new
	* RefreshSharedLibrariesAction.java: new
	* SharedLibrariesView.java
	* Refreshaction.java: removed

2004-06-08 Mikhail Khodjaiants
	Warning clean-up.
	* DebugTextHover.java

2004-06-03 Mikhail Khodjaiants
	Added new images for the "Auto-Refresh" and "Refresh" actions.
	* icons/full/dlcl16/auto_refresh_co.gif
	* icons/full/dlcl16/refresh_co.gif
	* icons/full/elcl16/auto_refresh_co.gif
	* icons/full/elcl16/refresh_co.gif

2004-06-03 Mikhail Khodjaiants
	Changed the breakpoints and watchpoints label resources.
	* CDebugUIPluginResources.properties
	* CDTDebugModelPresentation.java

2004-05-31 Alain Magloire
	The Extension point "org.eclipse.cdt.ui.textHover"
	Changed adjust the Debugger.
	* DebugTextHover.java

2004-05-31 Mikhail Khodjaiants
	Bug 39650: the Memory window has alignment problems.
	Map the Memory view font to the platform text font which is monospace by default.
	* ICDebugPreferenceConstants.java

2004-05-28 Mikhail Khodjaiants
	New implementation of the "Add Expression" editor action.
	* AddExpressionActionDelegate.java: removed
	* AddExpressionEditorActionDelegate.java: new
	* icons/full/dtool16/watch_exp.gif: new
	* icons/full/etool16/watch_exp.gif: new
	* plugin.xml

2004-05-28 Mikhail Khodjaiants
	Changed the error handling of the "Add Globals" and "Enable/Disable Variable" actions.
	* AddGlobalsActionDelegate.java
	* EnableVariablesActionDelegate.java
	* ActionMessages.properties

2004-05-28 Mikhail Khodjaiants
	Removed diassembly editor actions. 
	* plugin.xml	

2004-05-27 Mikhail Khodjaiants
	Display global variables in the Variables view.
	* CDebugImages.java
	* CDTDebugModelPresentation.java
	* AddGlobalsActionDelegate.java
	* RemoveAllGlobalsActionDelegate.java: new
	* RemoveGlobalsActionDelegate.java: new
	* plugin.properties
	* plugin.xml	
	* icons/full/dlcl16/rem_all_co.gif: new
	* icons/full/dlcl16/rem_co.gif: new
	* icons/full/elcl16/rem_all_co.gif: new
	* icons/full/elcl16/rem_co.gif: new
	* icons/full/ovr16/global_ovr.gif: new

2004-05-25 Mikhail Khodjaiants
	New instructuion pointer images for the Disassembly view.
	* icons/full/obj16/inst_ptr_top.gif
	* icons/full/obj16/inst_ptr.gif

2004-05-25 Mikhail Khodjaiants
	Replaced deprecated methods.
	* CDebugUIPreferenceInitializer.java: new
	* CDebugUIPlugin.java

2004-05-24 Mikhail Khodjaiants
	Fix for bug 63612: Debugger Pages are not displayed.
	* CDebugUIPlugin.java

2004-05-21 Mikhail Khodjaiants
	Removed dependencies on the compatibility plugin and replaced deprecated classes and methods.
	Warning cleanup.
	* CDebugImageDescriptorRegistry.java
	* CDebugImages.java
	* LineBreakingReader.java
	* SingleCharReader.java
	* SubstitutionTextReader.java
	* AbstractDebugActionDelegate.java
	* AddAddressBreakpointActionDelegate.java
	* AddExpressionActionDelegate.java
	* ToggleBreakpointAdapter.java
	* SelectionButtonDialogFieldGroup.java
	* SourcePreferencePage.java
	* DisassemblyView.java
	* SourceLocationSelectionPage.java
	* CDebugUIPlugin.java
	* plugin.xml
	* ChangeLog-2003: new

2004-05-20 Mikhail Khodjaiants
	The "IStackFrameInfo" interface is removed and it's methods moved to "ICStackFrame". 
	* CDTDebugModelPresentation.java
	* FileNotFoundElement.java
	* DefaultSourceLocator.java
	* SourceLookupBlock.java
	* SourceLookupLabelProvider.java

2004-05-19 Mikhail Khodjaiants
	Added the support of watch expressions.
	* CDTDebugModelPresentation.java
	* CWatchExpressionDelegate.java: new
	* CDebugUIPluginResources.properties
	* plugin.xml

2004-05-14 Mikhail Khodjaiants
	Refresh the Disassembly view on change events.
	* DisassemblyEditorInput.java
	* DisassemblyView.java
	* DisassemblyViewEventHandler.java

2004-05-13 Mikhail Khodjaiants
	Removed old disassembly implementation.
	* SwitchToDisassemblyActionDelegate.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java: deleted
	* src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java: deleted
	* CDTDebugModelPresentation.java
	* JumpToLineActionDelegate.java
	* CDebugPreferencePage.java
	* CDebugUIPlugin.java
	* DefaultSourceLocator.java
	* plugin.properties
	* plugin.xml

2004-05-13 Mikhail Khodjaiants
	Added the "Instruction Stepping Mode" action.
	* ToggleInstructionStepModeActionDelegate.java
	* plugin.properties
	* plugin.xml
	* org.eclipse.cdt.debug.ui/icons/full/clcl16/instr_step.gif: new
	* org.eclipse.cdt.debug.ui/icons/full/dlcl16/instr_step.gif: new
	* org.eclipse.cdt.debug.ui/icons/full/elcl16/instr_step.gif: new

2004-05-12 Mikhail Khodjaiants
	The input member of 'DisassemblyAnnotationModel' can be null.
	* DisassemblyAnnotationModel.java

2004-05-12 Mikhail Khodjaiants
	Do not log CoreException thrown from the 'decrementInstallCount' method.
	* CBreakpointUpdater.java

2004-05-12 Mikhail Khodjaiants
	Implemented the color highlighting of the source lines in the Disassembly view.
	* plugin.xml
	* IInternalCDebugUIConstants.java
	* DisassemblyEditorInput.java
	* DisassemblyView.java

2004-05-11 Mikhail Khodjaiants
	Added theme category for CDT debugger.
	Moved the disassembly font definition to the theme.
	* plugin.properties
	* plugin.xml
	* IInternalCDebugUIConstants.java

2004-05-06 Mikhail Khodjaiants
	Implementation of mixed disassembly mode.
	* ToggleBreakpointAdapter.java
	* DisassemblyMessages.properties
	* DisassemblyAnnotationModel.java
	* DisassemblyEditorInput.java
	* DisassemblyView.java

2004-05-02 Mikhail Khodjaiants
	Check if the new stack frame is of the same debug target as the old one.
	* DisassemblyEditorInput.java

2004-04-30 Mikhail Khodjaiants
	New implementation of the "Resume At Line" global action.
	* plugin.xml
	* ActionMessages.properties
	* ResumeAtLineActionDelegate.java
	* ToggleBreakpointAdapter.java 

2004-04-30 Mikhail Khodjaiants
	Added ruler breakpoint actions to the Disassembly view.
	* ICDebugHelpContextIds.java
	* IInternalCDebugUIConstants.java
	* ActionMessages.properties
	* AbstractBreakpointRulerAction.java
	* CBreakpointPropertiesRulerAction.java
	* EnableDisableBreakpointRulerAction.java
	* EnableDisableBreakpointRulerActionDelegate.java
	* ManageBreakpointRulerActionDelegate.java
	* ManageFunctionBreakpointActionDelegate.java
	* ToggleBreakpointAdapter.java
	* ManageBreakpointRulerAction.java: deleted
	* ToggleBreakpointRulerAction.java: new
	* DisassemblyAnnotationModel.java
	* DisassemblyDocumentProvider.java
	* DisassemblyView.java

2004-04-28 Mikhail Khodjaiants
	Added support of context menu to the Disassembly view.
	* DisassemblyView.java

2004-04-28 Mikhail Khodjaiants
	Added the overview ruler to the Disassembly view.
	* DisassemblyView.java
	* DisassemblyViewer.java

2004-04-27 Mikhail Khodjaiants
	Breakpoints presentation in the Disassembly view.
	* HTML2TextReader.java: new
	* HTMLPrinter.java: new
	* HTMLTextPresenter.java: new
	* LineBreakingReader.java: new
	* SingleCharReader.java: new
	* SubstitutionTextReader.java: new
	* ToggleBreakpointAdapter.java
	* DisassemblyMessages.properties
	* DisassemblyAnnotationHover.java: new
	* DisassemblyAnnotationModel.java: new
	* DisassemblyDocumentProvider.java
	* DisassemblyEditorInput.java
	* DisassemblyMarkerAnnotationModel.java: deleted
	* DisassemblyView.java
	* DisassemblyViewerConfiguration.java: new

2004-04-23 Mikhail Khodjaiants
	Fix for bug 58711: Breakpoint race condition.
	Notify the Breakpoint Manager when the install count of breakpoint is changed.
	* CBreakpointUpdater.java

2004-04-21 Mikhail Khodjaiants
	Implementing the Disassembly view. 
	New annotation model is added to show breakpoint markers.
	* DisassemblyDocumentProvider.java
	* DisassemblyEditorInput.java
	* DisassemblyInstructionPointerAnnotation.java
	* DisassemblyMarkerAnnotationModel.java: new
	* DisassemblyView.java

2004-04-19 Mikhail Khodjaiants
	Fix for bug 58711: Breakpoint race condition.
	To avoid race condition all breakpoint marker updates (like increment/decrement the install count, 
	enable/disable etc.) should be done in the UI thread. At the same time installing breakpoint 
	at a target should be synchronized with other gdb commands (bug 58711).
	A special listener (CBreakpointUpdater) has been added to receive notifications from the event 
	thread and post marker updates to the UI thread.
	* CDebugUIPlugin.java
	* CBreakpointUpdater.java: new

2004-04-16 Mikhail Khodjaiants
	Implementing retargettable actions for Disassembly view.
	* plugin.xml
	* DisassemblyView.java: new
	* DisassemblyEditorInput.java
	* BreakpointLocationVerifier.java
	* ActionMessages.properties
	* RunToLineAdapter.java
	* ToggleBreakpointAdapter.java

2004-04-15 Mikhail Khodjaiants
	Implementing the Disassembly view.
	New pacckage: org.eclipse.cdt.debug.internal.ui.views.disassembly
	* DisassemblyMessages.properties: new
	* DisassemblyDocumentProvider.java: new
	* DisassemblyEditorInput.java: new
	* DisassemblyInstructionPointerAnnotation.java: new
	* DisassemblyMessages.java: new
	* DisassemblyView.java: new
	* DisassemblyViewer.java: new
	* DisassemblyViewEventHandler.java: new
	* IDisassemblyListener.java: new
	* ICDebugHelpContextIds.java
	* IInternalCDebugUIConstants.java
	* plugin.properties
	* plugin.xml
	* icons/full/cview16/disassembly_view.gif: new
	* icons/full/obj16/inst_ptr_top.gif: new
	* icons/full/obj16/inst_ptr.gif: new

2004-04-12 Mikhail Khodjaiants
	Fixes in the breakpoint-related actions.
	* ActionMessages.properties
	* AbstractListenerActionDelegate.java
	* AddWatchpointActionDelegate.java
	* ToggleBreakpointAdapter.java

2004-04-12 Mikhail Khodjaiants
	Changed the labels of the ruler breakpoint actions.
	* plugin.properties
	
2004-04-12 Mikhail Khodjaiants
	Implementing retargettable breakpoint related actions.
	* AddAddressBreakpointActionDelegate.java
	* AddWatchpointActionDelegate.java
	* ManageBreakpointRulerAction.java
	* ManageBreakpointRulerActionDelegate.java
	* ManageFunctionBreakpointActionDelegate.java
	* ToggleBreakpointAdapter.java
	* DisassemblyMarkerAnnotationModel.java
	* plugin.properties
	* plugin.xml

2004-04-11 Mikhail Khodjaiants
	Implementation of the "Run To Line" retargettable action.
	* plugin.xml
	* RetargettableActionAdapterFactory.java
	* RunToLineAdapter.java
	* RunToLineRulerAction.java - deleted
	* RunToLineRulerActionDelegate.java - deleted
	* ActionMessages.properties

2004-04-08 Mikhail Khodjaiants
	Implementing retargettable actions.
	* plugin.xml
	* RetargettableActionAdapterFactory.java
	* RunToLineAdapter.java
	* ToggleBreakpointAdapter.java

2004-04-08 Mikhail Khodjaiants
	Added breakpoint images and implemented the extension points for breakpoint 
	marker annotations.
	* plugin.xml
	* BreakpointImageProvider.java: new
	* CDebugImages.java
	* CDebugModelPresentation.java
	* CDTDebugModelPresentation.java
	* icons/full/obj16/brkp_obj.gif: new
	* icons/full/obj16/brkpd_obj.gif: new

2004-04-07 Mikhail Khodjaiants
	Strings externalization fixes and reformatting.
	* CDebugUIMessages.properties
	* CDebugModelPresentation.java
	* CDTDebugModelPresentation.java
	* ColorManager.java
	* InfoStatusHandler.java
	* OverlayImageCache.java
	* OverlayImageDescriptor.java
	* PixelConverter.java
	* QuestionStatusHandler.java
	* SWTUtil.java

2004-04-07 Mikhail Khodjaiants
	Removed the "Show Debugger Console" action.
	* DebuggerConsoleActionDelegate.java 
	* ToggelDelegateAction.java
	* plugin.xml

2004-04-02 Mikhail Khodjaiants
	Removed dependency to xerces.
	* DefaultSourceLocator.java
	* plugin.xml

2004-04-02 Mikhail Khodjaiants
	Fix for bug 57160: Don't override Debug perspective's "autoClose" behavior.
	* plugin.xml

2004-04-02 Mikhail Khodjaiants
	Fix for bug 57159: Don't add C views to Debug perspective by default.
	* plugin.xml
	
2004-04-01 Mikhail Khodjaiants
	Changes in the Shared Libraries and the Signals views.
	* ActionMessages.properties
	* ActionMessages.java
	* LoadSymbolsActionDelegate.java
	* LoadSymbolsForAllAction.java
	* ShowFullPathsAction.java
	* SignalActionDelegate.java
	* SignalPropertiesActionDelegate.java
	* SignalPropertiesDialog.java
	* ViewFilterAction.java
	* AbstractDebugEventHandler.java
	* AbstractDebugEventHandlerView.java
	* IDebugExceptionHandler.java
	* SharedLibrariesMessages.properties
	* SharedLibrariesMessages.java
	* SharedLibrariesView.java
	* SharedLibrariesViewContentProvider.java
	* SharedLibrariesViewEventHandler.java
	* SignalsMessages.properties
	* SignalsMessages.java
	* SignalsView.java
	* SignalsViewContentProvider.java
	* SignalsViewer.java
	* SignalsViewEventHandler.java
	* CDebugUIPluginResources.properties
	* plugin.properties
	* plugin.xml

2004-04-01 Mikhail Khodjaiants
	Moved the "Show Full Paths" action from toolbars to view's menus.
	* CDebugModelPresentation.java - new (will replace CDTDebugModelPresentation)
	* CDebugUIMessages.java - new
	* CDebugUIMessages.properties - new
	* ActionMessages.properties - new
	* ActionMessages.java - new
	* ShowFullPathsAction.java
	* ViewFilterAction.java -new
	* ICDebugPreferenceConstants.java
	* icons/full/clcl16/show_paths.gif - new (replaced the old icon)
	* plugin.properties
	* plugin.xml

2004-03-31 Mikhail Khodjaiants
	Added default preferences to the C/C++ Debug preference page.
	Removed the preference page of the Shared Libraries views.
	* SharedLibrariesPreferencePage.java - removed
	* CDebugPreferencePage.java
	* CDebugUIPluginResources.properties
	* CDebugUIPlugin.java
	* plugin.xml

2004-03-31 Mikhail Khodjaiants
	The Registers view has been contibuted and moved to the Eclipse platform.
	* org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/registers/* - removed
	* org.eclipse.cdt.debug.ui/icons/full/cview16/registers_view.gif - removed
	* org.eclipse.cdt.debug.ui/icons/full/eview16/registers_view.gif - removed
	* RegistersViewPreferencePage.java - removed
	* CDebugUIPlugin.java
	* plugin.properties
	* plugin.xml
	
2004-03-23 Mikhail Khodjaiants
	Fix for Bug 55777: I18N: Memory View is missing key for number_of_columns.
	* CDebugUIPluginResources.properties

2004-03-19 Mikhail Khodjaiants
	Added missing action tooltips.
	* plugin.properties
	* plugin.xml

2004-03-11 Tanya Wolff
	Externalized remaining strings
	* debug.internal.ui
	* debug.internal.ui.actions
	* debug.internal.ui.editors
	* debug.ui
	* debug.ui.sourcelookup
	
2004-03-11 Tanya Wolff
	Fix for missing resource in 
	* LoadSymbolsForAllAction.java

2004-03-09 Tanya Wolff
	Added strings to properties file for views packages
	* CDebugUIPluginResources.properties

2004-03-02 Tanya Wolff
	Partial Fix for #51189, completing the externalizing of strings for this plugin.
	Affected packages are:
	 debug.internal.ui
	 debug.internal.ui.actions
	 debug.internal.ui.editors
	 debug.internal.ui.preferences
	 debug.internal.ui.wizards
	 debug.ui
	 debug.ui.sourcelookup.
	 
2004-02-20 Alain Magloire
	Partial Fix for #52155, we simply catch the exception.
	We do not worry about it too much since this code will
	be rewritten part of catching up with Eclipse 3.0
	* CDebugUIPlugin.java: shutdown()

2004-02-16 Mikhail Khodjaiants
	Fix for bug 52135: Debugger should indicate which thread triggered breakpoint.
	* CDTDebugModelPresentation.java

2004-02-16 Tanya Wolff
	Partial Fix for bug 51189.
	Externalized strings in new CDT Debug views.
	* CDebugUIPluginResources.properties
	* MemoryControlArea.java
	* MemoryPresentation.java
	* MemoryView.java
	* MemoryViewer.java
	* RegistersView.java
	* SharedLibrariesView.java
	* SignalsViewer.java
	
2004-02-11 Mikhail Khodjaiants
	Fix for bug 51062: Source locator oddness.
	* DefualtSourceLocator.java
 
2004-02-10 Mikhail Khodjaiants
	Fix for bug 40108: The memory view does not handle big/little endian.
	* MemoryPresentation.java

2004-02-10 Mikhail Khodjaiants
	Fix for bug 51519: Enable 'Format' action if multiple variables are selected. 
	* VariableFormatActionDelegate.java

2004-02-03 Alain Magloire

	Derived from a patch by Chris Songer.
	Accept multiple selection when doing setting the format variables.

	* src/org/eclipse/cdt/debug/internal/ui/actions/VariableFormatActionDelegate.java

2004-01-30 Mikhail Khodjaiants
	Fix for bug 50967:  Linux/SWT blows when double click on the register view. 
	* ChangeRegisterValueAction.java

2004-01-22 Alain Magloire

	Set the sharedLibManager autorefresh to be off by defaul
	
	* SharedLibrariesViewPreferencePage.java

2004-01-06 Mikhail Khodjaiants
	Fix for bug 49587: Unable to set breakpoints in the editors that extend CEditor.
	* ManageBreakpointRulerActionDelegate.java
