2005-10-11  Lluis Sanchez Gual  <lluis@novell.com> 

	* MonoDevelopDebugger.addin.xml: Fixed addin header information.
	Use "id" attribuet instead of "name" to identify addins.

2005-10-04  Lluis Sanchez Gual  <lluis@novell.com>

	* MonoDevelopDebugger.addin.xml: Added addin dependencies.

2005-10-04  Lluis Sanchez Gual  <lluis@novell.com> 

	* Services.cs: Added missing file.
	* Makefile.am: Fixed assembly references.

2005-08-08  Lluis Sanchez Gual  <lluis@novell.com> 

	* DebuggingService.cs: Implement GetExecutionHandlerFactory method.
	* DebugExecutionHandlerFactory: Moved from MonoDevelop.Base.

2005-08-06  John Luke  <john.luke@gmail.com>

	* Makefile.am: add DebuggerPaths.cs.in to EXTRA_DIST
	fixes bug #75675
	
2005-07-27  Lluis Sanchez Gual  <lluis@novell.com> 

	* DebuggingService.cs: Use the new IConsole parameter to write the
	output.

2005-06-28  Raja R Harinath  <rharinath@novell.com>

	* Makefile.am (DebuggerPaths.cs): Fix for srcdir != builddir.
	($(ADDIN_BUILD)/$(ADDIN)): Likewise.

2005-06-09  Chris Toshok  <toshok@ximian.com>

	* DebuggingService.cs (DebuggingService..ctor): remove the call to
	DebuggerBackend.Initialize().

2005-05-03  Lluis Sanchez Gual  <lluis@novell.com> 

	* Gui/Pads/LocalsPad.cs:
	* Gui/Pads/StackTracePad.cs:
	* Gui/Pads/ThreadPad.cs: Removed BringToFront from IPadContent.

2005-04-30  Lluis Sanchez Gual  <lluis@novell.com>

	* DebuggingService.cs: Made Debugging property public and changed the
	name to IsDebugging for consistency with IsRunning. Implemented
	ClearAllBreakpoints method. Don't dispatch events through the
	GUI thread here. It is the responsibility of the subscriber to handle
	the event in the GUI thread, if it needs to.
	When returning the file and line of the execution location, if the
	current stack frame doesn't have debug info return the first one in
	the stack with info.
	* Gui/Pads/StackTracePad.cs: Make sure debugger events run in the GUI
	thread. Show the complete stack trace, something like what mdb does.
	* Makefile.am:
	* MonoDevelopDebugger.addin.xml:
	* DebuggerCommands.cs: Moved debug commands to MonoDevelop.Base.
	* ThreadPad.cs:
	* LocalsPad.cs:Make sure debugger events run in the GUI thread.

2005-04-28  Lluis Sanchez Gual  <lluis@novell.com>

	* Gui/Pads/ThreadPad.cs: Actually remove threads with no target.

2005-04-28  Chris Toshok  <toshok@ximian.com>

	* Gui/Pads/StackTracePad.cs: fix gtk-sharp obsolete warnings.

	* Gui/Pads/LocalsPad.cs: fix gtk-sharp obsolete warnings.
	
	* Gui/Pads/ThreadPad.cs (ThreadPad.AddThread): fix gtk-sharp
	obsolete warnings, and remove the unecessary "new Glib.Value()"
	stuff.

2005-04-28  Chris Toshok  <toshok@ximian.com>

	* DebugAttributeHandler.cs
	(DebugAttributeHandler.ScanDirectory): split out the bulk of
	Rescan and put it here so we can support multiple assembly drop
	points.
	(DebugAttributeHandler.Rescan): call ScanDirectory with
	DebuggerPaths.VisualizerPath.

	* DebuggerPaths.cs.in: new file so we can insert configure'd
	paths.
	
	* Makefile.am (build_sources): add DebuggerPaths.cs
	(DebuggerPaths.cs): add rule to build this file.
	(DISTCLEANFILES): add DebuggerPaths.cs

2005-04-27  Lluis Sanchez Gual  <lluis@novell.com>

	* DebuggingService.cs: Track api changes in IDebuggingServices.
	* Gui/Pads/ThreadPad.cs: Don't crash if an update is requested when
	the debugger service is in an invalid state.

2005-04-25  Lluis Sanchez Gual  <lluis@novell.com>

	* DebuggingService.cs: Dispose the output pad when the debug session
	ends. The Run method now takes a progress monitor and will stop if
	the monitor notifies a cancel request. The Run method is now also
	responsible of creating the output pad.
	
	* DebuggerCommands.cs:
	* MonoDevelopDebugger.addin.xml: Use the new syntax for defining
	commands. The DebugProject and DebugKillApplication commands have
	been moved to MonoDevelop.Base since may they be reused by other addins.

2005-04-19  Chris Toshok  <toshok@ximian.com>

	* Visualizers/TargetObjectProvider.cs: remove unnecessary using
	lines.
	(TargetObjectProvider.IsObjectReplaceable): always return false,
	as the Transfer/Replace methods are not implemented.
	
	* Visualizers/visualizer.snk: new file, our assembly strong name.

	* Visualizers/Makefile.am (DEFINES): put the -define's here.
	($(ASSEMBLY)): use $DEFINES and put our keyfile in.
	(DLLS): prune these to just gtk-sharp and mono-debugger libs.

2005-04-14  Chris Toshok  <toshok@ximian.com>

	* Visualizers/TargetObjectProvider.cs
	(TargetObjectProvider.GetData): implement, using
	TargetMemoryStream.

	* Visualizers/Makefile.am (DLLS): remove the -pkg:gtk-sharp-2.0
	(FILES): add TargetMemoryStream.cs
	(install-data-local): add the beginnings of an install target.  we
	still need a strong name.

	* Visualizers/TargetMemoryStream.cs: new file.  a proxy to manage
	a debugee-side MemoryStream for use in serializing objects.

	* Gui/LocalsPad.cs (LocalsPad.InsertStrucChildren): if we're
	inserting a proxy's attribute, return afterward instead of falling
	through to the default behavior.
	(LocalsPad.VisualizerActivate): force the debugee to load the
	assembly containing the source type.
	(LocalsPad.TreePopup): populate the Visualizers submenu with all
	applicable visualizers.
	(LocalsPad.GetDebuggerVisualizerAttributes): return an array of
	attributes.

	* DebugAttributeHandler.cs: change things around so multiple
	Visualizer attributes can be associated with a given type.

	* DebuggingService.cs (DebuggingService.LoadLibrary): new
	function.

2005-04-06  Chris Toshok  <toshok@ximian.com>

	* Gui/StackTracePad.cs (StackTracePad.OnStoppedEvent): set
	current_frame to null before calling UpdateDisplay.
	(StackTracePad.OnResumedEvent): just don't update here - should we
	clear the display?  or leave it as it is until the next time the
	debugger stops?
	(StackTracePad.UpdateDisplay): if the current_frame (or its
	method) is null, clear the display.

2005-04-06  Chris Toshok  <toshok@ximian.com>

	* Gui/LocalsPad.cs: wrap the using MonoDevelop.DebuggerVisualizers
	with #if NET_2_0.
	(LocalsPad.VisualizerActivate): comment out an unworking line for
	the time being.

2005-04-06  Chris Toshok  <toshok@ximian.com>

	* Gui/LocalsPad.cs: (LocalsPad.OnStoppedEvent): the CurrentFrame
	field is of type StackFrame now, so move the cast to the
	DebuggingService instead of the stackframe.

	* Gui/StackTracePad.cs: same.

	* Gui/ThreadPad.cs (ThreadPad.UpdateThread): just set the values
	on the row, don't both comparing to the current value.

	* DebuggingService.cs (DebuggingService.target_output,
	DebuggingService.debugger_output): add Console.WriteLines here
	until I can get the debugger output pad to appear in the debug
	context.
	(DebuggingService.CurrentFrame): this property is now a
	StackFrame, not an object.

2005-04-05  Chris Toshok  <toshok@ximian.com>

	* Visualizers/Makefile.am (DLLS): add MonoDevelop.Debugger.dll.
	(ASSEMBLY): remove $(ADDIN_BUILD)/ from the assembly path/name.
	(build): add -g so we can get methods from the visualizer dll for
	calling in the debugger addin.

	* Visualizers/VisualizerObjectSource.cs
	(VisualizerObjectSource..ctor): remove the
	NotImplementedException.
	(VisualizerObjectSource.CreateReplacementObject): implement by
	deserializing the incoming stream.
	(VisualizerObjectSource.Deserialize): implement with a binary
	formatter.
	(VisualizerObjectSource.GetData): implement using
	VisualizerObjectSource.Serialize.
	(VisualizerObjectSource.Serialize): implement with a binary
	formatter.

	* Visualizers/TargetObjectProvider.cs
	(TargetObjectProvider.CreateVisualizerObjectSource): method used
	to create an instance of the visualizer's object source in the
	debugee process.
	(TargetObjectProvider.get_IsObjectReplaceable): return true.
	(TargetObjectProvider.GetObject): implement by using GetData and a
	binary formatter to deserialize the object.
	(TargetObjectProvider.ReplaceObject): implement using ReplaceData
	and serialization.
	(TargetObjectProvider.TransferObject): implement using
	TransferData and serialization.

2005-04-06  Alp Toker  <alp@atoker.com>

	* Gui/LocalsPad.cs: comment out 'using MonoDevelop.DebuggerVisualizers'
	line to fix the build.

2005-04-05  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (FILES): remove VariablePad.cs

	* Gui/LocalsPad.cs: roll VariablePad.cs into here.  we'll display
	both args and locals in the same pad.

	* Gui/VariablePad.cs: nuke.

2005-04-01  Chris Toshok  <toshok@ximian.com>

	* Visualizers/*: Start of debug visualizer support.
	
2005-04-01  Chris Toshok  <toshok@ximian.com>

	* Gui/Debugger*Pad.cs: rename to Gui/*Pad.cs (drop the
	"Debugger").
	
	* Makefile.am (FILES): track Pad filename changes.

	* MonoDevelopDebugger.addin.xml: same.

2005-03-31  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs: use Runtime.Gui.Icons and
	Runtime.Gui.Resources.

2005-03-31  Chris Toshok  <toshok@ximian.com>

	* DebuggingService.cs: track BreakpointHandle api change, and use
	Runtime.DispatchService instead of Gtk.ThreadNotify.

	* DebuggerCommands.cs: use Runtime.* instead of
	ServiceManager.GetService(...)

	* DebuggerAttributeHandler.cs: same.
	
	* Gui/DebuggerStackTracePad.cs: same.

	* Gui/DebuggerStackVariablePad.cs: same.

	* Gui/DebuggerThreadPad.cs: same, and make this properly
	update-without-clearing-the-store, like the other pads.

2005-03-29  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs: display "this" if we're in a method
	that has it.

	* Gui/DebuggerStackTracePad.cs: update the currently displayed
	rows instead of clearing the tree and adding every frame to cut
	down on flashing.

2005-03-29  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs: make this a lot nicer.  we update
	entries now instead of clearing/re-adding everything.  also,
	display icons now.

	* DebugAttributeHandler.cs (DebugAttributeHandler.Rescan):
	actually add the attributes to our hashtables.
	(DebugAttributeHandler.EvaluateDebuggerDisplay): move this here.

2005-03-24  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerStackTracePad.cs
	(DebuggerStackTracePad.UpdateDisplay): remove the
	CleanDisplay() here.
	(DebuggerStackTracePad.UpdateDisplay): and add one here.

2005-03-24  Chris Toshok  <toshok@ximian.com>
	
	* Gui/DebuggerStackTracePad.cs, Gui/DebuggerLocalsPad.cs,
	Gui/DebuggerThreadPad.cs, MonoDevelopDebugger.addin.xml: fix the
	pad ids.

2005-03-24  Chris Toshok  <toshok@ximian.com>

	* MonoDevelopDebugger.addin.xml: Change all the namespaces to
	MonoDevelop.Debugger.*

	* Gui/DebuggerVariablePad.cs
	(DebuggerVariablePad.GetDebuggerTypeProxyAttribute,
	DebuggerVariablePad.GetDebuggerDisplayAttribute): make use of
	DebugAttributeHandler.

	* Makefile.am (FILES): add DebugAttributeHandler.cs

	* DebuggerCommands.cs (DebugProject.Run): rescan debugger
	attributes when we start a debugging session.

	* DebugAttributeHandler.cs: new file, encapsulate all the debug
	attribute handling here (as much as is possible, anyway).

	* DebuggingService.cs: add attribute handler stuff, and change
	GetDebugProgressMonitor() to a property (DebugProgressMonitor).

	* *.cs, Gui/*.cs: change namespace to MonoDevelop.Debugger.*.
	
	* DebuggerASTVisitor.cs: wrap this file with #if NET_2_0.

2005-03-23  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerThreadPad.cs, Gui/DebuggerStackTracePad.cs,
	Gui/DebuggerLocalsPad.cs: Add Id and DefaultPlacement properties.

2005-03-15  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs: never commit code before trying to
	compile it.

2005-03-15  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (DLLS): add ICSharpCode.SharpRefactory.dll
	(FILES): remove CSharpTokenizer.cs, CSharpExpressionParser.cs, and
	MyTextReader.cs.  Add DebuggerASTVisitor.cs

	* Gui/DebuggerVariablePad.cs
	(DebuggerVariablePad.EvaluateDebuggerDisplay): use MD's AST stuff
	instead of mdb's parser c&p here.  
	
	* CSharpTokenizer.cs, CSharpExpressionParser.jay,
	CSharpExpressionParser.cs, MyTextReader.cs: nuke.
	
	* DebuggerASTVisitor.cs: new class used to convert from MD's AST
	to trees that the debugger can evaluate.
	
	* Expression.cs: add ConditionalExpression and BoolExpression.
	
2005-03-14  Lluis Sanchez Gual <lluis@novell.com>

	* MonoDevelopDebugger.addin.xml: Use the new syntax for defining pads.

2005-03-02  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs (DebuggerVariablePad.ctor): add a
	field to the tree store so we can tell if a particular row
	expansion is for the Raw View.  Also, reorder the tree columns so
	that they're Name, Value, and Type.
	(DebuggerVariablePad.add_member): pass false for @raw_view in both
	add_class and add_struct.
	(DebuggerVariablePad.add_struct): add handling for
	DebuggerTypeProxyAttribute here.  we currently create the proxy
	object in the inferior, but I'm not sure if we should be doing
	that or create it in the debugger's address space.  Also only do
	the debugger proxy stuff if @raw_view == false.  if it's == true,
	expand as usual. When creating the Raw View row, set it's
	RAW_VIEW_COL to true.
	(DebuggerVariablePad.test_expand_row): get the value from
	RAW_VIEW_COL and pass that along to add_struct/add_class.
	(DebuggerVariablePad.GetDebuggerTypeProxyAttribute): new function.
	(DebuggerVariablePad.add_object): deal with a null ITargetObject.
	Also, use ITargetObject.PrintObject to call the object's
	ToString() method if a DebuggerDisplay attribute isn't specified
	- this doesn't work yet, as the mono debugger backend has it
	stubbed out.

2005-03-01  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs (DebuggerVariablePad.add_member):
	strip out the part of add_struct that adds individual fields and
	implement all the DebuggerBrowsableAttribute handling.
	(DebuggerVariablePad.add_struct): display both fields and
	properties.
	(DebuggerVariablePad.GetDebuggerBrowsableAttribute): returns the
	first DebuggerBrowsable attribute for a given ITargetMemberInfo,
	if there are any.
	(DebuggerVariablePad.GetDebuggerDisplayAttribute): returns the
	first DebuggerDisplay attribute for a given ITargetObject, if
	there are any.
	(DebuggerVariablePad.EvaluateDebuggerDisplay): given the
	DebuggerDisplay attribute's value, evaluate any nested
	{expressions} and convert them all to strings.
	(DebuggerVariablePad.add_object): if it's a struct or class, add
	the DebuggerDisplay if there is one.

	* DebuggingService.cs (MainThread): add a getter for this, so we
	can grab a thread with which to evaluate expressions in
	DebuggerDisplayAttributes.

	* Makefile.am (FILES): add stripped down files from the debugger
	source - EvaluationContext.cs (formerly ScriptingContext),
	Expression.cs, MyTextReader.cs, CSharpTokenizer.cs, and
	CSharpExpressionParser.cs.

2005-02-25  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs (DebuggerVariablePad.add_data): fix
	warning.
	(DebuggerVariablePad.test_expand_row): Type.Type -> TypeInfo.Type.
	(DebuggerVariablePad.add_object): same.

2005-02-25  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerVariablePad.cs: track martin's debugger changes.

2005-02-04  Chris Toshok  <toshok@ximian.com>

	* DebuggerCommands.cs: Update so this compiles/works with new MD.

	* DebuggingService.cs (DebuggingService.GetDebugProgressMonitor):
	create a progress monitor in which to display output from the
	debugged program.  not sure what to do about input, though.
	(DebuggingService.Cleanup): null current_monitor.
	(DebuggingService.thread_created): add
	TargetOutput/DebuggerOutput/DebuggerError handlers for the new
	thread, and use Gtk.ThreadNotify.
	(DebuggingService.initialized_event): same.
	(DebuggingService.thread_exited): use Gtk.ThreadNotify
	(DebuggingService.target_output, DebuggingService.debugger_output,
	DebuggingService.debugger_error): delegates for inferior output -
	output to our current_monitor.
	(DebuggingService.target_event): use Gtk.ThreadNotify.
	(DebuggingService.OnBreakpointHit): same.

2004-10-23  Chris Toshok  <toshok@ximian.com>

	* Gui/DebuggerThreadPad.cs: add the current location to stopped
	threads.

	* DebuggingService.cs: add thread (process) events and generate
	thread state change events so the threadpad will update properly.

2004-10-22  Chris Toshok  <toshok@ximian.com>

	* Makefile.am (FILES): add Gui/DebuggerThreadPad.cs

	* MonoDevelopDebugger.addin.xml: add the threadpad xml.

	* Gui/DebuggerThreadPad.cs: new pad, displaying a (for now very
	unreactive) thread list.

2004-10-22  Chris Toshok  <toshok@ximian.com>

	* MonoDevelopDebugger.addin.xml: add DebuggerStackTracePad to the
	views.

	* Gui/DebuggerStackTracePad.cs: new file.

	* Makefile.am (FILES): add DebuggerStackTracePad.cs

2004-10-21  Chris Toshok  <toshok@ximian.com>

	* DebuggingService.cs: return String.Empty from CurrentFilename if
	the frame's SourceAddress is null.  Likewise, return -1 from
	CurrentLineNumber in this case.

2004-06-25  Todd Berman  <tberman@off.net>

	* DebuggingService.cs: sync with cvs debugger.

2004-06-18  Todd Berman  <tberman@off.net>

	* Makefile.am: use pkg-config properly.

2004-06-12  Martin Baulig  <martin@ximian.com>

	* Makefile.am: enable the debugger again.
	* DebuggingService.cs: Make it work wit the latest debugger from CVS.

2004-04-29  Todd Berman  <tberman@sevenl.net>

	* Makefile.am: dont build debugger for now. will add info in configure
	soon
	* DebuggingService.cs: bring up to speed with debugger from cvs.

2004-04-04  Todd Berman  <tberman@sevenl.net>

	* Makefile.am: change to .addin.xml for i18n
	* MonoDevelopDebugger.addin.xml: mv
	* MonoDevelopDebugger.addin: rm

2004-03-29  Todd Berman  <tberman@sevenl.net>

	* Gui/DebuggerVariablePad.cs: use AmbienceService to convert from
	System.Int32 to int, etc.

2004-03-24  John Luke  <jluke@cfl.rr.com>

	* Makefile.am: addin was not being cp'd to build/AddIns/.

2004-03-22  John Luke  <jluke@cfl.rr.com>

	* Makefile.am: move FILES and EXTRA_DIST outside of if block

