[ros-diffs] [cwittich] 35483: add support for edit->copy menu

cwittich at svn.reactos.org cwittich at svn.reactos.org
Wed Aug 20 20:10:51 CEST 2008


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.Designer.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.Designer.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.Designer.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.cs?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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.resx?rev=35483&r1=35482&r2=35483&view=diff
==============================================================================
--- 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>



More information about the Ros-diffs mailing list