From toshok at mono-cvs.ximian.com Fri Apr 1 00:46:29 2005 From: toshok at mono-cvs.ximian.com (Chris Toshok) Date: Fri, 1 Apr 2005 00:46:29 -0500 (EST) Subject: [Monodevelop-patches-list] r2411 - in trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn: . Gui Message-ID: <20050401054629.964A694765@mono-cvs.ximian.com> Author: toshok Date: 2005-04-01 00:46:29 -0500 (Fri, 01 Apr 2005) New Revision: 2411 Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs Log: 2005-03-31 Chris Toshok * Gui/DebuggerVariablePad.cs: use Runtime.Gui.Icons and Runtime.Gui.Resources. Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog 2005-04-01 03:57:44 UTC (rev 2410) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog 2005-04-01 05:46:29 UTC (rev 2411) @@ -1,5 +1,10 @@ 2005-03-31 Chris Toshok + * Gui/DebuggerVariablePad.cs: use Runtime.Gui.Icons and + Runtime.Gui.Resources. + +2005-03-31 Chris Toshok + * DebuggingService.cs: track BreakpointHandle api change, and use Runtime.DispatchService instead of Gtk.ThreadNotify. Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs 2005-04-01 03:57:44 UTC (rev 2410) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs 2005-04-01 05:46:29 UTC (rev 2411) @@ -227,7 +227,7 @@ store.SetValue (iter, NAME_COL, "Raw View"); store.SetValue (iter, RAW_VIEW_COL, true); - Gdk.Pixbuf icon = Runtime.ResourceService.GetIcon (Stock.Class, Gtk.IconSize.Menu); + Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (Stock.Class, Gtk.IconSize.Menu); if (icon != null) store.SetValue (iter, PIXBUF_COL, icon); @@ -425,7 +425,7 @@ store.SetValue (iter, VALUE_COL, GetObjectValueString (obj)); store.SetValue (iter, TYPE_COL, obj == null ? "" : Runtime.Ambience.CurrentAmbience.GetIntrinsicTypeName (obj.TypeInfo.Type.Name)); - Gdk.Pixbuf icon = Runtime.ResourceService.GetIcon (icon_name, Gtk.IconSize.Menu); + Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (icon_name, Gtk.IconSize.Menu); if (icon != null) store.SetValue (iter, PIXBUF_COL, icon); if (obj != null) @@ -437,7 +437,7 @@ string icon = ""; if (obj.TypeInfo.Type.TypeHandle is Type) - icon = Runtime.IconService.GetIcon ((Type)obj.TypeInfo.Type.TypeHandle); + icon = Runtime.Gui.Icons.GetIcon ((Type)obj.TypeInfo.Type.TypeHandle); return icon; } @@ -447,9 +447,9 @@ string icon = ""; if (member.Handle is PropertyInfo) - icon = Runtime.IconService.GetIcon ((PropertyInfo)member.Handle); + icon = Runtime.Gui.Icons.GetIcon ((PropertyInfo)member.Handle); else if (member.Handle is FieldInfo) - icon = Runtime.IconService.GetIcon ((FieldInfo)member.Handle); + icon = Runtime.Gui.Icons.GetIcon ((FieldInfo)member.Handle); return icon; } From jluke at mono-cvs.ximian.com Fri Apr 1 18:00:27 2005 From: jluke at mono-cvs.ximian.com (John Luke ) Date: Fri, 1 Apr 2005 18:00:27 -0500 (EST) Subject: [Monodevelop-patches-list] r2412 - trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests Message-ID: <20050401230027.7F79594765@mono-cvs.ximian.com> Author: jluke Date: 2005-04-01 18:00:27 -0500 (Fri, 01 Apr 2005) New Revision: 2412 Added: trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/partial-1.cs trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/yield-1.cs Log: add tests Added: trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/partial-1.cs =================================================================== --- trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/partial-1.cs 2005-04-01 05:46:29 UTC (rev 2411) +++ trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/partial-1.cs 2005-04-01 23:00:27 UTC (rev 2412) @@ -0,0 +1,20 @@ +using System; + +public partial class Foo +{ + public partial interface IInternal + { + } +} + +partial interface IFoo +{ +} + +partial struct VFoo +{ +} + +class Bar { + static void Main () {} +} Added: trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/yield-1.cs =================================================================== --- trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/yield-1.cs 2005-04-01 05:46:29 UTC (rev 2411) +++ trunk/MonoDevelop/Core/src/ICSharpCode.SharpRefactory/tests/yield-1.cs 2005-04-01 23:00:27 UTC (rev 2412) @@ -0,0 +1,17 @@ +using System; +using System.Collections; + +class T +{ + static IEnumerator GetIt () + { + yield return 1; + yield break; + } + + static void Main () + { + GetIt (); + } +} + From toshok at mono-cvs.ximian.com Fri Apr 1 18:21:10 2005 From: toshok at mono-cvs.ximian.com (Chris Toshok) Date: Fri, 1 Apr 2005 18:21:10 -0500 (EST) Subject: [Monodevelop-patches-list] r2413 - in trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn: . Gui Message-ID: <20050401232110.3150A94765@mono-cvs.ximian.com> Author: toshok Date: 2005-04-01 18:21:09 -0500 (Fri, 01 Apr 2005) New Revision: 2413 Added: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/LocalsPad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/StackTracePad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/ThreadPad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/VariablePad.cs Removed: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Makefile.am trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/MonoDevelopDebugger.addin.xml Log: 2005-04-01 Chris Toshok * 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 Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/ChangeLog 2005-04-01 23:21:09 UTC (rev 2413) @@ -1,3 +1,12 @@ +2005-04-01 Chris Toshok + + * 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 * Gui/DebuggerVariablePad.cs: use Runtime.Gui.Icons and Deleted: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -1,65 +0,0 @@ -using System; -using MonoDevelop.Gui; - -namespace MonoDevelop.Debugger -{ - public class DebuggerLocalsPad : DebuggerVariablePad, IPadContent - { - - public DebuggerLocalsPad () : base (true) - { - } - - public Gtk.Widget Control { - get { - return this; - } - } - - public string Id { - get { return "MonoDevelop.Debugger.DebuggerLocalsPad"; } - } - - public string DefaultPlacement { - get { return "Bottom"; } - } - - public string Title { - get { - return "Locals"; - } - } - - public string Icon { - get { - return MonoDevelop.Gui.Stock.OutputIcon; - } - } - - public void RedrawContent () - { - UpdateDisplay (); - } - - public void BringToFront () - { - } - - protected virtual void OnTitleChanged(EventArgs e) - { - if (TitleChanged != null) { - TitleChanged(this, e); - } - } - protected virtual void OnIconChanged(EventArgs e) - { - if (IconChanged != null) { - IconChanged(this, e); - } - } - public event EventHandler TitleChanged; - public event EventHandler IconChanged; - - - } -} Deleted: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -1,145 +0,0 @@ -using GLib; -using Gtk; -using GtkSharp; -using System; -using System.IO; -using System.Collections; -using System.Globalization; -using System.Runtime.InteropServices; -using Mono.Debugger; -using Mono.Debugger.Languages; - -using MonoDevelop.Core.Services; -using MonoDevelop.Services; -using MonoDevelop.Gui; - -namespace MonoDevelop.Debugger -{ - public class DebuggerStackTracePad : Gtk.ScrolledWindow, IPadContent - { - StackFrame current_frame; - - Gtk.TreeView tree; - Gtk.TreeStore store; - - public DebuggerStackTracePad () - { - this.ShadowType = ShadowType.In; - - store = new TreeStore (typeof (string)); - - tree = new TreeView (store); - tree.RulesHint = true; - tree.HeadersVisible = true; - - TreeViewColumn FrameCol = new TreeViewColumn (); - CellRenderer FrameRenderer = new CellRendererText (); - FrameCol.Title = "Frame"; - FrameCol.PackStart (FrameRenderer, true); - FrameCol.AddAttribute (FrameRenderer, "text", 0); - FrameCol.Resizable = true; - FrameCol.Alignment = 0.0f; - tree.AppendColumn (FrameCol); - - Add (tree); - ShowAll (); - - Runtime.DebuggingService.PausedEvent += new EventHandler (OnPausedEvent); - Runtime.DebuggingService.ResumedEvent += new EventHandler (OnResumedEvent); - Runtime.DebuggingService.StoppedEvent += new EventHandler (OnStoppedEvent); - } - - public void UpdateDisplay () - { - if ((current_frame == null) || (current_frame.Method == null)) - return; - - string[] trace = Runtime.DebuggingService.Backtrace; - - TreeIter it; - if (!store.GetIterFirst (out it)) { - foreach (string frame in trace) { - store.Append (out it); - store.SetValue (it, 0, frame); - } - } - else { - for (int i = 0; i < trace.Length; i ++) { - store.SetValue (it, 0, trace[i]); - if (i < trace.Length - 1 && !store.IterNext (ref it)) - store.Append (out it); - } - /* clear any remaining rows */ - if (store.IterNext (ref it)) - do { } while (store.Remove (ref it)); - } - } - - protected void OnStoppedEvent (object o, EventArgs args) - { - UpdateDisplay (); - } - - protected void OnResumedEvent (object o, EventArgs args) - { - UpdateDisplay (); - } - - protected void OnPausedEvent (object o, EventArgs args) - { - current_frame = (StackFrame)Runtime.DebuggingService.CurrentFrame; - UpdateDisplay (); - } - - public Gtk.Widget Control { - get { - return this; - } - } - - public string Id { - get { return "MonoDevelop.Debugger.DebuggerStackTracePad"; } - } - - public string DefaultPlacement { - get { return "Bottom"; } - } - - public string Title { - get { - return "Call Stack"; - } - } - - public string Icon { - get { - return MonoDevelop.Gui.Stock.OutputIcon; - } - } - - public void RedrawContent () - { - UpdateDisplay (); - } - - public void BringToFront () - { - } - - protected virtual void OnTitleChanged(EventArgs e) - { - if (TitleChanged != null) { - TitleChanged(this, e); - } - } - protected virtual void OnIconChanged(EventArgs e) - { - if (IconChanged != null) { - IconChanged(this, e); - } - } - public event EventHandler TitleChanged; - public event EventHandler IconChanged; - - } -} Deleted: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -1,217 +0,0 @@ -using GLib; -using Gtk; -using GtkSharp; -using System; -using System.IO; -using System.Collections; -using System.Globalization; -using System.Runtime.InteropServices; -using Mono.Debugger; -using Mono.Debugger.Languages; - -using MonoDevelop.Core.Services; -using MonoDevelop.Services; -using MonoDevelop.Gui; - -namespace MonoDevelop.Debugger -{ - public class DebuggerThreadPad : Gtk.ScrolledWindow, IPadContent - { - Gtk.TreeView tree; - Gtk.TreeStore store; - Hashtable thread_rows; - - public DebuggerThreadPad () - { - thread_rows = new Hashtable (); - - this.ShadowType = ShadowType.In; - - store = new TreeStore (typeof (int), - typeof (int), - typeof (string), - typeof (string)); - - tree = new TreeView (store); - tree.RulesHint = true; - tree.HeadersVisible = true; - - TreeViewColumn Col; - CellRenderer ThreadRenderer; - - Col = new TreeViewColumn (); - ThreadRenderer = new CellRendererText (); - Col.Title = "Id"; - Col.PackStart (ThreadRenderer, true); - Col.AddAttribute (ThreadRenderer, "text", 0); - Col.Resizable = true; - Col.Alignment = 0.0f; - tree.AppendColumn (Col); - - Col = new TreeViewColumn (); - ThreadRenderer = new CellRendererText (); - Col.Title = "PID"; - Col.PackStart (ThreadRenderer, true); - Col.AddAttribute (ThreadRenderer, "text", 1); - Col.Resizable = true; - Col.Alignment = 0.0f; - tree.AppendColumn (Col); - - Col = new TreeViewColumn (); - ThreadRenderer = new CellRendererText (); - Col.Title = "State"; - Col.PackStart (ThreadRenderer, true); - Col.AddAttribute (ThreadRenderer, "text", 2); - Col.Resizable = true; - Col.Alignment = 0.0f; - tree.AppendColumn (Col); - - Col = new TreeViewColumn (); - ThreadRenderer = new CellRendererText (); - Col.Title = "Current Location"; - Col.PackStart (ThreadRenderer, true); - Col.AddAttribute (ThreadRenderer, "text", 3); - Col.Resizable = true; - Col.Alignment = 0.0f; - tree.AppendColumn (Col); - - Add (tree); - ShowAll (); - - ((DebuggingService)Runtime.DebuggingService).ThreadStateEvent += new EventHandler (OnThreadEvent); - } - - void AddThread (Process thread) - { - TreeIter iter; - store.Append (out iter); - store.SetValue (iter, 0, new GLib.Value (thread.ID)); - store.SetValue (iter, 1, new GLib.Value (thread.PID)); - store.SetValue (iter, 2, new GLib.Value (thread.State.ToString())); - if (thread.IsStopped) - store.SetValue (iter, 3, new GLib.Value (thread.GetBacktrace().Frames[0].SourceAddress.Name)); - else - store.SetValue (iter, 3, new GLib.Value ("")); - thread_rows.Add (thread, new TreeRowReference (store, store.GetPath (iter))); - } - - void UpdateThread (Process thread) - { - TreeRowReference row = (TreeRowReference)thread_rows[thread]; - TreeIter iter; - - if (row != null && store.GetIter (out iter, row.Path)) { - if (thread.ID != (int)store.GetValue (iter, 0)) - store.SetValue (iter, 0, thread.ID); - if (thread.PID != (int)store.GetValue (iter, 1)) - store.SetValue (iter, 1, thread.PID); - if (thread.State.ToString() != (string)store.GetValue (iter, 2)) - store.SetValue (iter, 2, thread.State.ToString()); - - string location; - if (thread.IsStopped) - location = thread.GetBacktrace().Frames[0].SourceAddress.Name; - else - location = ""; - - if (location != (string)store.GetValue (iter, 3)) - store.SetValue (iter, 3, location); - } - else { - AddThread (thread); - } - } - - void RemoveThread (Process thread) - { - TreeRowReference row = (TreeRowReference)thread_rows[thread]; - TreeIter iter; - - if (row != null && store.GetIter (out iter, row.Path)) - store.Remove (ref iter); - - thread_rows.Remove (thread); - } - - public void UpdateDisplay () - { - Hashtable threads_to_remove = new Hashtable(); - - foreach (Process thread in thread_rows.Keys) { - threads_to_remove.Add (thread, thread); - } - - foreach (Process t in ((DebuggingService)Runtime.DebuggingService).Threads) { - if (!t.IsDaemon) { - UpdateThread (t); - threads_to_remove.Remove (t); - } - } - - foreach (Process t in threads_to_remove.Keys) { - RemoveThread (t); - } - } - - public void CleanDisplay () - { - UpdateDisplay (); - } - - public void RedrawContent () - { - UpdateDisplay (); - } - - public void BringToFront () - { - } - - protected void OnThreadEvent (object o, EventArgs args) - { - UpdateDisplay (); - } - - public Gtk.Widget Control { - get { - return this; - } - } - - public string Id { - get { return "MonoDevelop.Debugger.DebuggerThreadPad"; } - } - - public string DefaultPlacement { - get { return "Bottom"; } - } - - public string Title { - get { - return "Threads"; - } - } - - public string Icon { - get { - return MonoDevelop.Gui.Stock.OutputIcon; - } - } - - protected virtual void OnTitleChanged(EventArgs e) - { - if (TitleChanged != null) { - TitleChanged(this, e); - } - } - protected virtual void OnIconChanged(EventArgs e) - { - if (IconChanged != null) { - IconChanged(this, e); - } - } - public event EventHandler TitleChanged; - public event EventHandler IconChanged; - - } -} Deleted: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -1,660 +0,0 @@ -using GLib; -using Gtk; -using GtkSharp; -using System; -using System.Diagnostics; -using System.IO; -using System.Collections; -using System.Globalization; -using System.Text; -using System.Reflection; -using System.Runtime.InteropServices; -using Mono.Debugger; -using Mono.Debugger.Languages; - -using Stock = MonoDevelop.Gui.Stock; -using MonoDevelop.Core.Services; -using MonoDevelop.Internal.Parser; -using MonoDevelop.Services; - -namespace MonoDevelop.Debugger -{ - public class DebuggerVariablePad : Gtk.ScrolledWindow - { - Mono.Debugger.StackFrame current_frame; - - Hashtable variable_rows; - Hashtable iters; - - Gtk.TreeView tree; - Gtk.TreeStore store; - bool is_locals_display; - - internal const int NAME_COL = 0; - internal const int VALUE_COL = 1; - internal const int TYPE_COL = 2; - internal const int RAW_VIEW_COL = 3; - internal const int PIXBUF_COL = 4; - - public DebuggerVariablePad (bool is_locals_display) - { - this.ShadowType = ShadowType.In; - - this.is_locals_display = is_locals_display; - - variable_rows = new Hashtable(); - iters = new Hashtable(); - - store = new TreeStore (typeof (string), - typeof (string), - typeof (string), - typeof (bool), - typeof (Gdk.Pixbuf)); - - tree = new TreeView (store); - tree.RulesHint = true; - tree.HeadersVisible = true; - - TreeViewColumn NameCol = new TreeViewColumn (); - CellRenderer NameRenderer = new CellRendererText (); - CellRenderer IconRenderer = new CellRendererPixbuf (); - NameCol.Title = "Name"; - NameCol.PackStart (IconRenderer, false); - NameCol.PackStart (NameRenderer, true); - NameCol.AddAttribute (IconRenderer, "pixbuf", PIXBUF_COL); - NameCol.AddAttribute (NameRenderer, "text", NAME_COL); - NameCol.Resizable = true; - NameCol.Alignment = 0.0f; - tree.AppendColumn (NameCol); - - TreeViewColumn ValueCol = new TreeViewColumn (); - CellRenderer ValueRenderer = new CellRendererText (); - ValueCol.Title = "Value"; - ValueCol.PackStart (ValueRenderer, true); - ValueCol.AddAttribute (ValueRenderer, "text", VALUE_COL); - ValueCol.Resizable = true; - NameCol.Alignment = 0.0f; - tree.AppendColumn (ValueCol); - - TreeViewColumn TypeCol = new TreeViewColumn (); - CellRenderer TypeRenderer = new CellRendererText (); - TypeCol.Title = "Type"; - TypeCol.PackStart (TypeRenderer, true); - TypeCol.AddAttribute (TypeRenderer, "text", TYPE_COL); - TypeCol.Resizable = true; - NameCol.Alignment = 0.0f; - tree.AppendColumn (TypeCol); - - tree.TestExpandRow += new TestExpandRowHandler (TestExpandRow); - - Add (tree); - ShowAll (); - - Runtime.DebuggingService.PausedEvent += new EventHandler (OnPausedEvent); - Runtime.DebuggingService.StoppedEvent += new EventHandler (OnStoppedEvent); - } - - bool InsertArrayChildren (TreeIter parent, ITargetArrayObject array) - { - bool inserted = false; - - for (int i = array.LowerBound; i < array.UpperBound; i++) { - - inserted = true; - - ITargetObject elt = array [i]; - if (elt == null) - continue; - - TreeIter iter = store.Append (parent); - AddObject (i.ToString (), "" /* XXX */, elt, iter); - } - - return inserted; - } - - bool InsertStructMember (TreeIter parent, ITargetStructObject sobj, ITargetMemberInfo member, bool is_field) - { - bool inserted = false; - - string icon_name = GetIcon (member); - -#if NET_2_0 - DebuggerBrowsableAttribute battr = GetDebuggerBrowsableAttribute (member); - if (battr != null) { - TreeIter iter; - - switch (battr.State) { - case DebuggerBrowsableState.Never: - // don't display it at all - continue; - case DebuggerBrowsableState.Collapsed: - // the default behavior for the debugger (c&p from above) - iter = store.Append (parent); - AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), - iter); - inserted = true; - break; - case DebuggerBrowsableState.Expanded: - // add it as in the Collapsed case... - iter = store.Append (parent); - AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), - iter); - inserted = true; - // then expand the row - tree.ExpandRow (store.GetPath (iter), false); - break; - case DebuggerBrowsableState.RootHidden: - ITargetObject member_obj = is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index); - - if (member_obj != null) { - switch (member_obj.TypeInfo.Type.Kind) { - case TargetObjectKind.Array: - iter = store.Append (parent); - // handle arrays normally, should check how vs2005 does this. - AddObject (member.Name, icon_name, member_obj, iter); - inserted = true; - break; - case TargetObjectKind.Class: - try { - inserted = InsertClassChildren (parent, (ITargetClassObject)member_obj, false); - } - catch { - // what about this case? where the member is possibly - // uninitialized, do we try to add it later? - } - break; - case TargetObjectKind.Struct: - try { - inserted = InsertStructChildren (parent, (ITargetStructObject)member_obj, false); - } - catch { - // what about this case? where the member is possibly - // uninitialized, do we try to add it later? - } - break; - default: - // nothing - break; - } - } - break; - } - } - else { -#endif - TreeIter iter = store.Append (parent); - AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), - iter); - inserted = true; -#if NET_2_0 - } -#endif - - return inserted; - } - -#if NET_2_0 - bool InsertProxyChildren (DebuggingService dbgr, DebuggerTypeProxyAttribute pattr, TreeIter parent, ITargetStructObject sobj) - { - Mono.Debugger.StackFrame frame = dbgr.MainThread.CurrentFrame; - ITargetStructType proxy_type = frame.Language.LookupType (frame, pattr.ProxyTypeName) as ITargetStructType; - if (proxy_type == null) - proxy_type = frame.Language.LookupType (frame, - sobj.Type.Name + "+" + pattr.ProxyTypeName) as ITargetStructType; - if (proxy_type != null) { - string name = String.Format (".ctor({0})", sobj.Type.Name); - ITargetMethodInfo method = null; - - foreach (ITargetMethodInfo m in proxy_type.Constructors) { - if (m.FullName == name) - method = m; - } - - if (method != null) { - ITargetFunctionObject ctor = proxy_type.GetConstructor (frame, method.Index); - ITargetObject[] args = new ITargetObject[1]; - args[0] = sobj; - - ITargetStructObject proxy_obj = ctor.Type.InvokeStatic (frame, args, false) as ITargetStructObject; - - if (proxy_obj != null) { - foreach (ITargetPropertyInfo prop in proxy_obj.Type.Properties) { - InsertStructMember (parent, proxy_obj, prop, false); - } - - TreeIter iter = store.Append (parent); - store.SetValue (iter, NAME_COL, "Raw View"); - store.SetValue (iter, RAW_VIEW_COL, true); - - Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (Stock.Class, Gtk.IconSize.Menu); - if (icon != null) - store.SetValue (iter, PIXBUF_COL, icon); - - iters.Remove (iter); - AddPlaceholder (sobj, iter); - - return true; - } - } - } - - return false; - } -#endif - - bool InsertStructChildren (TreeIter parent, ITargetStructObject sobj, bool raw_view) - { - bool inserted = false; - -#if NET_2_0 - if (!raw_view) { - DebuggingService dbgr = (DebuggingService)Runtime.DebuggingService; - DebuggerTypeProxyAttribute pattr = GetDebuggerTypeProxyAttribute (dbgr, sobj); - - if (pattr != null) { - if (InsertProxyChildren (dbgr, pattr, parent, sobj)) - inserted = true; - } - } -#endif - - foreach (ITargetFieldInfo field in sobj.Type.Fields) { - if (InsertStructMember (parent, sobj, field, true)) - inserted = true; - } - - foreach (ITargetPropertyInfo prop in sobj.Type.Properties) { - if (InsertStructMember (parent, sobj, prop, false)) - inserted = true; - } - - return inserted; - } - - bool InsertClassChildren (TreeIter parent, ITargetClassObject sobj, bool raw_view) - { - bool inserted = false; - - if (sobj.Type.HasParent) { - TreeIter iter = store.Append (parent); - AddObject ("", Stock.Class, sobj.Parent, iter); - inserted = true; - } - - if (InsertStructChildren (parent, sobj, raw_view)) - inserted = true; - - return inserted; - } - - void InsertMessage (TreeIter parent, string message) - { - TreeIter child; - if (store.IterChildren (out child, parent)) { - while (!(child.Equals (Gtk.TreeIter.Zero)) && (child.Stamp != 0)) - store.Remove (ref child); - } - - TreeIter iter = store.Append (parent); - store.SetValue (iter, VALUE_COL, message); - } - - void TestExpandRow (object o, TestExpandRowArgs args) - { - bool inserted = false; - - ITargetObject obj = (ITargetObject) iters [args.Iter]; - - TreeIter child; - if (store.IterChildren (out child, args.Iter)) { - while (!(child.Equals (Gtk.TreeIter.Zero)) && (child.Stamp != 0)) - store.Remove (ref child); - } - - if (obj == null) { - child = store.Append (args.Iter); - return; - } - - switch (obj.TypeInfo.Type.Kind) { - case TargetObjectKind.Array: - ITargetArrayObject array = (ITargetArrayObject) obj; - try { - inserted = InsertArrayChildren (args.Iter, array); - } catch { - InsertMessage (args.Iter, ""); - inserted = true; - } - if (!inserted) - InsertMessage (args.Iter, ""); - break; - - case TargetObjectKind.Class: - ITargetClassObject cobj = (ITargetClassObject) obj; - try { - bool raw_view = (bool)store.GetValue (args.Iter, RAW_VIEW_COL); - inserted = InsertClassChildren (args.Iter, cobj, raw_view); - } catch (Exception e) { - Console.WriteLine (e); - InsertMessage (args.Iter, ""); - inserted = true; - } - if (!inserted) - InsertMessage (args.Iter, ""); - break; - - case TargetObjectKind.Struct: - ITargetStructObject sobj = (ITargetStructObject) obj; - try { - bool raw_view = (bool)store.GetValue (args.Iter, RAW_VIEW_COL); - inserted = InsertStructChildren (args.Iter, sobj, raw_view); - } catch { - InsertMessage (args.Iter, ""); - inserted = true; - } - if (!inserted) - InsertMessage (args.Iter, ""); - break; - - default: - InsertMessage (args.Iter, ""); - break; - } - } - - void AddPlaceholder (ITargetObject obj, TreeIter parent) - { - if (obj.TypeInfo.Type.Kind == TargetObjectKind.Array) { - ITargetArrayObject array = (ITargetArrayObject) obj; - if (array.LowerBound == array.UpperBound) - return; - } - - store.Append (parent); - iters.Add (parent, obj); - } - - string GetObjectValueString (ITargetObject obj) - { - if (obj == null) { - return "null"; - } - - switch (obj.TypeInfo.Type.Kind) { - case TargetObjectKind.Fundamental: - object contents = ((ITargetFundamentalObject) obj).Object; - return contents.ToString (); - - case TargetObjectKind.Array: - ITargetArrayObject array = (ITargetArrayObject) obj; - if (array.LowerBound == array.UpperBound && array.LowerBound == 0) - return "[]"; - else - return ""; - - case TargetObjectKind.Struct: - case TargetObjectKind.Class: - try { -#if NET_2_0 - DebuggingService dbgr = (DebuggingService)Runtime.DebuggingService; - DebuggerDisplayAttribute dattr = GetDebuggerDisplayAttribute (dbgr, obj); - if (dattr != null) { - return dbgr.AttributeHandler.EvaluateDebuggerDisplay (obj, dattr.Value); - } - else { -#endif - // call the object's ToString() method. - return ((ITargetStructObject)obj).PrintObject(); -#if NET_2_0 - } -#endif - } - catch (Exception e) { - //Console.WriteLine ("getting object value failed: {0}", e); - return ""; - } - default: - return ""; - } - } - - void AddObject (string name, string icon_name, ITargetObject obj, TreeIter iter) - { - store.SetValue (iter, NAME_COL, name); - store.SetValue (iter, VALUE_COL, GetObjectValueString (obj)); - store.SetValue (iter, TYPE_COL, - obj == null ? "" : Runtime.Ambience.CurrentAmbience.GetIntrinsicTypeName (obj.TypeInfo.Type.Name)); - Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (icon_name, Gtk.IconSize.Menu); - if (icon != null) - store.SetValue (iter, PIXBUF_COL, icon); - if (obj != null) - AddPlaceholder (obj, iter); - } - - string GetIcon (ITargetObject obj) - { - string icon = ""; - - if (obj.TypeInfo.Type.TypeHandle is Type) - icon = Runtime.Gui.Icons.GetIcon ((Type)obj.TypeInfo.Type.TypeHandle); - - return icon; - } - - string GetIcon (ITargetMemberInfo member) - { - string icon = ""; - - if (member.Handle is PropertyInfo) - icon = Runtime.Gui.Icons.GetIcon ((PropertyInfo)member.Handle); - else if (member.Handle is FieldInfo) - icon = Runtime.Gui.Icons.GetIcon ((FieldInfo)member.Handle); - - return icon; - } - - void UpdateVariableChildren (IVariable variable, ITargetObject obj, TreePath path, TreeIter iter) - { - bool expanded = tree.GetRowExpanded (path); - TreeIter citer; - - if (!expanded) { - - /* we aren't expanded, just remove all - * children and add the object back - * (since it might be a different - * object now) */ - - if (store.IterChildren (out citer, iter)) - while (store.Remove (ref citer)) ; - iters.Remove (iter); - - AddPlaceholder (obj, iter); - } - else { - /* in a perfect world, we'd just iterate - * over the stuff we're showing and update - * it. for now, just remove all rows and - * re-add them. */ - - if (store.IterChildren (out citer, iter)) - while (store.Remove (ref citer)) ; - - iters.Remove (iter); - - AddObject (variable.Name, GetIcon (obj), obj, iter); - - tree.ExpandRow (path, false); - } - } - - void UpdateVariable (IVariable variable) - { - TreeRowReference row = (TreeRowReference)variable_rows[variable]; - - if (row == null) { - /* the variable isn't presently displayed */ - - if (!variable.IsAlive (current_frame.TargetAddress)) - /* it's not displayed and not alive, just return */ - return; - - AddVariable (variable); - } - else { - /* the variable is presently displayed */ - - // XXX we need a obj.IsValid check in this branch - - if (!variable.IsAlive (current_frame.TargetAddress)) { - /* it's in the display but no longer alive. remove it */ - RemoveVariable (variable); - return; - } - - /* it's still alive - make sure the display is up to date */ - TreeIter iter; - if (store.GetIter (out iter, row.Path)) { - try { - ITargetObject obj = variable.GetObject (current_frame); - - /* make sure the Value column is correct */ - string current_value = (string)store.GetValue (iter, VALUE_COL); - string new_value = GetObjectValueString (obj); - if (current_value != new_value) - store.SetValue (iter, VALUE_COL, new_value); - - /* update the children */ - UpdateVariableChildren (variable, obj, row.Path, iter); - - } catch (Exception e) { - Console.WriteLine ("can't update variable: {0} {1}", variable, e); - store.SetValue (iter, VALUE_COL, ""); - } - } - } - } - - void AddVariable (IVariable variable) - { - try { - /* it's alive, add it to the display */ - - ITargetObject obj = variable.GetObject (current_frame); - TreeIter iter; - - if (!obj.IsValid) - return; - - store.Append (out iter); - - variable_rows.Add (variable, new TreeRowReference (store, store.GetPath (iter))); - - AddObject (variable.Name, GetIcon (obj), obj, iter); - } catch (LocationInvalidException) { - // Do nothing - } catch (Exception e) { - Console.WriteLine ("can't add variable: {0} {1}", variable, e); - } - } - - void RemoveVariable (IVariable variable) - { - TreeRowReference row = (TreeRowReference)variable_rows[variable]; - TreeIter iter; - - if (row != null && store.GetIter (out iter, row.Path)) { - iters.Remove (iter); - store.Remove (ref iter); - } - - variable_rows.Remove (variable); - } - - public void UpdateDisplay () - { - if ((current_frame == null) || (current_frame.Method == null)) - return; - - try { - Hashtable vars_to_remove = new Hashtable(); - - foreach (IVariable var in variable_rows.Keys) { - vars_to_remove.Add (var, var); - } - - if (is_locals_display) { - if (current_frame.Method.HasThis) { - UpdateVariable (current_frame.Method.This); - vars_to_remove.Remove (current_frame.Method.This); - } - IVariable[] local_vars = current_frame.Method.Locals; - foreach (IVariable var in local_vars) { - UpdateVariable (var); - vars_to_remove.Remove (var); - } - } else { - IVariable[] param_vars = current_frame.Method.Parameters; - foreach (IVariable var in param_vars) { - UpdateVariable (var); - vars_to_remove.Remove (var); - } - } - - foreach (IVariable var in vars_to_remove.Keys) { - RemoveVariable (var); - } - - } catch (Exception e) { - Console.WriteLine ("CAN'T GET VARIABLES: {0}", e); - store.Clear (); - iters = new Hashtable (); - } - } - - protected void OnStoppedEvent (object o, EventArgs args) - { - current_frame = (Mono.Debugger.StackFrame)Runtime.DebuggingService.CurrentFrame; - UpdateDisplay (); - } - - protected void OnPausedEvent (object o, EventArgs args) - { - current_frame = (Mono.Debugger.StackFrame)Runtime.DebuggingService.CurrentFrame; - UpdateDisplay (); - } - -#if NET_2_0 - DebuggerBrowsableAttribute GetDebuggerBrowsableAttribute (ITargetMemberInfo info) - { - if (info.Handle != null && info.Handle is System.Reflection.MemberInfo) { - System.Reflection.MemberInfo mi = (System.Reflection.MemberInfo)info.Handle; - object[] attrs = mi.GetCustomAttributes (typeof (DebuggerBrowsableAttribute), false); - - if (attrs != null && attrs.Length > 0) - return (DebuggerBrowsableAttribute)attrs[0]; - } - - return null; - } - - DebuggerTypeProxyAttribute GetDebuggerTypeProxyAttribute (DebuggingService dbgr, ITargetObject obj) - { - if (obj.TypeInfo.Type.TypeHandle != null && obj.TypeInfo.Type.TypeHandle is Type) - return dbgr.AttributeHandler.GetDebuggerTypeProxyAttribute ((Type)obj.TypeInfo.Type.TypeHandle); - - return null; - } - - DebuggerDisplayAttribute GetDebuggerDisplayAttribute (DebuggingService dbgr, ITargetObject obj) - { - if (obj.TypeInfo.Type.TypeHandle != null && obj.TypeInfo.Type.TypeHandle is Type) - return dbgr.AttributeHandler.GetDebuggerDisplayAttribute ((Type)obj.TypeInfo.Type.TypeHandle); - - return null; - } -#endif - - } -} Copied: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/LocalsPad.cs (from rev 2407, trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs) =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerLocalsPad.cs 2005-03-31 17:22:50 UTC (rev 2407) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/LocalsPad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -0,0 +1,66 @@ +using System; +using MonoDevelop.Gui; +using Stock = MonoDevelop.Gui.Stock; + +namespace MonoDevelop.Debugger +{ + public class LocalsPad : VariablePad, IPadContent + { + + public LocalsPad () : base (true) + { + } + + public Gtk.Widget Control { + get { + return this; + } + } + + public string Id { + get { return "MonoDevelop.Debugger.LocalsPad"; } + } + + public string DefaultPlacement { + get { return "Bottom"; } + } + + public string Title { + get { + return "Locals"; + } + } + + public string Icon { + get { + return Stock.OutputIcon; + } + } + + public void RedrawContent () + { + UpdateDisplay (); + } + + public void BringToFront () + { + } + + protected virtual void OnTitleChanged(EventArgs e) + { + if (TitleChanged != null) { + TitleChanged(this, e); + } + } + protected virtual void OnIconChanged(EventArgs e) + { + if (IconChanged != null) { + IconChanged(this, e); + } + } + public event EventHandler TitleChanged; + public event EventHandler IconChanged; + + + } +} Copied: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/StackTracePad.cs (from rev 2410, trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs) =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerStackTracePad.cs 2005-04-01 03:57:44 UTC (rev 2410) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/StackTracePad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -0,0 +1,146 @@ +using GLib; +using Gtk; +using GtkSharp; +using System; +using System.IO; +using System.Collections; +using System.Globalization; +using System.Runtime.InteropServices; +using Mono.Debugger; +using Mono.Debugger.Languages; + +using Stock = MonoDevelop.Gui.Stock; +using MonoDevelop.Core.Services; +using MonoDevelop.Services; +using MonoDevelop.Gui; + +namespace MonoDevelop.Debugger +{ + public class StackTracePad : Gtk.ScrolledWindow, IPadContent + { + StackFrame current_frame; + + Gtk.TreeView tree; + Gtk.TreeStore store; + + public StackTracePad () + { + this.ShadowType = ShadowType.In; + + store = new TreeStore (typeof (string)); + + tree = new TreeView (store); + tree.RulesHint = true; + tree.HeadersVisible = true; + + TreeViewColumn FrameCol = new TreeViewColumn (); + CellRenderer FrameRenderer = new CellRendererText (); + FrameCol.Title = "Frame"; + FrameCol.PackStart (FrameRenderer, true); + FrameCol.AddAttribute (FrameRenderer, "text", 0); + FrameCol.Resizable = true; + FrameCol.Alignment = 0.0f; + tree.AppendColumn (FrameCol); + + Add (tree); + ShowAll (); + + Runtime.DebuggingService.PausedEvent += new EventHandler (OnPausedEvent); + Runtime.DebuggingService.ResumedEvent += new EventHandler (OnResumedEvent); + Runtime.DebuggingService.StoppedEvent += new EventHandler (OnStoppedEvent); + } + + public void UpdateDisplay () + { + if ((current_frame == null) || (current_frame.Method == null)) + return; + + string[] trace = Runtime.DebuggingService.Backtrace; + + TreeIter it; + if (!store.GetIterFirst (out it)) { + foreach (string frame in trace) { + store.Append (out it); + store.SetValue (it, 0, frame); + } + } + else { + for (int i = 0; i < trace.Length; i ++) { + store.SetValue (it, 0, trace[i]); + if (i < trace.Length - 1 && !store.IterNext (ref it)) + store.Append (out it); + } + /* clear any remaining rows */ + if (store.IterNext (ref it)) + do { } while (store.Remove (ref it)); + } + } + + protected void OnStoppedEvent (object o, EventArgs args) + { + UpdateDisplay (); + } + + protected void OnResumedEvent (object o, EventArgs args) + { + UpdateDisplay (); + } + + protected void OnPausedEvent (object o, EventArgs args) + { + current_frame = (StackFrame)Runtime.DebuggingService.CurrentFrame; + UpdateDisplay (); + } + + public Gtk.Widget Control { + get { + return this; + } + } + + public string Id { + get { return "MonoDevelop.Debugger.StackTracePad"; } + } + + public string DefaultPlacement { + get { return "Bottom"; } + } + + public string Title { + get { + return "Call Stack"; + } + } + + public string Icon { + get { + return Stock.OutputIcon; + } + } + + public void RedrawContent () + { + UpdateDisplay (); + } + + public void BringToFront () + { + } + + protected virtual void OnTitleChanged(EventArgs e) + { + if (TitleChanged != null) { + TitleChanged(this, e); + } + } + protected virtual void OnIconChanged(EventArgs e) + { + if (IconChanged != null) { + IconChanged(this, e); + } + } + public event EventHandler TitleChanged; + public event EventHandler IconChanged; + + } +} Copied: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/ThreadPad.cs (from rev 2410, trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs) =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerThreadPad.cs 2005-04-01 03:57:44 UTC (rev 2410) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/ThreadPad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -0,0 +1,218 @@ +using GLib; +using Gtk; +using GtkSharp; +using System; +using System.IO; +using System.Collections; +using System.Globalization; +using System.Runtime.InteropServices; +using Mono.Debugger; +using Mono.Debugger.Languages; + +using Stock = MonoDevelop.Gui.Stock; +using MonoDevelop.Core.Services; +using MonoDevelop.Services; +using MonoDevelop.Gui; + +namespace MonoDevelop.Debugger +{ + public class ThreadPad : Gtk.ScrolledWindow, IPadContent + { + Gtk.TreeView tree; + Gtk.TreeStore store; + Hashtable thread_rows; + + public ThreadPad () + { + thread_rows = new Hashtable (); + + this.ShadowType = ShadowType.In; + + store = new TreeStore (typeof (int), + typeof (int), + typeof (string), + typeof (string)); + + tree = new TreeView (store); + tree.RulesHint = true; + tree.HeadersVisible = true; + + TreeViewColumn Col; + CellRenderer ThreadRenderer; + + Col = new TreeViewColumn (); + ThreadRenderer = new CellRendererText (); + Col.Title = "Id"; + Col.PackStart (ThreadRenderer, true); + Col.AddAttribute (ThreadRenderer, "text", 0); + Col.Resizable = true; + Col.Alignment = 0.0f; + tree.AppendColumn (Col); + + Col = new TreeViewColumn (); + ThreadRenderer = new CellRendererText (); + Col.Title = "PID"; + Col.PackStart (ThreadRenderer, true); + Col.AddAttribute (ThreadRenderer, "text", 1); + Col.Resizable = true; + Col.Alignment = 0.0f; + tree.AppendColumn (Col); + + Col = new TreeViewColumn (); + ThreadRenderer = new CellRendererText (); + Col.Title = "State"; + Col.PackStart (ThreadRenderer, true); + Col.AddAttribute (ThreadRenderer, "text", 2); + Col.Resizable = true; + Col.Alignment = 0.0f; + tree.AppendColumn (Col); + + Col = new TreeViewColumn (); + ThreadRenderer = new CellRendererText (); + Col.Title = "Current Location"; + Col.PackStart (ThreadRenderer, true); + Col.AddAttribute (ThreadRenderer, "text", 3); + Col.Resizable = true; + Col.Alignment = 0.0f; + tree.AppendColumn (Col); + + Add (tree); + ShowAll (); + + ((DebuggingService)Runtime.DebuggingService).ThreadStateEvent += new EventHandler (OnThreadEvent); + } + + void AddThread (Process thread) + { + TreeIter iter; + store.Append (out iter); + store.SetValue (iter, 0, new GLib.Value (thread.ID)); + store.SetValue (iter, 1, new GLib.Value (thread.PID)); + store.SetValue (iter, 2, new GLib.Value (thread.State.ToString())); + if (thread.IsStopped) + store.SetValue (iter, 3, new GLib.Value (thread.GetBacktrace().Frames[0].SourceAddress.Name)); + else + store.SetValue (iter, 3, new GLib.Value ("")); + thread_rows.Add (thread, new TreeRowReference (store, store.GetPath (iter))); + } + + void UpdateThread (Process thread) + { + TreeRowReference row = (TreeRowReference)thread_rows[thread]; + TreeIter iter; + + if (row != null && store.GetIter (out iter, row.Path)) { + if (thread.ID != (int)store.GetValue (iter, 0)) + store.SetValue (iter, 0, thread.ID); + if (thread.PID != (int)store.GetValue (iter, 1)) + store.SetValue (iter, 1, thread.PID); + if (thread.State.ToString() != (string)store.GetValue (iter, 2)) + store.SetValue (iter, 2, thread.State.ToString()); + + string location; + if (thread.IsStopped) + location = thread.GetBacktrace().Frames[0].SourceAddress.Name; + else + location = ""; + + if (location != (string)store.GetValue (iter, 3)) + store.SetValue (iter, 3, location); + } + else { + AddThread (thread); + } + } + + void RemoveThread (Process thread) + { + TreeRowReference row = (TreeRowReference)thread_rows[thread]; + TreeIter iter; + + if (row != null && store.GetIter (out iter, row.Path)) + store.Remove (ref iter); + + thread_rows.Remove (thread); + } + + public void UpdateDisplay () + { + Hashtable threads_to_remove = new Hashtable(); + + foreach (Process thread in thread_rows.Keys) { + threads_to_remove.Add (thread, thread); + } + + foreach (Process t in ((DebuggingService)Runtime.DebuggingService).Threads) { + if (!t.IsDaemon) { + UpdateThread (t); + threads_to_remove.Remove (t); + } + } + + foreach (Process t in threads_to_remove.Keys) { + RemoveThread (t); + } + } + + public void CleanDisplay () + { + UpdateDisplay (); + } + + public void RedrawContent () + { + UpdateDisplay (); + } + + public void BringToFront () + { + } + + protected void OnThreadEvent (object o, EventArgs args) + { + UpdateDisplay (); + } + + public Gtk.Widget Control { + get { + return this; + } + } + + public string Id { + get { return "MonoDevelop.Debugger.ThreadPad"; } + } + + public string DefaultPlacement { + get { return "Bottom"; } + } + + public string Title { + get { + return "Threads"; + } + } + + public string Icon { + get { + return Stock.OutputIcon; + } + } + + protected virtual void OnTitleChanged(EventArgs e) + { + if (TitleChanged != null) { + TitleChanged(this, e); + } + } + protected virtual void OnIconChanged(EventArgs e) + { + if (IconChanged != null) { + IconChanged(this, e); + } + } + public event EventHandler TitleChanged; + public event EventHandler IconChanged; + + } +} Copied: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/VariablePad.cs (from rev 2411, trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs) =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/DebuggerVariablePad.cs 2005-04-01 05:46:29 UTC (rev 2411) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Gui/VariablePad.cs 2005-04-01 23:21:09 UTC (rev 2413) @@ -0,0 +1,660 @@ +using GLib; +using Gtk; +using GtkSharp; +using System; +using System.Diagnostics; +using System.IO; +using System.Collections; +using System.Globalization; +using System.Text; +using System.Reflection; +using System.Runtime.InteropServices; +using Mono.Debugger; +using Mono.Debugger.Languages; + +using Stock = MonoDevelop.Gui.Stock; +using MonoDevelop.Core.Services; +using MonoDevelop.Internal.Parser; +using MonoDevelop.Services; + +namespace MonoDevelop.Debugger +{ + public class VariablePad : Gtk.ScrolledWindow + { + Mono.Debugger.StackFrame current_frame; + + Hashtable variable_rows; + Hashtable iters; + + Gtk.TreeView tree; + Gtk.TreeStore store; + bool is_locals_display; + + internal const int NAME_COL = 0; + internal const int VALUE_COL = 1; + internal const int TYPE_COL = 2; + internal const int RAW_VIEW_COL = 3; + internal const int PIXBUF_COL = 4; + + public VariablePad (bool is_locals_display) + { + this.ShadowType = ShadowType.In; + + this.is_locals_display = is_locals_display; + + variable_rows = new Hashtable(); + iters = new Hashtable(); + + store = new TreeStore (typeof (string), + typeof (string), + typeof (string), + typeof (bool), + typeof (Gdk.Pixbuf)); + + tree = new TreeView (store); + tree.RulesHint = true; + tree.HeadersVisible = true; + + TreeViewColumn NameCol = new TreeViewColumn (); + CellRenderer NameRenderer = new CellRendererText (); + CellRenderer IconRenderer = new CellRendererPixbuf (); + NameCol.Title = "Name"; + NameCol.PackStart (IconRenderer, false); + NameCol.PackStart (NameRenderer, true); + NameCol.AddAttribute (IconRenderer, "pixbuf", PIXBUF_COL); + NameCol.AddAttribute (NameRenderer, "text", NAME_COL); + NameCol.Resizable = true; + NameCol.Alignment = 0.0f; + tree.AppendColumn (NameCol); + + TreeViewColumn ValueCol = new TreeViewColumn (); + CellRenderer ValueRenderer = new CellRendererText (); + ValueCol.Title = "Value"; + ValueCol.PackStart (ValueRenderer, true); + ValueCol.AddAttribute (ValueRenderer, "text", VALUE_COL); + ValueCol.Resizable = true; + NameCol.Alignment = 0.0f; + tree.AppendColumn (ValueCol); + + TreeViewColumn TypeCol = new TreeViewColumn (); + CellRenderer TypeRenderer = new CellRendererText (); + TypeCol.Title = "Type"; + TypeCol.PackStart (TypeRenderer, true); + TypeCol.AddAttribute (TypeRenderer, "text", TYPE_COL); + TypeCol.Resizable = true; + NameCol.Alignment = 0.0f; + tree.AppendColumn (TypeCol); + + tree.TestExpandRow += new TestExpandRowHandler (TestExpandRow); + + Add (tree); + ShowAll (); + + Runtime.DebuggingService.PausedEvent += new EventHandler (OnPausedEvent); + Runtime.DebuggingService.StoppedEvent += new EventHandler (OnStoppedEvent); + } + + bool InsertArrayChildren (TreeIter parent, ITargetArrayObject array) + { + bool inserted = false; + + for (int i = array.LowerBound; i < array.UpperBound; i++) { + + inserted = true; + + ITargetObject elt = array [i]; + if (elt == null) + continue; + + TreeIter iter = store.Append (parent); + AddObject (i.ToString (), "" /* XXX */, elt, iter); + } + + return inserted; + } + + bool InsertStructMember (TreeIter parent, ITargetStructObject sobj, ITargetMemberInfo member, bool is_field) + { + bool inserted = false; + + string icon_name = GetIcon (member); + +#if NET_2_0 + DebuggerBrowsableAttribute battr = GetDebuggerBrowsableAttribute (member); + if (battr != null) { + TreeIter iter; + + switch (battr.State) { + case DebuggerBrowsableState.Never: + // don't display it at all + continue; + case DebuggerBrowsableState.Collapsed: + // the default behavior for the debugger (c&p from above) + iter = store.Append (parent); + AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), + iter); + inserted = true; + break; + case DebuggerBrowsableState.Expanded: + // add it as in the Collapsed case... + iter = store.Append (parent); + AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), + iter); + inserted = true; + // then expand the row + tree.ExpandRow (store.GetPath (iter), false); + break; + case DebuggerBrowsableState.RootHidden: + ITargetObject member_obj = is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index); + + if (member_obj != null) { + switch (member_obj.TypeInfo.Type.Kind) { + case TargetObjectKind.Array: + iter = store.Append (parent); + // handle arrays normally, should check how vs2005 does this. + AddObject (member.Name, icon_name, member_obj, iter); + inserted = true; + break; + case TargetObjectKind.Class: + try { + inserted = InsertClassChildren (parent, (ITargetClassObject)member_obj, false); + } + catch { + // what about this case? where the member is possibly + // uninitialized, do we try to add it later? + } + break; + case TargetObjectKind.Struct: + try { + inserted = InsertStructChildren (parent, (ITargetStructObject)member_obj, false); + } + catch { + // what about this case? where the member is possibly + // uninitialized, do we try to add it later? + } + break; + default: + // nothing + break; + } + } + break; + } + } + else { +#endif + TreeIter iter = store.Append (parent); + AddObject (member.Name, icon_name, is_field ? sobj.GetField (member.Index) : sobj.GetProperty (member.Index), + iter); + inserted = true; +#if NET_2_0 + } +#endif + + return inserted; + } + +#if NET_2_0 + bool InsertProxyChildren (DebuggingService dbgr, DebuggerTypeProxyAttribute pattr, TreeIter parent, ITargetStructObject sobj) + { + Mono.Debugger.StackFrame frame = dbgr.MainThread.CurrentFrame; + ITargetStructType proxy_type = frame.Language.LookupType (frame, pattr.ProxyTypeName) as ITargetStructType; + if (proxy_type == null) + proxy_type = frame.Language.LookupType (frame, + sobj.Type.Name + "+" + pattr.ProxyTypeName) as ITargetStructType; + if (proxy_type != null) { + string name = String.Format (".ctor({0})", sobj.Type.Name); + ITargetMethodInfo method = null; + + foreach (ITargetMethodInfo m in proxy_type.Constructors) { + if (m.FullName == name) + method = m; + } + + if (method != null) { + ITargetFunctionObject ctor = proxy_type.GetConstructor (frame, method.Index); + ITargetObject[] args = new ITargetObject[1]; + args[0] = sobj; + + ITargetStructObject proxy_obj = ctor.Type.InvokeStatic (frame, args, false) as ITargetStructObject; + + if (proxy_obj != null) { + foreach (ITargetPropertyInfo prop in proxy_obj.Type.Properties) { + InsertStructMember (parent, proxy_obj, prop, false); + } + + TreeIter iter = store.Append (parent); + store.SetValue (iter, NAME_COL, "Raw View"); + store.SetValue (iter, RAW_VIEW_COL, true); + + Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (Stock.Class, Gtk.IconSize.Menu); + if (icon != null) + store.SetValue (iter, PIXBUF_COL, icon); + + iters.Remove (iter); + AddPlaceholder (sobj, iter); + + return true; + } + } + } + + return false; + } +#endif + + bool InsertStructChildren (TreeIter parent, ITargetStructObject sobj, bool raw_view) + { + bool inserted = false; + +#if NET_2_0 + if (!raw_view) { + DebuggingService dbgr = (DebuggingService)Runtime.DebuggingService; + DebuggerTypeProxyAttribute pattr = GetDebuggerTypeProxyAttribute (dbgr, sobj); + + if (pattr != null) { + if (InsertProxyChildren (dbgr, pattr, parent, sobj)) + inserted = true; + } + } +#endif + + foreach (ITargetFieldInfo field in sobj.Type.Fields) { + if (InsertStructMember (parent, sobj, field, true)) + inserted = true; + } + + foreach (ITargetPropertyInfo prop in sobj.Type.Properties) { + if (InsertStructMember (parent, sobj, prop, false)) + inserted = true; + } + + return inserted; + } + + bool InsertClassChildren (TreeIter parent, ITargetClassObject sobj, bool raw_view) + { + bool inserted = false; + + if (sobj.Type.HasParent) { + TreeIter iter = store.Append (parent); + AddObject ("", Stock.Class, sobj.Parent, iter); + inserted = true; + } + + if (InsertStructChildren (parent, sobj, raw_view)) + inserted = true; + + return inserted; + } + + void InsertMessage (TreeIter parent, string message) + { + TreeIter child; + if (store.IterChildren (out child, parent)) { + while (!(child.Equals (Gtk.TreeIter.Zero)) && (child.Stamp != 0)) + store.Remove (ref child); + } + + TreeIter iter = store.Append (parent); + store.SetValue (iter, VALUE_COL, message); + } + + void TestExpandRow (object o, TestExpandRowArgs args) + { + bool inserted = false; + + ITargetObject obj = (ITargetObject) iters [args.Iter]; + + TreeIter child; + if (store.IterChildren (out child, args.Iter)) { + while (!(child.Equals (Gtk.TreeIter.Zero)) && (child.Stamp != 0)) + store.Remove (ref child); + } + + if (obj == null) { + child = store.Append (args.Iter); + return; + } + + switch (obj.TypeInfo.Type.Kind) { + case TargetObjectKind.Array: + ITargetArrayObject array = (ITargetArrayObject) obj; + try { + inserted = InsertArrayChildren (args.Iter, array); + } catch { + InsertMessage (args.Iter, ""); + inserted = true; + } + if (!inserted) + InsertMessage (args.Iter, ""); + break; + + case TargetObjectKind.Class: + ITargetClassObject cobj = (ITargetClassObject) obj; + try { + bool raw_view = (bool)store.GetValue (args.Iter, RAW_VIEW_COL); + inserted = InsertClassChildren (args.Iter, cobj, raw_view); + } catch (Exception e) { + Console.WriteLine (e); + InsertMessage (args.Iter, ""); + inserted = true; + } + if (!inserted) + InsertMessage (args.Iter, ""); + break; + + case TargetObjectKind.Struct: + ITargetStructObject sobj = (ITargetStructObject) obj; + try { + bool raw_view = (bool)store.GetValue (args.Iter, RAW_VIEW_COL); + inserted = InsertStructChildren (args.Iter, sobj, raw_view); + } catch { + InsertMessage (args.Iter, ""); + inserted = true; + } + if (!inserted) + InsertMessage (args.Iter, ""); + break; + + default: + InsertMessage (args.Iter, ""); + break; + } + } + + void AddPlaceholder (ITargetObject obj, TreeIter parent) + { + if (obj.TypeInfo.Type.Kind == TargetObjectKind.Array) { + ITargetArrayObject array = (ITargetArrayObject) obj; + if (array.LowerBound == array.UpperBound) + return; + } + + store.Append (parent); + iters.Add (parent, obj); + } + + string GetObjectValueString (ITargetObject obj) + { + if (obj == null) { + return "null"; + } + + switch (obj.TypeInfo.Type.Kind) { + case TargetObjectKind.Fundamental: + object contents = ((ITargetFundamentalObject) obj).Object; + return contents.ToString (); + + case TargetObjectKind.Array: + ITargetArrayObject array = (ITargetArrayObject) obj; + if (array.LowerBound == array.UpperBound && array.LowerBound == 0) + return "[]"; + else + return ""; + + case TargetObjectKind.Struct: + case TargetObjectKind.Class: + try { +#if NET_2_0 + DebuggingService dbgr = (DebuggingService)Runtime.DebuggingService; + DebuggerDisplayAttribute dattr = GetDebuggerDisplayAttribute (dbgr, obj); + if (dattr != null) { + return dbgr.AttributeHandler.EvaluateDebuggerDisplay (obj, dattr.Value); + } + else { +#endif + // call the object's ToString() method. + return ((ITargetStructObject)obj).PrintObject(); +#if NET_2_0 + } +#endif + } + catch (Exception e) { + //Console.WriteLine ("getting object value failed: {0}", e); + return ""; + } + default: + return ""; + } + } + + void AddObject (string name, string icon_name, ITargetObject obj, TreeIter iter) + { + store.SetValue (iter, NAME_COL, name); + store.SetValue (iter, VALUE_COL, GetObjectValueString (obj)); + store.SetValue (iter, TYPE_COL, + obj == null ? "" : Runtime.Ambience.CurrentAmbience.GetIntrinsicTypeName (obj.TypeInfo.Type.Name)); + Gdk.Pixbuf icon = Runtime.Gui.Resources.GetIcon (icon_name, Gtk.IconSize.Menu); + if (icon != null) + store.SetValue (iter, PIXBUF_COL, icon); + if (obj != null) + AddPlaceholder (obj, iter); + } + + string GetIcon (ITargetObject obj) + { + string icon = ""; + + if (obj.TypeInfo.Type.TypeHandle is Type) + icon = Runtime.Gui.Icons.GetIcon ((Type)obj.TypeInfo.Type.TypeHandle); + + return icon; + } + + string GetIcon (ITargetMemberInfo member) + { + string icon = ""; + + if (member.Handle is PropertyInfo) + icon = Runtime.Gui.Icons.GetIcon ((PropertyInfo)member.Handle); + else if (member.Handle is FieldInfo) + icon = Runtime.Gui.Icons.GetIcon ((FieldInfo)member.Handle); + + return icon; + } + + void UpdateVariableChildren (IVariable variable, ITargetObject obj, TreePath path, TreeIter iter) + { + bool expanded = tree.GetRowExpanded (path); + TreeIter citer; + + if (!expanded) { + + /* we aren't expanded, just remove all + * children and add the object back + * (since it might be a different + * object now) */ + + if (store.IterChildren (out citer, iter)) + while (store.Remove (ref citer)) ; + iters.Remove (iter); + + AddPlaceholder (obj, iter); + } + else { + /* in a perfect world, we'd just iterate + * over the stuff we're showing and update + * it. for now, just remove all rows and + * re-add them. */ + + if (store.IterChildren (out citer, iter)) + while (store.Remove (ref citer)) ; + + iters.Remove (iter); + + AddObject (variable.Name, GetIcon (obj), obj, iter); + + tree.ExpandRow (path, false); + } + } + + void UpdateVariable (IVariable variable) + { + TreeRowReference row = (TreeRowReference)variable_rows[variable]; + + if (row == null) { + /* the variable isn't presently displayed */ + + if (!variable.IsAlive (current_frame.TargetAddress)) + /* it's not displayed and not alive, just return */ + return; + + AddVariable (variable); + } + else { + /* the variable is presently displayed */ + + // XXX we need a obj.IsValid check in this branch + + if (!variable.IsAlive (current_frame.TargetAddress)) { + /* it's in the display but no longer alive. remove it */ + RemoveVariable (variable); + return; + } + + /* it's still alive - make sure the display is up to date */ + TreeIter iter; + if (store.GetIter (out iter, row.Path)) { + try { + ITargetObject obj = variable.GetObject (current_frame); + + /* make sure the Value column is correct */ + string current_value = (string)store.GetValue (iter, VALUE_COL); + string new_value = GetObjectValueString (obj); + if (current_value != new_value) + store.SetValue (iter, VALUE_COL, new_value); + + /* update the children */ + UpdateVariableChildren (variable, obj, row.Path, iter); + + } catch (Exception e) { + Console.WriteLine ("can't update variable: {0} {1}", variable, e); + store.SetValue (iter, VALUE_COL, ""); + } + } + } + } + + void AddVariable (IVariable variable) + { + try { + /* it's alive, add it to the display */ + + ITargetObject obj = variable.GetObject (current_frame); + TreeIter iter; + + if (!obj.IsValid) + return; + + store.Append (out iter); + + variable_rows.Add (variable, new TreeRowReference (store, store.GetPath (iter))); + + AddObject (variable.Name, GetIcon (obj), obj, iter); + } catch (LocationInvalidException) { + // Do nothing + } catch (Exception e) { + Console.WriteLine ("can't add variable: {0} {1}", variable, e); + } + } + + void RemoveVariable (IVariable variable) + { + TreeRowReference row = (TreeRowReference)variable_rows[variable]; + TreeIter iter; + + if (row != null && store.GetIter (out iter, row.Path)) { + iters.Remove (iter); + store.Remove (ref iter); + } + + variable_rows.Remove (variable); + } + + public void UpdateDisplay () + { + if ((current_frame == null) || (current_frame.Method == null)) + return; + + try { + Hashtable vars_to_remove = new Hashtable(); + + foreach (IVariable var in variable_rows.Keys) { + vars_to_remove.Add (var, var); + } + + if (is_locals_display) { + if (current_frame.Method.HasThis) { + UpdateVariable (current_frame.Method.This); + vars_to_remove.Remove (current_frame.Method.This); + } + IVariable[] local_vars = current_frame.Method.Locals; + foreach (IVariable var in local_vars) { + UpdateVariable (var); + vars_to_remove.Remove (var); + } + } else { + IVariable[] param_vars = current_frame.Method.Parameters; + foreach (IVariable var in param_vars) { + UpdateVariable (var); + vars_to_remove.Remove (var); + } + } + + foreach (IVariable var in vars_to_remove.Keys) { + RemoveVariable (var); + } + + } catch (Exception e) { + Console.WriteLine ("CAN'T GET VARIABLES: {0}", e); + store.Clear (); + iters = new Hashtable (); + } + } + + protected void OnStoppedEvent (object o, EventArgs args) + { + current_frame = (Mono.Debugger.StackFrame)Runtime.DebuggingService.CurrentFrame; + UpdateDisplay (); + } + + protected void OnPausedEvent (object o, EventArgs args) + { + current_frame = (Mono.Debugger.StackFrame)Runtime.DebuggingService.CurrentFrame; + UpdateDisplay (); + } + +#if NET_2_0 + DebuggerBrowsableAttribute GetDebuggerBrowsableAttribute (ITargetMemberInfo info) + { + if (info.Handle != null && info.Handle is System.Reflection.MemberInfo) { + System.Reflection.MemberInfo mi = (System.Reflection.MemberInfo)info.Handle; + object[] attrs = mi.GetCustomAttributes (typeof (DebuggerBrowsableAttribute), false); + + if (attrs != null && attrs.Length > 0) + return (DebuggerBrowsableAttribute)attrs[0]; + } + + return null; + } + + DebuggerTypeProxyAttribute GetDebuggerTypeProxyAttribute (DebuggingService dbgr, ITargetObject obj) + { + if (obj.TypeInfo.Type.TypeHandle != null && obj.TypeInfo.Type.TypeHandle is Type) + return dbgr.AttributeHandler.GetDebuggerTypeProxyAttribute ((Type)obj.TypeInfo.Type.TypeHandle); + + return null; + } + + DebuggerDisplayAttribute GetDebuggerDisplayAttribute (DebuggingService dbgr, ITargetObject obj) + { + if (obj.TypeInfo.Type.TypeHandle != null && obj.TypeInfo.Type.TypeHandle is Type) + return dbgr.AttributeHandler.GetDebuggerDisplayAttribute ((Type)obj.TypeInfo.Type.TypeHandle); + + return null; + } +#endif + + } +} Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Makefile.am =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Makefile.am 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/Makefile.am 2005-04-01 23:21:09 UTC (rev 2413) @@ -17,10 +17,10 @@ Expression.cs \ DebuggerASTVisitor.cs \ DebugAttributeHandler.cs \ -Gui/DebuggerLocalsPad.cs \ -Gui/DebuggerVariablePad.cs \ -Gui/DebuggerStackTracePad.cs \ -Gui/DebuggerThreadPad.cs +Gui/LocalsPad.cs \ +Gui/VariablePad.cs \ +Gui/StackTracePad.cs \ +Gui/ThreadPad.cs EXTRA_DIST = $(FILES) $(ADDIN) Modified: trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/MonoDevelopDebugger.addin.xml =================================================================== --- trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/MonoDevelopDebugger.addin.xml 2005-04-01 23:00:27 UTC (rev 2412) +++ trunk/MonoDevelop/Core/src/AddIns/DebuggerAddIn/MonoDevelopDebugger.addin.xml 2005-04-01 23:21:09 UTC (rev 2413) @@ -15,15 +15,15 @@ - - - + + + - - - + + + From chergert at mono-cvs.ximian.com Fri Apr 1 22:25:52 2005 From: chergert at mono-cvs.ximian.com (Christian Hergert ) Date: Fri, 1 Apr 2005 22:25:52 -0500 (EST) Subject: [Monodevelop-patches-list] r2414 - in trunk/MonoDevelop: . Core/src/MonoDevelop.Base Core/src/MonoDevelop.Base/Commands Core/src/MonoDevelop.Base/Commands/VBConverter Core/src/MonoDevelop.Base/Gui/BrowserDisplayBinding Core/src/MonoDevelop.Base/Gui/Dialogs Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard Core/src/MonoDevelop.Base/Gui/HtmlControl Core/src/MonoDevelop.Base/Gui/Pads/FileScout Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/NodeBuilder Core/src/MonoDevelop.Base/Gui/Pads/PropertyPad Core/src/MonoDevelop.Base/Gui/Pads/SolutionPad Core/src/MonoDevelop.Base/Gui/Workbench Core/src/MonoDevelop.Base/Gui/Workbench/Layouts Core/src/MonoDevelop.Base/Internal/ExternalTool Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer Core/src/MonoDevelop.Base/Internal/ProgressMonitoring Core/src/MonoDevelop.Base/Internal/Project/Combin e Core/src/MonoDevelop.Base/Internal/Project/Project Core/src/MonoDevelop.Base/Internal/Templates Core/src/MonoDevelop.Base/Services Core/src/MonoDevelop.Base/Services/DispatchService Core/src/MonoDevelop.Base/Services/DisplayBinding Core/src/MonoDevelop.Base/Services/ParserService Core/src/MonoDevelop.Startup contrib Message-ID: <20050402032552.13CC194765@mono-cvs.ximian.com> Author: chergert Date: 2005-04-01 22:25:51 -0500 (Fri, 01 Apr 2005) New Revision: 2414 Added: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DefaultLoggingService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ILoggingService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Startup/app.config trunk/MonoDevelop/contrib/ trunk/MonoDevelop/contrib/Makefile.am trunk/MonoDevelop/contrib/log4net.dll trunk/MonoDevelop/contrib/log4net.license.txt Modified: trunk/MonoDevelop/ChangeLog trunk/MonoDevelop/Core/src/MonoDevelop.Base/ChangeLog trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/AutostartCommands.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/MenuItemBuilders.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/VBConverter/ConvertBuffer.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/BrowserDisplayBinding/HtmlViewPane.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/NewFileDialog.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/AssemblyReferencePanel.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/AbstractWizardPanel.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/WizardDialog.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/WordCountDialog.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/HtmlControl.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/MozillaControl.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/FileScout/FileList.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/HelpViewer.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/MonodocTreePad.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/DirectoryNode.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/ProjectBrowserNode.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/PropertyPad/PropertyPad.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/SolutionPad/TreeViewPad.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/DefaultWorkbench.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ExternalTool/ToolLoader.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/BaseProgressMonitor.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/ConsoleProgressMonitor.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Combine/Combine.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/DotNetProject.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/IncludeFilesDialog.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/Project.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Templates/CodeTemplateLoader.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Makefile.am trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DispatchService/DispatchService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DisplayBinding/DisplayBindingService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ParserService/AssemblyCodeCompletionDatabase.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ParserService/AssemblyInformation.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ParserService/CodeCompletionDatabase.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ParserService/DefaultParserService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/ResourceService.cs trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/Runtime.cs trunk/MonoDevelop/Core/src/MonoDevelop.Startup/ChangeLog trunk/MonoDevelop/Core/src/MonoDevelop.Startup/Makefile.am trunk/MonoDevelop/Makefile.am trunk/MonoDevelop/configure.in Log: Add ILoggingService and DefaultLoggingService New contrib/ folder for external libraries Add MonoDevelop.exe.config for log4net configuration Add log4net library and license MonoDevelop.Base was converted from Console.WriteLine's to the new Logging framework Modified: trunk/MonoDevelop/ChangeLog =================================================================== --- trunk/MonoDevelop/ChangeLog 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/ChangeLog 2005-04-02 03:25:51 UTC (rev 2414) @@ -1,3 +1,11 @@ +2005-04-01 Christian Hergert + + * contrib/: Add folder for external libraries + * contrib/log4net.dll: Apache Logging .NET Library + * contrib/log4net.license.txt: log4net license + * contrib/Makefile.am: Makefile for contrib libraries + * configure.in: Add the new Makefile.am files + 2005-03-13 John Luke * autogen.sh: remove libtool, autoheader, and aclocal Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/ChangeLog =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/ChangeLog 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/ChangeLog 2005-04-02 03:25:51 UTC (rev 2414) @@ -1,3 +1,64 @@ +2005-04-01 Christian Hergert + + * Commands/VBConverter/ConvertBuffer.cs: Convert to use new Logging + framework. + * Commands/MenuItemBuilders.cs + * Commands/AutostartCommands.cs + * Services/DefaultLoggingService.cs + * Services/DispatchService/DispatchService.cs + * Services/ILoggingService.cs: New logging service to help make debugging + and information logging easy. + * Services/Runtime.cs: Add logging service to Runtime. + * Services/DisplayBinding/DisplayBindingService.cs: Convert to new Logging + framework. + * Services/ResourceService.cs + * Services/ParserService/DefaultParserService.cs + * Services/ParserService/AssemblyInformation.cs + * Services/ParserService/AssemblyCodeCompletionDatabase.cs + * Services/ParserService/CodeCompletionDatabase.cs + * Gui/Workbench/Layouts/SdiWorkspaceLayout.cs + * Gui/Workbench/DefaultWorkbench.cs + * Gui/Dialogs/Wizard/WizardDialog.cs + * Gui/Dialogs/Wizard/AbstractWizardPanel.cs + * Gui/Dialogs/WordCountDialog.cs + * Gui/Dialogs/NewFileDialog.cs + * Gui/Dialogs/ReferenceDialog/AssemblyReferencePanel.cs + * Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs + * Gui/Pads/SolutionPad/TreeViewPad.cs + * Gui/Pads/PropertyPad/PropertyPad.cs + * Gui/Pads/ProjectBrowser/BrowserNode/ProjectBrowserNode.cs + * Gui/Pads/ProjectBrowser/BrowserNode/DirectoryNode.cs + * Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs + * Gui/Pads/HelpBrowser/MonodocTreePad.cs + * Gui/Pads/HelpBrowser/HelpViewer.cs + * Gui/Pads/FileScout/FileList.cs + * Gui/BrowserDisplayBinding/HtmlViewPane.cs + * Gui/HtmlControl/HtmlControl.cs + * Gui/HtmlControl/MozillaControl.cs + * Makefile.am: Add new LoggingService files to build files + * Internal/ExternalTool/ToolLoader.cs: Update to new Logging Service + framework. + * Internal/Project/Project/DotNetProject.cs + * Internal/Project/Project/IncludeFilesDialog.cs + * Internal/Project/Project/Project.cs + * Internal/Project/Combine/Combine.cs + * Internal/ProgressMonitoring/ConsoleProgressMonitor.cs + * Internal/ProgressMonitoring/BaseProgressMonitor.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs + * Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs + * Internal/Templates/CodeTemplateLoader.cs + +2005-03-31 Christian Hergert + + * MonoDevelopCore.addin.xml: Use proper stock icon names for + solution and class pads. + 2005-03-22 John Luke * Internal/Project/Project/DotNetProject.cs: Release configuration Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/AutostartCommands.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/AutostartCommands.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/AutostartCommands.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -73,7 +73,7 @@ Runtime.FileService.OpenFile (file); } catch (Exception e) { - Console.WriteLine("unable to open file {0} exception was :\n{1}", file, e.ToString()); + Runtime.LoggingService.InfoFormat("unable to open file {0} exception was :\n{1}", file, e.ToString()); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/MenuItemBuilders.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/MenuItemBuilders.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/MenuItemBuilders.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -173,8 +173,8 @@ } // debug command and args - Console.WriteLine("command : " + command); - Console.WriteLine("args : " + args); + Runtime.LoggingService.Info("command : " + command); + Runtime.LoggingService.Info("args : " + args); // create the process IProgressMonitor monitor = Runtime.TaskService.GetRunProgressMonitor (); @@ -190,7 +190,7 @@ p = Runtime.ProcessService.StartProcess (command, args, workingDirectory, null); p.WaitForOutput (); - Console.WriteLine ("DONE"); + Runtime.LoggingService.Info ("DONE"); monitor.Log.WriteLine (); if (p.ExitCode == 0) { @@ -278,7 +278,7 @@ public Gtk.MenuItem[] BuildSubmenu(ConditionCollection conditionCollection, object owner) { - Console.WriteLine (Environment.StackTrace); + Runtime.LoggingService.Info (Environment.StackTrace); browser = (SolutionPad) owner; ITreeNavigator nav = browser.GetSelectedNode (); if (nav == null) return new Gtk.MenuItem[0]; Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/VBConverter/ConvertBuffer.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/VBConverter/ConvertBuffer.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Commands/VBConverter/ConvertBuffer.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -49,7 +49,7 @@ VBNetVisitor vbv = new VBNetVisitor(); vbv.Visit(p.compilationUnit, null); - Console.WriteLine(vbv.SourceText.ToString()); + Runtime.LoggingService.Info(vbv.SourceText.ToString()); Runtime.FileService.NewFile ("Generated.VB", "VBNET", vbv.SourceText.ToString()); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/BrowserDisplayBinding/HtmlViewPane.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/BrowserDisplayBinding/HtmlViewPane.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/BrowserDisplayBinding/HtmlViewPane.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -58,7 +58,7 @@ GLib.Timeout.Add (50, new GLib.TimeoutHandler (checkFocus)); } catch { - Console.WriteLine ("Gecko# tossed an exception"); + Runtime.LoggingService.Info ("Gecko# tossed an exception"); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/NewFileDialog.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/NewFileDialog.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/NewFileDialog.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -68,7 +68,7 @@ imglist.Add(bitmap); tmp[entry.Key] = ++i; } else { - Console.WriteLine(GettextCatalog.GetString ("Can't load bitmap {0} using default"), entry.Key.ToString ()); + Runtime.LoggingService.InfoFormat(GettextCatalog.GetString ("Can't load bitmap {0} using default"), entry.Key.ToString ()); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/AssemblyReferencePanel.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/AssemblyReferencePanel.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/AssemblyReferencePanel.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -66,7 +66,7 @@ public void AddReference(object sender, EventArgs e) { - //System.Console.WriteLine("This panel will contain a file browser, but so long use the browse button :)"); + //System.Runtime.LoggingService.Info("This panel will contain a file browser, but so long use the browse button :)"); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/ReferenceDialog/GacReferencePanel.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -118,7 +118,7 @@ #if false System.Reflection.MethodInfo gac = typeof (System.Environment).GetMethod ("internalGetGacPath", System.Reflection.BindingFlags.Static|System.Reflection.BindingFlags.NonPublic); if (gac == null) { - Console.WriteLine (GettextCatalog.GetString ("ERROR: non-mono runtime detected, please use the mono runtime for this piece of MonoDevelop for the time being")); + Runtime.LoggingService.Info (GettextCatalog.GetString ("ERROR: non-mono runtime detected, please use the mono runtime for this piece of MonoDevelop for the time being")); Environment.Exit (1); } string gac_path = System.IO.Path.Combine ((string)gac.Invoke (null, null), ""); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/AbstractWizardPanel.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/AbstractWizardPanel.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/AbstractWizardPanel.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -138,7 +138,7 @@ public override bool ReceiveDialogMessage (DialogMessage a) { - //Console.WriteLine ("In middle receive dialog message"); + //Runtime.LoggingService.Info ("In middle receive dialog message"); return true; } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/WizardDialog.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/WizardDialog.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/Wizard/WizardDialog.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -190,7 +190,7 @@ dialogPanel.Remove (dialogPanel.Child); } if (CurrentWizardPane.ToString () == "MonoDevelop.Gui.Dialogs.OptionPanels.CompletionDatabaseWizard.CreationFinishedPanel") { - Console.WriteLine ("This is an ugly hack for an even uglier bug, Restart MD now"); + Runtime.LoggingService.Info ("This is an ugly hack for an even uglier bug, Restart MD now"); System.Environment.Exit (0); } dialogPanel.Add(CurrentWizardPane.Control); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/WordCountDialog.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/WordCountDialog.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Dialogs/WordCountDialog.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -233,7 +233,7 @@ private SortType ReverseSort (SortType st) { - //Console.WriteLine (st); + //Runtime.LoggingService.Info (st); if (st == SortType.Ascending) return SortType.Descending; else Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/HtmlControl.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/HtmlControl.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/HtmlControl.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -74,7 +74,7 @@ ((MozillaControl) control).LoadUrl (value); } else - Console.WriteLine ("unable to load url"); + Runtime.LoggingService.Info ("unable to load url"); } } @@ -115,7 +115,7 @@ this.control = new MozillaControl (); ((MozillaControl) this.control).Show (); this.Add ((MozillaControl) this.control); - Console.WriteLine ("added MozillaControl to HtmlControl"); + Runtime.LoggingService.Info ("added MozillaControl to HtmlControl"); break; default: throw new NotImplementedException (control_type.ToString ()); @@ -155,7 +155,7 @@ if (html.Length > 0) { ApplyBody(html); } else { - Console.WriteLine ("no html to apply"); + Runtime.LoggingService.Info ("no html to apply"); } UIActivate(); ApplyCascadingStyleSheet(); @@ -172,15 +172,15 @@ if (control != null) { if (control_type == ControlType.GtkMozilla) { - Console.WriteLine ("rendering"); + Runtime.LoggingService.Info ("rendering"); ((MozillaControl) control).Show (); ((MozillaControl) control).RenderData (val, "file://", "text/html"); - Console.WriteLine ("rendered"); + Runtime.LoggingService.Info ("rendered"); return; } else { - Console.WriteLine ("not rendering with mozilla"); + Runtime.LoggingService.Info ("not rendering with mozilla"); } IHTMLElement el = null; @@ -197,17 +197,17 @@ } else { - Console.WriteLine ("IHTMLElement is null"); + Runtime.LoggingService.Info ("IHTMLElement is null"); } } else { - Console.WriteLine ("control is null"); + Runtime.LoggingService.Info ("control is null"); } } catch (Exception e) { - Console.WriteLine (e.ToString ()); + Runtime.LoggingService.Info (e.ToString ()); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/MozillaControl.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/MozillaControl.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/HtmlControl/MozillaControl.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -83,7 +83,7 @@ public void InitializeWithBase (string base_uri) { - //Console.WriteLine (base_uri); + //Runtime.LoggingService.Info (base_uri); if (html.Length > 0) { this.RenderData (html, base_uri, "text/html"); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/FileScout/FileList.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/FileScout/FileList.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/FileScout/FileList.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -88,7 +88,7 @@ } void ItemRemoved (FileListItem item) { - Console.WriteLine ("remove called"); + Runtime.LoggingService.Info ("remove called"); store.Remove (ref selectedIter); } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/HelpViewer.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/HelpViewer.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/HelpViewer.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -49,7 +49,7 @@ void UrlRequested (object sender, UrlRequestedArgs args) { - Console.WriteLine ("Image requested: " + args.Url); + Runtime.LoggingService.Info ("Image requested: " + args.Url); Stream s = Runtime.Documentation.HelpTree.GetImage (args.Url); if (s != null) { Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/MonodocTreePad.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/MonodocTreePad.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/HelpBrowser/MonodocTreePad.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -104,7 +104,7 @@ ShowDocs (s, match, url); return; } - Console.WriteLine ("Couldnt find match"); + Runtime.LoggingService.Info ("Couldnt find match"); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/DirectoryNode.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/DirectoryNode.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/DirectoryNode.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -76,7 +76,7 @@ try { ProjectBrowserView.MoveCopyFile(file, this, effect == DragDropEffects.Move, false); } catch (Exception ex) { - Console.WriteLine(ex.ToString()); + Runtime.LoggingService.Info(ex.ToString()); } } } else { Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/ProjectBrowserNode.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/ProjectBrowserNode.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/BrowserNode/ProjectBrowserNode.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -58,7 +58,7 @@ try { ProjectBrowserView.MoveCopyFile(file, this, effect == DragDropEffects.Move, false); } catch (Exception ex) { - Console.WriteLine(ex.ToString()); + Runtime.LoggingService.Info(ex.ToString()); } } } else { Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/ProjectBrowser/NodeBuilder/DefaultDotNetNodeBuilder.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -333,7 +333,7 @@ break; #endif default: - Console.WriteLine ("UNHANDLED TYPE {0}, DefaultDotNetNodeBuilder.cs", projectFile.Subtype); + Runtime.LoggingService.Info ("UNHANDLED TYPE {0}, DefaultDotNetNodeBuilder.cs", projectFile.Subtype); // unknown file type break; } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/PropertyPad/PropertyPad.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/PropertyPad/PropertyPad.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/PropertyPad/PropertyPad.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -54,7 +54,7 @@ public object GetService(Type serviceType) { -// Console.WriteLine("REQUEST SERVICE : " + serviceType); +// Runtime.LoggingService.Info("REQUEST SERVICE : " + serviceType); object o = container.GetService(serviceType); return o; @@ -68,12 +68,12 @@ protected override object GetService(Type serviceType) { -// Console.WriteLine("service {0} requested from IDEContainer", serviceType); +// Runtime.LoggingService.Info("service {0} requested from IDEContainer", serviceType); object service = base.GetService(serviceType); if (service == null) { service = serviceProvider.GetService(serviceType); } -// Console.WriteLine("Returned : " + service); +// Runtime.LoggingService.Info("Returned : " + service); return service; } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/SolutionPad/TreeViewPad.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/SolutionPad/TreeViewPad.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Pads/SolutionPad/TreeViewPad.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -229,18 +229,18 @@ { ITreeNavigator nav = GetSelectedNode (); dragObject = nav.DataItem; - Console.WriteLine ("OnDragBegin"); + Runtime.LoggingService.Info ("OnDragBegin"); } void OnDragDataGet (object o, Gtk.DragDataGetArgs args) { - Console.WriteLine ("OnDragDataGet"); + Runtime.LoggingService.Info ("OnDragDataGet"); args.SelectionData.Set (args.Context.Targets[0], 0, new byte[0]); } void OnDragDataReceived (object o, Gtk.DragDataReceivedArgs args) { - Console.WriteLine ("OnDragDataReceived " + args.X + " " + args.Y + " " + args.SelectionData.Length); + Runtime.LoggingService.Info ("OnDragDataReceived " + args.X + " " + args.Y + " " + args.SelectionData.Length); if (dragObject != null) { bool res = CheckAndDrop (args.X, args.Y, true); @@ -248,7 +248,7 @@ } else { if (args.SelectionData.Data.Length > 0) { string fullData = System.Text.Encoding.UTF8.GetString (args.SelectionData.Data); - Console.WriteLine ("file:" + fullData); + Runtime.LoggingService.Info ("file:" + fullData); } Gtk.Drag.Finish (args.Context, false, true, args.Time); } @@ -256,18 +256,18 @@ void OnDragDrop (object o, Gtk.DragDropArgs args) { - Console.WriteLine ("OnDragDrop " + args.X + " " + args.Y); + Runtime.LoggingService.Info ("OnDragDrop " + args.X + " " + args.Y); } void OnDragEnd (object o, Gtk.DragEndArgs args) { dragObject = null; - Console.WriteLine ("OnDragEnd"); + Runtime.LoggingService.Info ("OnDragEnd"); } void OnDragLeave (object sender, Gtk.DragLeaveArgs args) { - Console.WriteLine ("OnDragLeave"); + Runtime.LoggingService.Info ("OnDragLeave"); } [GLib.ConnectBefore] @@ -291,7 +291,7 @@ if (!store.GetIter (out iter, path)) return false; TreeNodeNavigator nav = new TreeNodeNavigator (this, iter); - Console.WriteLine ("Trying drop to " + nav.NodeName); + Runtime.LoggingService.Info ("Trying drop to " + nav.NodeName); NodeBuilder[] chain = nav.BuilderChain; bool foundHandler = false; @@ -300,7 +300,7 @@ if (nb.CommandHandler.CanDropNode (dragObject, DragOperation.Copy)) { foundHandler = true; if (drop) { - Console.WriteLine ("Droping to " + nb); + Runtime.LoggingService.Info ("Droping to " + nb); nb.CommandHandler.OnNodeDrop (dragObject, DragOperation.Copy); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/DefaultWorkbench.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/DefaultWorkbench.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/DefaultWorkbench.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -134,7 +134,7 @@ public DefaultWorkbench() : base (Gtk.WindowType.Toplevel) { Title = "MonoDevelop"; - Console.WriteLine ("Creating DefaultWorkbench"); + Runtime.LoggingService.Info ("Creating DefaultWorkbench"); windowChangeEventHandler = new EventHandler(OnActiveWindowChanged); @@ -179,7 +179,7 @@ else Runtime.FileService.OpenFile (file); } catch (Exception e) { - Console.WriteLine("unable to open file {0} exception was :\n{1}", file, e.ToString()); + Runtime.LoggingService.InfoFormat("unable to open file {0} exception was :\n{1}", file, e.ToString()); } } } @@ -279,7 +279,7 @@ ((IMementoCapable)content).SetMemento(memento); } } catch (Exception e) { - Console.WriteLine("Can't get/set memento : " + e.ToString()); + Runtime.LoggingService.Info("Can't get/set memento : " + e.ToString()); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -276,7 +276,7 @@ } } - //Console.WriteLine(" Default Layout created."); + //Runtime.LoggingService.Info(" Default Layout created."); dockLayout = new DockLayout (dock); if (System.IO.File.Exists (configFile)) { dockLayout.LoadFromFile (configFile); @@ -291,7 +291,7 @@ { workbench.ContextChanged -= contextChangedHandler; - //Console.WriteLine("Call to SdiWorkSpaceLayout.Detach"); + //Runtime.LoggingService.Info("Call to SdiWorkSpaceLayout.Detach"); dockLayout.SaveLayout (currentLayout); dockLayout.SaveToFile (configFile); rootWidget.Remove(((DefaultWorkbench)workbench).TopMenu); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ExternalTool/ToolLoader.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ExternalTool/ToolLoader.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ExternalTool/ToolLoader.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -77,7 +77,7 @@ static ToolLoader() { if (!LoadToolsFromStream (Runtime.Properties.ConfigDirectory + TOOLFILE)) { - //Console.WriteLine("Tools: can't load user defaults, reading system defaults"); + //Runtime.LoggingService.Info("Tools: can't load user defaults, reading system defaults"); if (!LoadToolsFromStream (Runtime.Properties.DataDirectory + Path.DirectorySeparatorChar + "options" + Path.DirectorySeparatorChar + TOOLFILE)) { Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyAttribute.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -11,6 +11,7 @@ using System.Xml; using System.IO; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; @@ -43,7 +44,7 @@ int table = assembly.Reader.GetCodedIndexTable(CodedIndex.MemberRefParent, ref trIndex); if (table != 1) { - Console.WriteLine("SharpAssemblyAttribute: unsupported MemberRefParent coded index"); + Runtime.LoggingService.Info("SharpAssemblyAttribute: unsupported MemberRefParent coded index"); return; // unsupported } @@ -93,7 +94,7 @@ ushort prolog = binaryReader.ReadUInt16(); if (prolog != 1) { - Console.WriteLine("SharpAssemblyAttribute: Wrong prolog in argument list"); + Runtime.LoggingService.Info("SharpAssemblyAttribute: Wrong prolog in argument list"); return; } @@ -113,11 +114,11 @@ } } - Console.WriteLine("Enum: return type = " + rettypename); + Runtime.LoggingService.Info("Enum: return type = " + rettypename); object argValue = GetFixedArg(argBlob, binaryReader, rettypename); - Console.WriteLine("Enum: arg value = " + argValue.ToString()); + Runtime.LoggingService.Info("Enum: arg value = " + argValue.ToString()); foreach (IField field in underlyingClass.Fields) { if (field is SharpAssemblyField) { @@ -132,7 +133,7 @@ // if the value cannot be found positionalArguments.Add(argValue.ToString()); - Console.WriteLine("Enum: no name found"); + Runtime.LoggingService.Info("Enum: no name found"); namefound: ; @@ -162,8 +163,8 @@ binaryReader.Close(); } catch (Exception) { - Console.WriteLine("SharpAssemblyAttribute: Error loading arguments."); - //Console.WriteLine(e.ToString()); + Runtime.LoggingService.Info("SharpAssemblyAttribute: Error loading arguments."); + //Runtime.LoggingService.Info(e.ToString()); } } @@ -231,7 +232,7 @@ try { ret += (string)de.Key + " = " + (string)de.Value + ", "; } catch { - Console.WriteLine("error in namedArguments"); + Runtime.LoggingService.Info("error in namedArguments"); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyClass.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.Text; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; @@ -46,7 +47,7 @@ case 3: // TypeRef -- nested type return GetNestedName(asm, typeRefTable, val) + "+" + asm.Reader.GetStringFromHeap(typeRefTable[index].Name); default: // other token - not supported - Console.WriteLine("GetNestedName: Unsupported resolution scope!"); + Runtime.LoggingService.Info("GetNestedName: Unsupported resolution scope!"); goto case 3; } } @@ -79,7 +80,7 @@ SharpAssembly_ declaringAssembly = referencingAssembly.GetRefAssemblyFor(index); if (declaringAssembly == null) { Console.Write("FromTypeRef failed for: " + name + " declared in assembly " + referencingAssembly.Name); - Console.WriteLine(": Declaring assembly not found."); + Runtime.LoggingService.Info(": Declaring assembly not found."); return null; } @@ -104,7 +105,7 @@ } Console.Write("FromTypeRef failed for: " + name + " declared in assembly " + referencingAssembly.Name); - Console.WriteLine(": Matching type not found for nested name: " + nestedName); + Runtime.LoggingService.Info(": Matching type not found for nested name: " + nestedName); return null; } @@ -295,7 +296,7 @@ case 1: // TypeRef return FromTypeRef(assembly, nIndex); default: - Console.WriteLine("GetTypeRefOrDefClass: Wrong TypeDefOrRef coded index!"); + Runtime.LoggingService.Info("GetTypeRefOrDefClass: Wrong TypeDefOrRef coded index!"); return null; } } @@ -431,7 +432,7 @@ IClass newclass = new SharpAssemblyClass(assembly, typeDefTable, i); classes.Add(newclass); } catch { - Console.WriteLine("GetAssemblyTypes: Error loading class " + i); + Runtime.LoggingService.Info("GetAssemblyTypes: Error loading class " + i); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyEvent.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.Reflection; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; @@ -122,7 +123,7 @@ } else { // TypeSpec returnType = new SharpAssemblyReturnType("NOT_SUPPORTED"); - Console.WriteLine("SharpAssemblyEvent: TypeSpec -- not supported"); + Runtime.LoggingService.Info("SharpAssemblyEvent: TypeSpec -- not supported"); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyField.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.IO; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; @@ -132,7 +133,7 @@ } binReader.Close(); } catch { - Console.WriteLine("SharpAssemblyField: Error reading constant value"); + Runtime.LoggingService.Info("SharpAssemblyField: Error reading constant value"); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyMethod.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -11,6 +11,7 @@ using System.Reflection; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyParameter.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.Reflection; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyProperty.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.Reflection; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Parser/SharpAssemblyLayer/SharpAssemblyReturnType.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -10,6 +10,7 @@ using System.Reflection; using System.Xml; +using MonoDevelop.Services; using MonoDevelop.SharpAssembly.Metadata.Rows; using MonoDevelop.SharpAssembly.Metadata; using MonoDevelop.SharpAssembly.PE; @@ -97,7 +98,7 @@ } else { fullyQualifiedName = assembly.GetStringFromHeap(typeRefTable[index].Nspace) + "." + assembly.GetStringFromHeap(typeRefTable[index].Name); - Console.WriteLine("GetDataType: TypeRef not resolved!"); + Runtime.LoggingService.Info("GetDataType: TypeRef not resolved!"); } declaredin = asm.GetRefAssemblyFor(index); } else { @@ -137,7 +138,7 @@ break; default: - Console.WriteLine("NOT supported: " + dt.ToString()); + Runtime.LoggingService.Info("NOT supported: " + dt.ToString()); fullyQualifiedName += " NOT_SUPPORTED [" + dt.ToString() + "]"; break; } @@ -173,7 +174,7 @@ } else { FullyQualifiedName = assembly.Reader.GetStringFromHeap(typeRefTable[index].Nspace) + "." + assembly.Reader.GetStringFromHeap(typeRefTable[index].Name); - Console.WriteLine("SharpAssemblyReturnType from TypeRef: TypeRef not resolved!"); + Runtime.LoggingService.Info("SharpAssemblyReturnType from TypeRef: TypeRef not resolved!"); } declaredin = assembly.GetRefAssemblyFor(index); } @@ -184,7 +185,7 @@ try { GetDataType(assembly, ref blobSignatureIndex); } catch (Exception e) { - Console.WriteLine("Got exception in ReturnType creation: " + e.ToString()); + Runtime.LoggingService.Info("Got exception in ReturnType creation: " + e.ToString()); FullyQualifiedName = "GOT_EXCEPTION"; } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/BaseProgressMonitor.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/BaseProgressMonitor.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/BaseProgressMonitor.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -112,7 +112,7 @@ else if (message != null && ex != null) message += ". " + ex.Message; errorsMessages.Add (message); - Console.WriteLine (ex); + Runtime.LoggingService.Info (ex); } [FreeDispatch] Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/ConsoleProgressMonitor.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/ConsoleProgressMonitor.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/ProgressMonitoring/ConsoleProgressMonitor.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -35,7 +35,7 @@ { public override void BeginTask (string name, int totalWork) { - Console.WriteLine ("*** " + name); + Runtime.LoggingService.Info ("*** " + name); } public override TextWriter Log { @@ -44,18 +44,18 @@ public override void ReportSuccess (string message) { - Console.WriteLine (message); + Runtime.LoggingService.Info (message); } public override void ReportWarning (string message) { - Console.WriteLine ("WARNING: " + message); + Runtime.LoggingService.Info ("WARNING: " + message); } public override void ReportError (string message, Exception ex) { - Console.WriteLine ("ERROR: " + message); - Console.WriteLine (ex); + Runtime.LoggingService.Info ("ERROR: " + message); + Runtime.LoggingService.Info (ex); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Combine/Combine.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Combine/Combine.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Combine/Combine.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -454,7 +454,7 @@ projects.Add ((Project)entry); } else - Console.WriteLine ("Dont know how to generate makefiles for " + entry); + Runtime.LoggingService.Info ("Dont know how to generate makefiles for " + entry); } string rel_outputdir = Runtime.FileUtilityService.AbsoluteToRelativePath (BaseDirectory, outputdir); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/DotNetProject.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/DotNetProject.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/DotNetProject.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -178,7 +178,7 @@ public override void GenerateMakefiles (Combine parentCombine) { - Console.WriteLine ("Generating makefiles for " + Name); + Runtime.LoggingService.Info ("Generating makefiles for " + Name); languageBinding.GenerateMakefile (this, parentCombine); } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/IncludeFilesDialog.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/IncludeFilesDialog.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/IncludeFilesDialog.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -42,7 +42,7 @@ public IncludeFilesDialog(Project project, StringCollection newFiles) { - Console.WriteLine ("*** Include files dialog ***"); + Runtime.LoggingService.Info ("*** Include files dialog ***"); // we must do it from *here* otherwise, we get this assembly, not the caller Glade.XML glade = new Glade.XML (null, "Base.glade", "IncludeFilesDialogWidget", null); glade.Autoconnect (this); Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/Project.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/Project.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Project/Project/Project.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -260,7 +260,7 @@ File.Copy (referenceFileName + ".mdb", destinationFileName + ".mdb", true); } } catch (Exception e) { - Console.WriteLine("Can't copy reference file from {0} to {1} reason {2}", referenceFileName, destinationFileName, e); + Runtime.LoggingService.InfoFormat("Can't copy reference file from {0} to {1} reason {2}", referenceFileName, destinationFileName, e); } } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Templates/CodeTemplateLoader.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Templates/CodeTemplateLoader.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Internal/Templates/CodeTemplateLoader.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -96,7 +96,7 @@ static CodeTemplateLoader() { if (!LoadTemplatesFromStream(Path.Combine(Runtime.Properties.ConfigDirectory, TemplateFileName))) { - Console.WriteLine("Templates: can't load user defaults, reading system defaults"); + Runtime.LoggingService.Info("Templates: can't load user defaults, reading system defaults"); if (!LoadTemplatesFromStream(Runtime.Properties.DataDirectory + Path.DirectorySeparatorChar + "options" + Path.DirectorySeparatorChar + TemplateFileName)) { Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Makefile.am =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Makefile.am 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Makefile.am 2005-04-02 03:25:51 UTC (rev 2414) @@ -8,6 +8,7 @@ /r:System.Data.dll /r:System.Web.Services.dll \ /r:$(top_builddir)/build/bin/MonoDevelop.Dock.dll \ /r:Mono.Posix.dll \ + /r:$(top_builddir)/contrib/log4net.dll \ $(GTK_SHARP_LIBS) \ $(GNOME_SHARP_LIBS) \ $(GNOME_VFS_SHARP_LIBS) \ @@ -240,6 +241,8 @@ Services/DispatchService/SyncContextAttribute.cs \ Services/DispatchService/SyncObject.cs \ Services/Runtime.cs \ +Services/ILoggingService.cs \ +Services/DefaultLoggingService.cs \ Internal/Undo/IUndoableOperation.cs \ Internal/Undo/UndoStack.cs \ Internal/Undo/UndoQueue.cs \ Added: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DefaultLoggingService.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DefaultLoggingService.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DefaultLoggingService.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -0,0 +1,187 @@ + +using System; + +using MonoDevelop.Core.Services; + +using log4net; + +namespace MonoDevelop.Services +{ + public class DefaultLoggingService : AbstractService, ILoggingService + { + public event LogAppendedHandler LogAppended; + + public DefaultLoggingService() + { + log4net.Config.XmlConfigurator.Configure(); + } + + public override void InitializeService() + { + base.InitializeService(); + } + + ILog GetLogger(System.Type type) + { + return LogManager.GetLogger(type); + } + + ILog GetLogger() + { + return LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + } + + System.Reflection.MethodBase GetCallingMethod() + { + System.Diagnostics.StackTrace + trace = new System.Diagnostics.StackTrace(true); + return trace.GetFrame(2).GetMethod(); + } + + public bool IsDebugEnabled { + get { + return GetLogger(GetCallingMethod().DeclaringType).IsDebugEnabled; + } + } + + public bool IsInfoEnabled { + get { + return GetLogger(GetCallingMethod().DeclaringType).IsInfoEnabled; + } + } + + public bool IsWarnEnabled { + get { + return GetLogger(GetCallingMethod().DeclaringType).IsWarnEnabled; + } + } + + public bool IsErrorEnabled { + get { + return GetLogger(GetCallingMethod().DeclaringType).IsErrorEnabled; + } + } + + public bool IsFatalEnabled { + get { + return GetLogger(GetCallingMethod().DeclaringType).IsFatalEnabled; + } + } + + public void Debug (object message) + { + System.Type type = GetCallingMethod().DeclaringType; + GetLogger(type).Debug (message); + OnLogAppended ("Debug", type.ToString(), message.ToString()); + } + + public void Info (object message) + { + System.Type type = GetCallingMethod().DeclaringType; + GetLogger(type).Info (message); + OnLogAppended ("Info", type.ToString(), message.ToString()); + } + + public void Warn (object message) + { + GetLogger(GetCallingMethod().DeclaringType).Warn (message); + } + + public void Error (object message) + { + GetLogger(GetCallingMethod().DeclaringType).Error (message); + } + + public void Fatal (object message) + { + GetLogger(GetCallingMethod().DeclaringType).Fatal (message); + } + + public void Debug (object message, Exception t) + { + GetLogger(GetCallingMethod().DeclaringType).Debug (message, t); + } + + public void Info (object message, Exception t) + { + GetLogger(GetCallingMethod().DeclaringType).Info (message, t); + } + + public void Warn (object message, Exception t) + { + GetLogger(GetCallingMethod().DeclaringType).Warn (message, t); + } + + public void Error (object message, Exception t) + { + GetLogger(GetCallingMethod().DeclaringType).Error (message, t); + } + + public void Fatal (object message, Exception t) + { + GetLogger(GetCallingMethod().DeclaringType).Fatal (message, t); + } + + public void DebugFormat (string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).DebugFormat (format, args); + } + + public void InfoFormat (string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).InfoFormat (format, args); + } + + public void WarnFormat (string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).WarnFormat (format, args); + } + + public void ErrorFormat (string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).ErrorFormat (format, args); + } + + public void FatalFormat (string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).FatalFormat (format, args); + } + + public void DebugFormat(IFormatProvider provider, string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).DebugFormat (provider, format, args); + } + + public void InfoFormat(IFormatProvider provider, string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).InfoFormat (provider, format, args); + } + + public void WarnFormat(IFormatProvider provider, string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).WarnFormat (provider, format, args); + } + + public void ErrorFormat(IFormatProvider provider, string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).ErrorFormat (provider, format, args); + } + + public void FatalFormat(IFormatProvider provider, string format, params object[] args) + { + GetLogger(GetCallingMethod().DeclaringType).FatalFormat (provider, format, args); + } + + public void OnLogAppended(string level, string category, string message) + { + if (LogAppended != null) { + LogAppendedArgs args = new LogAppendedArgs(); + args.Level = level; + args.Category = category; + args.Message = message; + args.Timestamp = DateTime.Now; + LogAppended(this, args); + } + } + } +} Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DispatchService/DispatchService.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DispatchService/DispatchService.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DispatchService/DispatchService.cs 2005-04-02 03:25:51 UTC (rev 2414) @@ -173,14 +173,14 @@ private void HandlerError (GenericMessageContainer msg) { - Console.WriteLine (errormsg); - Console.WriteLine (msg.Exception); + Runtime.LoggingService.Info (errormsg); + Runtime.LoggingService.Info (msg.Exception); if (msg.CallerStack != null) { - Console.WriteLine ("\nCaller stack:"); - Console.WriteLine (msg.CallerStack); + Runtime.LoggingService.Info ("\nCaller stack:"); + Runtime.LoggingService.Info (msg.CallerStack); } else - Console.WriteLine ("\n\nCaller stack not available. Define the environment variable MONODEVELOP_DISPATCH_DEBUG to enable caller stack capture."); + Runtime.LoggingService.Info ("\n\nCaller stack not available. Define the environment variable MONODEVELOP_DISPATCH_DEBUG to enable caller stack capture."); } } Modified: trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DisplayBinding/DisplayBindingService.cs =================================================================== --- trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DisplayBinding/DisplayBindingService.cs 2005-04-01 23:21:09 UTC (rev 2413) +++ trunk/MonoDevelop/Core/src/MonoDevelop.Base/Services/DisplayBinding/DisplayBindingService.cs 2005-04-02 03:25:51