Author: cwittich
Date: Wed Aug 20 13:10:51 2008
New Revision: 35483
URL:
http://svn.reactos.org/svn/reactos?rev=35483&view=rev
Log:
add support for edit->copy menu
Modified:
trunk/tools/reactosdbg/RosDBG/MainWindow.Designer.cs
trunk/tools/reactosdbg/RosDBG/MainWindow.cs
trunk/tools/reactosdbg/RosDBG/RawTraffic.Designer.cs
trunk/tools/reactosdbg/RosDBG/RawTraffic.cs
trunk/tools/reactosdbg/RosDBG/ReactOSWeb.cs
trunk/tools/reactosdbg/RosDBG/SourceView.Designer.cs
trunk/tools/reactosdbg/RosDBG/SourceView.cs
trunk/tools/reactosdbg/RosDBG/SourceView.resx
Modified: trunk/tools/reactosdbg/RosDBG/MainWindow.Designer.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/MainWindow…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/MainWindow.Designer.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/MainWindow.Designer.cs [iso-8859-1] Wed Aug 20 13:10:51
2008
@@ -200,6 +200,7 @@
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
this.copyToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
this.copyToolStripMenuItem.Text = "Copy";
+ this.copyToolStripMenuItem.Click += new
System.EventHandler(this.copyToolStripMenuItem_Click);
//
// pasteToInteractionToolStripMenuItem
//
Modified: trunk/tools/reactosdbg/RosDBG/MainWindow.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/MainWindow…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/MainWindow.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/MainWindow.cs [iso-8859-1] Wed Aug 20 13:10:51 2008
@@ -28,7 +28,8 @@
SymbolContext mSymbolContext;
Dictionary<uint, Module> mModules = new Dictionary<uint, Module>();
Dictionary<string, SourceView> mSourceFiles = new Dictionary<string,
SourceView>();
-
+ public event CopyEventHandler CopyEvent;
+
public DebugConnection DebugConnection
{
get { return mConnection; }
@@ -96,6 +97,11 @@
mConnection.DebugModuleChangedEvent += DebugModuleChangedEvent;
ComposeTitleString();
mSymbolContext.ReactosOutputPath = Settings.OutputDirectory;
+ }
+
+ void CanCopyChanged(object sender, CanCopyChangedEventArgs args)
+ {
+ copyToolStripMenuItem.Enabled = args.Enabled;
}
void DebugModuleChangedEvent(object sender, DebugModuleChangedEventArgs args)
@@ -169,6 +175,12 @@
tp.Text = ctrl.Tag != null ? ctrl.Tag.ToString() : ctrl.GetType().Name;
ctrl.Dock = DockStyle.Fill;
WorkTabs.Controls.Add(tp);
+
+ if (ctrl.GetType() == typeof(SourceView))
+ ((SourceView)ctrl).CanCopyChangedEvent += CanCopyChanged;
+ else if (ctrl.GetType() == typeof(RawTraffic))
+ ((RawTraffic)ctrl).CanCopyChangedEvent += CanCopyChanged;
+
ResumeLayout();
}
@@ -331,6 +343,13 @@
mConnection.Start(targetSelect.PipeName);
}
}
+
+ private void copyToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (CopyEvent != null)
+ CopyEvent(this, new CopyEventArgs(WorkTabs.SelectedTab.Controls[0]));
+ }
+
}
public class InteractiveInputEventArgs : EventArgs
@@ -339,4 +358,25 @@
public string Command { get { return mCommand; } }
public InteractiveInputEventArgs(object sender, string cmd) { mCommand = cmd; }
}
+
+ public class CanCopyChangedEventArgs : EventArgs
+ {
+ public readonly bool Enabled;
+ public CanCopyChangedEventArgs(bool enabled)
+ {
+ Enabled = enabled;
+ }
+ }
+
+ public class CopyEventArgs : EventArgs
+ {
+ public readonly object Obj;
+ public CopyEventArgs(object obj)
+ {
+ Obj = obj;
+ }
+ }
+
+ public delegate void CanCopyChangedEventHandler(object sender,
CanCopyChangedEventArgs args);
+ public delegate void CopyEventHandler(object sender, CopyEventArgs args);
}
Modified: trunk/tools/reactosdbg/RosDBG/RawTraffic.Designer.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/RawTraffic…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/RawTraffic.Designer.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/RawTraffic.Designer.cs [iso-8859-1] Wed Aug 20 13:10:51
2008
@@ -43,6 +43,7 @@
this.RawTrafficText.Size = new System.Drawing.Size(150, 150);
this.RawTrafficText.TabIndex = 0;
this.RawTrafficText.KeyPress += new
System.Windows.Forms.KeyPressEventHandler(this.RawTrafficText_KeyPress);
+ this.RawTrafficText.MouseUp += new
System.Windows.Forms.MouseEventHandler(this.RawTrafficText_MouseUp);
//
// RawTraffic
//
Modified: trunk/tools/reactosdbg/RosDBG/RawTraffic.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/RawTraffic…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/RawTraffic.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/RawTraffic.cs [iso-8859-1] Wed Aug 20 13:10:51 2008
@@ -15,6 +15,13 @@
{
DebugConnection mConnection;
List<string> textToAdd = new List<string>();
+ public event CanCopyChangedEventHandler CanCopyChangedEvent;
+
+ protected override void OnLoad(EventArgs e)
+ {
+ base.OnLoad(e);
+ ((MainWindow)this.ParentForm).CopyEvent += CopyEvent;
+ }
public void SetDebugConnection(DebugConnection conn)
{
@@ -43,6 +50,12 @@
Invoke(Delegate.CreateDelegate(typeof(NoParamsDelegate), this,
"UpdateText"));
}
+ void CopyEvent(object sender, CopyEventArgs args)
+ {
+ if (args.Obj == this)
+ Clipboard.SetText(RawTrafficText.SelectedText);
+ }
+
public RawTraffic()
{
InitializeComponent();
@@ -53,5 +66,11 @@
{
mConnection.Debugger.Write("" + e.KeyChar);
}
+
+ private void RawTrafficText_MouseUp(object sender, MouseEventArgs e)
+ {
+ if (CanCopyChangedEvent != null)
+ CanCopyChangedEvent(this, new
CanCopyChangedEventArgs(RawTrafficText.SelectionLength != 0));
+ }
}
}
Modified: trunk/tools/reactosdbg/RosDBG/ReactOSWeb.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/ReactOSWeb…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/ReactOSWeb.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/ReactOSWeb.cs [iso-8859-1] Wed Aug 20 13:10:51 2008
@@ -69,8 +69,7 @@
{
navForward.Enabled = BrowserView.CanGoForward;
}
-
-
+
private void AddressInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
Modified: trunk/tools/reactosdbg/RosDBG/SourceView.Designer.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/SourceView…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/SourceView.Designer.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/SourceView.Designer.cs [iso-8859-1] Wed Aug 20 13:10:51
2008
@@ -30,10 +30,10 @@
{
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(SourceView));
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
- this.SourceCode = new System.Windows.Forms.RichTextBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btnCopy = new System.Windows.Forms.ToolStripButton();
this.btnBreakpoint = new System.Windows.Forms.ToolStripButton();
+ this.SourceCode = new System.Windows.Forms.RichTextBox();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
@@ -58,17 +58,6 @@
this.splitContainer1.Size = new System.Drawing.Size(497, 308);
this.splitContainer1.SplitterDistance = 25;
this.splitContainer1.TabIndex = 2;
- //
- // SourceCode
- //
- this.SourceCode.Dock = System.Windows.Forms.DockStyle.Fill;
- this.SourceCode.Location = new System.Drawing.Point(0, 0);
- this.SourceCode.Name = "SourceCode";
- this.SourceCode.ReadOnly = true;
- this.SourceCode.Size = new System.Drawing.Size(497, 279);
- this.SourceCode.TabIndex = 3;
- this.SourceCode.Text = "";
- this.SourceCode.SelectionChanged += new
System.EventHandler(this.SourceCode_SelectionChanged);
//
// toolStrip1
//
@@ -102,6 +91,17 @@
this.btnBreakpoint.Size = new System.Drawing.Size(23, 22);
this.btnBreakpoint.ToolTipText = "Set Breakpoint";
//
+ // SourceCode
+ //
+ this.SourceCode.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.SourceCode.Location = new System.Drawing.Point(0, 0);
+ this.SourceCode.Name = "SourceCode";
+ this.SourceCode.ReadOnly = true;
+ this.SourceCode.Size = new System.Drawing.Size(497, 279);
+ this.SourceCode.TabIndex = 3;
+ this.SourceCode.Text = "";
+ this.SourceCode.SelectionChanged += new
System.EventHandler(this.SourceCode_SelectionChanged);
+ //
// SourceView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -123,9 +123,9 @@
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ToolStrip toolStrip1;
- private System.Windows.Forms.RichTextBox SourceCode;
private System.Windows.Forms.ToolStripButton btnCopy;
private System.Windows.Forms.ToolStripButton btnBreakpoint;
+ private System.Windows.Forms.RichTextBox SourceCode;
}
}
Modified: trunk/tools/reactosdbg/RosDBG/SourceView.cs
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/SourceView…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/SourceView.cs [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/SourceView.cs [iso-8859-1] Wed Aug 20 13:10:51 2008
@@ -10,9 +10,12 @@
namespace RosDBG
{
+
public partial class SourceView : UserControl
{
string mSourceFile;
+ public event CanCopyChangedEventHandler CanCopyChangedEvent;
+
public string SourceFile
{
get { return mSourceFile; }
@@ -27,6 +30,7 @@
{
base.OnLoad(e);
SourceCode.BackColor = Color.FromKnownColor(KnownColor.Window);
+ ((MainWindow)this.ParentForm).CopyEvent += CopyEvent;
}
public void ScrollTo(int line)
@@ -81,14 +85,25 @@
}
}
+ void CopyEvent(object sender, CopyEventArgs args)
+ {
+ if (args.Obj == this)
+ Clipboard.SetText(SourceCode.SelectedText);
+ }
+
private void SourceCode_SelectionChanged(object sender, EventArgs e)
{
btnCopy.Enabled = (SourceCode.SelectionLength > 0);
- }
+
+ if (CanCopyChangedEvent != null)
+ CanCopyChangedEvent(this, new CanCopyChangedEventArgs(btnCopy.Enabled));
+ }
private void btnCopy_Click(object sender, EventArgs e)
{
- Clipboard.SetText(SourceCode.SelectedText);
+ CopyEvent(this, new CopyEventArgs(this));
}
+
}
+
}
Modified: trunk/tools/reactosdbg/RosDBG/SourceView.resx
URL:
http://svn.reactos.org/svn/reactos/trunk/tools/reactosdbg/RosDBG/SourceView…
==============================================================================
--- trunk/tools/reactosdbg/RosDBG/SourceView.resx [iso-8859-1] (original)
+++ trunk/tools/reactosdbg/RosDBG/SourceView.resx [iso-8859-1] Wed Aug 20 13:10:51 2008
@@ -139,18 +139,18 @@
<data name="btnBreakpoint.Image" type="System.Drawing.Bitmap,
System.Drawing"
mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlNJREFUOE+10l9I
- U1EcB3Bfe/MhCHzqoYeKIpD+WJi0kolUuAos2EgykjGa5eya0839uc47zf2rrc1tbW5NclKsQRIKKj4E
- abFypW1amKvG1Mq5TMnyfrvXIJBs2kMHzsOPc36f3+F3fhkZ/2sNPuraccuhEfgcWkglF7f2BQKZ667V
- rCGO+N0Ubtspem5cTbdayHF/K4Vgu0O6LsTb0kDPT5Bgq2PKCI+NxMKEZjkODfYcWBNxmZVz9KSBSaB+
- ARY12Nhra4BNJ4PHri9KizhNdUyCHl6rCpg0wmWSg2Ygt0WFr29JWHXSnrSAUS1erui6LgWdMMLWdAVL
- DGhtJLAY06K+6lx0BeA2K+Uuswrsfhj0XKOIEiZRD7uhAovvmnBTI8Ti+0Y011zA/EQ9JKXHR34Dfp1u
- g9emQfI1yRyS6HApIRPy8CPehO72y0hF5ei/K8aXNwq03yhDKlILEZ8bXvECn51SS/iHMD2ixOyYDFYl
- DwsxCjNjaiRHZZiJSPE5QiAZlSIeEuH8idwnf/Sgzd5ILCPhSkw9K8fMKyVSo2rMRhT4OFyLxNBVJEKX
- EO06DcHRff2rNtFhkt9hkQ8DQsQHyzHFJH0arsH0i2rEHpfh+b0C9Dnz6DOFu3tXBQIBQ2ZVCZdkkaEH
- pxAK8OiXnSfp8P1jeOo/jAFfLrTi3G+Ss1zrX7+xrVmxkWmigkU6dPl0dwuH7nflodOcs1Rdmv298OB2
- EKX5WWnnQCHibqkrL64UFO0P5uzMWtizbRM4ezeP8AuynRXFnF1rjvK/XPgJ7YdwWhzybo4AAAAASUVO
- RK5CYII=
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlRJREFUOE+10l9I
+ U1EcB3Bfe/MhiHrqoYeKIorEiiVZtooKR4EFG8mKZImunN1sunm33a5X16ZbzXbbdLoxaYtqCkYYaOwh
+ yFUrFW3T/mk1/FPNP+XI8n67d0EgmdpDB87Dj3N+n9/hd34pKf9rhR62bah30jKvsxJqVcHaB4FA6pJr
+ mWhij7+Bged6BTf1Ws812qg3/kYGLT6nekmIm6W56UEKQnWMWuBmKSQG6WQcDrXvWBSpt5FfuJEaPoH5
+ BdQaIMQetgKsWQO3ozp7QaTOWs4nVMNj1wMjFrisWnA81FCrx9e3FOxmdfuCgMVQmKzouqIGN2wBazyP
+ WR60VxGYGaoERcijc4AGm07rsukh7HvN7ssMkcsnVsNRU4SZd0ZcoxWYeV8FU+lpTA9egkp+uO834Deb
+ l3lYGuMvKf6Qwk2XDhqFBD9iRtz3ncNkVIvgrUJMvSLhu5qHyUgZzkjF3XNe4HUwBpV0F8b6dJgY0MCu
+ kyAxxCA+YMB4vwbxiBqfIwTGo2rEwvk4JRE9/qMHTY4qIol0F2P0mRLxFzpM9hswESHxsbcMw10lGA6f
+ RbTtGGQH04PzNtFp1d4QkA+dCsRCSozySZ96SzHWcxFDj/Lw/PY+dDgzuOP7t3bMCwQCNakXcsWUgHS1
+ HsXTOxKup/UI1918CE/8u9HpFaGyQPRNdWKv/a/f2GQil/NNJAXEb8ri2thMLujKwF3bttkS+ebvB3au
+ B3Eya9WCc0Dmi9eUK3OKZdnbW9I3rkykrVuBzLTVfVLxlrqinMxNi47yv1z4CauDcDT2mV8JAAAAAElF
+ TkSuQmCC
</value>
</data>
</root>