Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1254 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
9 changed files with 298 additions and 317 deletions
@ -0,0 +1,100 @@
@@ -0,0 +1,100 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision: 1253 $</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Windows.Forms; |
||||
using System.Drawing; |
||||
using System.CodeDom.Compiler; |
||||
using System.Collections; |
||||
using System.ComponentModel; |
||||
using System.IO; |
||||
using System.Diagnostics; |
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop.Services; |
||||
|
||||
using Debugger; |
||||
|
||||
namespace ICSharpCode.SharpDevelop.Gui.Pads |
||||
{ |
||||
public partial class CallStackPad |
||||
{ |
||||
public bool ShowArgumentNames { |
||||
get { |
||||
return debugger.Properties.Get("ShowArgumentNames", true); |
||||
} |
||||
set { |
||||
debugger.Properties.Set("ShowArgumentNames", value); |
||||
} |
||||
} |
||||
|
||||
public bool ShowArgumentValues { |
||||
get { |
||||
return debugger.Properties.Get("ShowArgumentValues", true); |
||||
} |
||||
set { |
||||
debugger.Properties.Set("ShowArgumentValues", value); |
||||
} |
||||
} |
||||
|
||||
public bool ShowExternalMethods { |
||||
get { |
||||
return debugger.Properties.Get("ShowExternalMethods", false); |
||||
} |
||||
set { |
||||
debugger.Properties.Set("ShowExternalMethods", value); |
||||
} |
||||
} |
||||
|
||||
ContextMenuStrip CreateContextMenuStrip() |
||||
{ |
||||
ContextMenuStrip menu = new ContextMenuStrip(); |
||||
menu.Opening += FillContextMenuStrip; |
||||
return menu; |
||||
} |
||||
|
||||
void FillContextMenuStrip(object sender, CancelEventArgs e) |
||||
{ |
||||
ContextMenuStrip menu = sender as ContextMenuStrip; |
||||
menu.Items.Clear(); |
||||
|
||||
ToolStripMenuItem argNamesItem; |
||||
argNamesItem = new ToolStripMenuItem(); |
||||
argNamesItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowArgumentNames"); |
||||
argNamesItem.Checked = ShowArgumentNames; |
||||
argNamesItem.Click += delegate { |
||||
ShowArgumentNames = !ShowArgumentNames; |
||||
RefreshPad(); |
||||
}; |
||||
|
||||
ToolStripMenuItem argValuesItem; |
||||
argValuesItem = new ToolStripMenuItem(); |
||||
argValuesItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowArgumentValues"); |
||||
argValuesItem.Checked = ShowArgumentValues; |
||||
argValuesItem.Click += delegate { |
||||
ShowArgumentValues = !ShowArgumentValues; |
||||
RefreshPad(); |
||||
}; |
||||
|
||||
ToolStripMenuItem extMethodsItem; |
||||
extMethodsItem = new ToolStripMenuItem(); |
||||
extMethodsItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.CallStack.ShowExternalMethods"); |
||||
extMethodsItem.Checked = ShowExternalMethods; |
||||
extMethodsItem.Click += delegate { |
||||
ShowExternalMethods = !ShowExternalMethods; |
||||
RefreshPad(); |
||||
}; |
||||
|
||||
menu.Items.AddRange(new ToolStripItem[] { |
||||
argNamesItem, |
||||
argValuesItem, |
||||
extMethodsItem |
||||
}); |
||||
|
||||
e.Cancel = false; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision: 1064 $</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop.Services; |
||||
|
||||
using Debugger; |
||||
|
||||
namespace ICSharpCode.SharpDevelop.Gui.Pads |
||||
{ |
||||
public abstract class DebuggerPad: AbstractPadContent |
||||
{ |
||||
protected WindowsDebugger debugger; |
||||
protected NDebugger debuggerCore; |
||||
|
||||
public DebuggerPad() |
||||
{ |
||||
debugger = (WindowsDebugger)DebuggerService.CurrentDebugger; |
||||
|
||||
InitializeComponents(); |
||||
|
||||
if (debugger.ServiceInitialized) { |
||||
InitializeDebugger(); |
||||
} else { |
||||
debugger.Initialize += delegate { |
||||
InitializeDebugger(); |
||||
}; |
||||
} |
||||
} |
||||
|
||||
protected virtual void InitializeComponents() |
||||
{ |
||||
|
||||
} |
||||
|
||||
void InitializeDebugger() |
||||
{ |
||||
debuggerCore = debugger.DebuggerCore; |
||||
|
||||
RegisterDebuggerEvents(); |
||||
|
||||
RefreshPad(); |
||||
} |
||||
|
||||
protected virtual void RegisterDebuggerEvents() |
||||
{ |
||||
|
||||
} |
||||
|
||||
public virtual void RefreshPad() |
||||
{ |
||||
|
||||
} |
||||
} |
||||
} |
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision: 1253 $</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Windows.Forms; |
||||
using System.Drawing; |
||||
using System.CodeDom.Compiler; |
||||
using System.Collections; |
||||
using System.ComponentModel; |
||||
using System.IO; |
||||
using System.Diagnostics; |
||||
using ICSharpCode.Core; |
||||
using ICSharpCode.SharpDevelop.Services; |
||||
|
||||
using Debugger; |
||||
|
||||
namespace ICSharpCode.SharpDevelop.Gui.Pads |
||||
{ |
||||
public partial class RunningThreadsPad |
||||
{ |
||||
ContextMenuStrip CreateContextMenuStrip() |
||||
{ |
||||
ContextMenuStrip menu = new ContextMenuStrip(); |
||||
menu.Opening += FillContextMenuStrip; |
||||
return menu; |
||||
} |
||||
|
||||
void FillContextMenuStrip(object sender, CancelEventArgs e) |
||||
{ |
||||
ListView.SelectedListViewItemCollection items = runningThreadsList.SelectedItems; |
||||
|
||||
if (items.Count == 0) { |
||||
e.Cancel = true; |
||||
return; |
||||
} |
||||
|
||||
ListViewItem item = items[0]; |
||||
|
||||
ContextMenuStrip menu = sender as ContextMenuStrip; |
||||
menu.Items.Clear(); |
||||
|
||||
ToolStripMenuItem freezeItem; |
||||
freezeItem = new ToolStripMenuItem(); |
||||
freezeItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.Threads.Freeze"); |
||||
freezeItem.Checked = (item.Tag as Thread).Suspended; |
||||
freezeItem.Click += |
||||
delegate { |
||||
ListView.SelectedListViewItemCollection selItems = runningThreadsList.SelectedItems; |
||||
if (selItems.Count == 0) { |
||||
return; |
||||
} |
||||
bool suspended = (selItems[0].Tag as Thread).Suspended; |
||||
|
||||
if (!debuggerCore.IsPaused) { |
||||
MessageBox.Show("You can not freeze or thaw thread while the debugger is running.", "Thread freeze"); |
||||
return; |
||||
} |
||||
|
||||
foreach(ListViewItem i in selItems) { |
||||
(i.Tag as Thread).Suspended = !suspended; |
||||
} |
||||
RefreshPad(); |
||||
}; |
||||
|
||||
menu.Items.AddRange(new ToolStripItem[] { |
||||
freezeItem, |
||||
}); |
||||
|
||||
e.Cancel = false; |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue