瀏覽代碼

v1.0.0.10

jungervin 7 年之前
父節點
當前提交
d6229861c0

+ 1 - 1
EsPy/Components/Terminal.cs

@@ -383,7 +383,7 @@ namespace EsPy.Components
                             this.Port.LeaveRawMode();
                             return true;
 
-                        case Keys.Control | Keys.C:
+                        case Keys.Control | Keys.I:
                             //this.Port.Write(new byte[] { 3 });
                             this.Port.Interrupt();
                             return true;

+ 1 - 0
EsPy/EsPy.csproj

@@ -304,6 +304,7 @@
     <None Include="Resources\sdcard.png" />
     <None Include="Resources\USB.png" />
     <None Include="Resources\filemanager.png" />
+    <None Include="Resources\pause.png" />
     <Content Include="Tools\webrepl\.gitignore">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>

+ 215 - 180
EsPy/Forms/EditorForm.Designer.cs

@@ -32,15 +32,9 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditorForm));
             this.menuStrip1 = new System.Windows.Forms.MenuStrip();
             this.FileMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnSave = new System.Windows.Forms.ToolStripMenuItem();
             this.mnSaveAs = new System.Windows.Forms.ToolStripMenuItem();
             this.mnEdit = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnUndo = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnRedo = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
-            this.mnCut = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnCopy = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnPaste = new System.Windows.Forms.ToolStripMenuItem();
             this.mnDelete = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
             this.mnSelectAll = new System.Windows.Forms.ToolStripMenuItem();
@@ -57,15 +51,8 @@
             this.mnShowWhitespace = new System.Windows.Forms.ToolStripMenuItem();
             this.deviceToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
-            this.mnRun = new System.Windows.Forms.ToolStripMenuItem();
-            this.mnUpload = new System.Windows.Forms.ToolStripMenuItem();
             this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
-            this.cmUndo = new System.Windows.Forms.ToolStripMenuItem();
-            this.cmRedo = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
-            this.cmCut = new System.Windows.Forms.ToolStripMenuItem();
-            this.cmCopy = new System.Windows.Forms.ToolStripMenuItem();
-            this.cmPaste = new System.Windows.Forms.ToolStripMenuItem();
             this.cmDelete = new System.Windows.Forms.ToolStripMenuItem();
             this.cmSelectAll = new System.Windows.Forms.ToolStripMenuItem();
             this.cmFind = new System.Windows.Forms.ToolStripMenuItem();
@@ -80,16 +67,32 @@
             this.cmShowWhitespace = new System.Windows.Forms.ToolStripMenuItem();
             this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
             this.toolStrip1 = new System.Windows.Forms.ToolStrip();
-            this.btnSave = new System.Windows.Forms.ToolStripButton();
             this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+            this.cmUndo = new System.Windows.Forms.ToolStripMenuItem();
+            this.cmRedo = new System.Windows.Forms.ToolStripMenuItem();
+            this.cmCut = new System.Windows.Forms.ToolStripMenuItem();
+            this.cmCopy = new System.Windows.Forms.ToolStripMenuItem();
+            this.cmPaste = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnSave = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnUndo = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnRedo = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnCut = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnCopy = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnPaste = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnRun = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnInterrupt = new System.Windows.Forms.ToolStripMenuItem();
+            this.mnUpload = new System.Windows.Forms.ToolStripMenuItem();
+            this.btnSave = new System.Windows.Forms.ToolStripButton();
             this.btnUndo = new System.Windows.Forms.ToolStripButton();
             this.btnRedo = new System.Windows.Forms.ToolStripButton();
-            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
             this.btnCut = new System.Windows.Forms.ToolStripButton();
             this.btnCopy = new System.Windows.Forms.ToolStripButton();
             this.btnPaste = new System.Windows.Forms.ToolStripButton();
             this.btnRun = new System.Windows.Forms.ToolStripButton();
             this.btnUpload = new System.Windows.Forms.ToolStripButton();
+            this.btnPause = new System.Windows.Forms.ToolStripButton();
+            this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
             this.scintilla = new EsPy.Components.ExScintilla();
             this.menuStrip1.SuspendLayout();
             this.contextMenuStrip1.SuspendLayout();
@@ -121,18 +124,6 @@
             this.FileMenuItem.Size = new System.Drawing.Size(37, 20);
             this.FileMenuItem.Text = "&File";
             // 
-            // mnSave
-            // 
-            this.mnSave.Enabled = false;
-            this.mnSave.Image = ((System.Drawing.Image)(resources.GetObject("mnSave.Image")));
-            this.mnSave.MergeAction = System.Windows.Forms.MergeAction.Replace;
-            this.mnSave.MergeIndex = 3;
-            this.mnSave.Name = "mnSave";
-            this.mnSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
-            this.mnSave.Size = new System.Drawing.Size(138, 22);
-            this.mnSave.Text = "Save";
-            this.mnSave.Click += new System.EventHandler(this.mnSave_Click);
-            // 
             // mnSaveAs
             // 
             this.mnSaveAs.MergeAction = System.Windows.Forms.MergeAction.Replace;
@@ -167,28 +158,6 @@
             this.mnEdit.Size = new System.Drawing.Size(39, 20);
             this.mnEdit.Text = "&Edit";
             // 
-            // mnUndo
-            // 
-            this.mnUndo.Image = ((System.Drawing.Image)(resources.GetObject("mnUndo.Image")));
-            this.mnUndo.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnUndo.MergeIndex = 0;
-            this.mnUndo.Name = "mnUndo";
-            this.mnUndo.ShortcutKeyDisplayString = "Ctrl+Z";
-            this.mnUndo.Size = new System.Drawing.Size(183, 22);
-            this.mnUndo.Text = "Undo";
-            this.mnUndo.Click += new System.EventHandler(this.mnUndo_Click);
-            // 
-            // mnRedo
-            // 
-            this.mnRedo.Image = ((System.Drawing.Image)(resources.GetObject("mnRedo.Image")));
-            this.mnRedo.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnRedo.MergeIndex = 1;
-            this.mnRedo.Name = "mnRedo";
-            this.mnRedo.ShortcutKeyDisplayString = "Ctrl+Y";
-            this.mnRedo.Size = new System.Drawing.Size(183, 22);
-            this.mnRedo.Text = "Redo";
-            this.mnRedo.Click += new System.EventHandler(this.mnRedo_Click);
-            // 
             // toolStripMenuItem2
             // 
             this.toolStripMenuItem2.MergeAction = System.Windows.Forms.MergeAction.Insert;
@@ -196,39 +165,6 @@
             this.toolStripMenuItem2.Name = "toolStripMenuItem2";
             this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 6);
             // 
-            // mnCut
-            // 
-            this.mnCut.Image = ((System.Drawing.Image)(resources.GetObject("mnCut.Image")));
-            this.mnCut.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnCut.MergeIndex = 3;
-            this.mnCut.Name = "mnCut";
-            this.mnCut.ShortcutKeyDisplayString = "Ctrl+X";
-            this.mnCut.Size = new System.Drawing.Size(183, 22);
-            this.mnCut.Text = "Cut";
-            this.mnCut.Click += new System.EventHandler(this.mnCut_Click);
-            // 
-            // mnCopy
-            // 
-            this.mnCopy.Image = ((System.Drawing.Image)(resources.GetObject("mnCopy.Image")));
-            this.mnCopy.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnCopy.MergeIndex = 4;
-            this.mnCopy.Name = "mnCopy";
-            this.mnCopy.ShortcutKeyDisplayString = "Ctrl+C";
-            this.mnCopy.Size = new System.Drawing.Size(183, 22);
-            this.mnCopy.Text = "Copy";
-            this.mnCopy.Click += new System.EventHandler(this.mnCopy_Click);
-            // 
-            // mnPaste
-            // 
-            this.mnPaste.Image = ((System.Drawing.Image)(resources.GetObject("mnPaste.Image")));
-            this.mnPaste.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnPaste.MergeIndex = 5;
-            this.mnPaste.Name = "mnPaste";
-            this.mnPaste.ShortcutKeyDisplayString = "Ctrl+V";
-            this.mnPaste.Size = new System.Drawing.Size(183, 22);
-            this.mnPaste.Text = "Paste";
-            this.mnPaste.Click += new System.EventHandler(this.mnPaste_Click);
-            // 
             // mnDelete
             // 
             this.mnDelete.MergeAction = System.Windows.Forms.MergeAction.Insert;
@@ -358,6 +294,7 @@
             this.deviceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.toolStripMenuItem10,
             this.mnRun,
+            this.mnInterrupt,
             this.mnUpload});
             this.deviceToolStripMenuItem.MergeAction = System.Windows.Forms.MergeAction.MatchOnly;
             this.deviceToolStripMenuItem.Name = "deviceToolStripMenuItem";
@@ -369,29 +306,7 @@
             this.toolStripMenuItem10.MergeAction = System.Windows.Forms.MergeAction.Insert;
             this.toolStripMenuItem10.MergeIndex = 2;
             this.toolStripMenuItem10.Name = "toolStripMenuItem10";
-            this.toolStripMenuItem10.Size = new System.Drawing.Size(151, 6);
-            // 
-            // mnRun
-            // 
-            this.mnRun.Image = global::EsPy.Properties.Resources.play1;
-            this.mnRun.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnRun.MergeIndex = 3;
-            this.mnRun.Name = "mnRun";
-            this.mnRun.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
-            this.mnRun.Size = new System.Drawing.Size(154, 22);
-            this.mnRun.Text = "Run";
-            this.mnRun.Click += new System.EventHandler(this.btnRun_Click);
-            // 
-            // mnUpload
-            // 
-            this.mnUpload.Image = global::EsPy.Properties.Resources.upload1;
-            this.mnUpload.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.mnUpload.MergeIndex = 4;
-            this.mnUpload.Name = "mnUpload";
-            this.mnUpload.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
-            this.mnUpload.Size = new System.Drawing.Size(154, 22);
-            this.mnUpload.Text = "Upload";
-            this.mnUpload.Click += new System.EventHandler(this.btnUpload_Click);
+            this.toolStripMenuItem10.Size = new System.Drawing.Size(244, 6);
             // 
             // contextMenuStrip1
             // 
@@ -417,30 +332,6 @@
             this.contextMenuStrip1.Name = "contextMenuStrip1";
             this.contextMenuStrip1.Size = new System.Drawing.Size(184, 336);
             // 
-            // cmUndo
-            // 
-            this.cmUndo.Enabled = false;
-            this.cmUndo.Image = ((System.Drawing.Image)(resources.GetObject("cmUndo.Image")));
-            this.cmUndo.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.cmUndo.MergeIndex = 0;
-            this.cmUndo.Name = "cmUndo";
-            this.cmUndo.ShortcutKeyDisplayString = "Ctrl+Z";
-            this.cmUndo.Size = new System.Drawing.Size(183, 22);
-            this.cmUndo.Text = "Undo";
-            this.cmUndo.Click += new System.EventHandler(this.mnUndo_Click);
-            // 
-            // cmRedo
-            // 
-            this.cmRedo.Enabled = false;
-            this.cmRedo.Image = ((System.Drawing.Image)(resources.GetObject("cmRedo.Image")));
-            this.cmRedo.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.cmRedo.MergeIndex = 1;
-            this.cmRedo.Name = "cmRedo";
-            this.cmRedo.ShortcutKeyDisplayString = "Ctrl+Y";
-            this.cmRedo.Size = new System.Drawing.Size(183, 22);
-            this.cmRedo.Text = "Redo";
-            this.cmRedo.Click += new System.EventHandler(this.mnRedo_Click);
-            // 
             // toolStripSeparator4
             // 
             this.toolStripSeparator4.MergeAction = System.Windows.Forms.MergeAction.Insert;
@@ -448,42 +339,6 @@
             this.toolStripSeparator4.Name = "toolStripSeparator4";
             this.toolStripSeparator4.Size = new System.Drawing.Size(180, 6);
             // 
-            // cmCut
-            // 
-            this.cmCut.Enabled = false;
-            this.cmCut.Image = ((System.Drawing.Image)(resources.GetObject("cmCut.Image")));
-            this.cmCut.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.cmCut.MergeIndex = 3;
-            this.cmCut.Name = "cmCut";
-            this.cmCut.ShortcutKeyDisplayString = "Ctrl+X";
-            this.cmCut.Size = new System.Drawing.Size(183, 22);
-            this.cmCut.Text = "Cut";
-            this.cmCut.Click += new System.EventHandler(this.mnCut_Click);
-            // 
-            // cmCopy
-            // 
-            this.cmCopy.Enabled = false;
-            this.cmCopy.Image = ((System.Drawing.Image)(resources.GetObject("cmCopy.Image")));
-            this.cmCopy.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.cmCopy.MergeIndex = 4;
-            this.cmCopy.Name = "cmCopy";
-            this.cmCopy.ShortcutKeyDisplayString = "Ctrl+C";
-            this.cmCopy.Size = new System.Drawing.Size(183, 22);
-            this.cmCopy.Text = "Copy";
-            this.cmCopy.Click += new System.EventHandler(this.mnCopy_Click);
-            // 
-            // cmPaste
-            // 
-            this.cmPaste.Enabled = false;
-            this.cmPaste.Image = ((System.Drawing.Image)(resources.GetObject("cmPaste.Image")));
-            this.cmPaste.MergeAction = System.Windows.Forms.MergeAction.Insert;
-            this.cmPaste.MergeIndex = 5;
-            this.cmPaste.Name = "cmPaste";
-            this.cmPaste.ShortcutKeyDisplayString = "Ctrl+V";
-            this.cmPaste.Size = new System.Drawing.Size(183, 22);
-            this.cmPaste.Text = "Paste";
-            this.cmPaste.Click += new System.EventHandler(this.mnPaste_Click);
-            // 
             // cmDelete
             // 
             this.cmDelete.Enabled = false;
@@ -613,6 +468,8 @@
             this.btnPaste,
             this.toolStripSeparator3,
             this.btnRun,
+            this.btnPause,
+            this.toolStripSeparator5,
             this.btnUpload});
             this.toolStrip1.Location = new System.Drawing.Point(0, 0);
             this.toolStrip1.Name = "toolStrip1";
@@ -621,6 +478,178 @@
             this.toolStrip1.Text = "toolStrip1";
             this.toolStrip1.Visible = false;
             // 
+            // toolStripSeparator1
+            // 
+            this.toolStripSeparator1.Name = "toolStripSeparator1";
+            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 39);
+            this.toolStripSeparator1.Visible = false;
+            // 
+            // toolStripSeparator2
+            // 
+            this.toolStripSeparator2.Name = "toolStripSeparator2";
+            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 39);
+            this.toolStripSeparator2.Visible = false;
+            // 
+            // cmUndo
+            // 
+            this.cmUndo.Enabled = false;
+            this.cmUndo.Image = ((System.Drawing.Image)(resources.GetObject("cmUndo.Image")));
+            this.cmUndo.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.cmUndo.MergeIndex = 0;
+            this.cmUndo.Name = "cmUndo";
+            this.cmUndo.ShortcutKeyDisplayString = "Ctrl+Z";
+            this.cmUndo.Size = new System.Drawing.Size(183, 22);
+            this.cmUndo.Text = "Undo";
+            this.cmUndo.Click += new System.EventHandler(this.mnUndo_Click);
+            // 
+            // cmRedo
+            // 
+            this.cmRedo.Enabled = false;
+            this.cmRedo.Image = ((System.Drawing.Image)(resources.GetObject("cmRedo.Image")));
+            this.cmRedo.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.cmRedo.MergeIndex = 1;
+            this.cmRedo.Name = "cmRedo";
+            this.cmRedo.ShortcutKeyDisplayString = "Ctrl+Y";
+            this.cmRedo.Size = new System.Drawing.Size(183, 22);
+            this.cmRedo.Text = "Redo";
+            this.cmRedo.Click += new System.EventHandler(this.mnRedo_Click);
+            // 
+            // cmCut
+            // 
+            this.cmCut.Enabled = false;
+            this.cmCut.Image = ((System.Drawing.Image)(resources.GetObject("cmCut.Image")));
+            this.cmCut.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.cmCut.MergeIndex = 3;
+            this.cmCut.Name = "cmCut";
+            this.cmCut.ShortcutKeyDisplayString = "Ctrl+X";
+            this.cmCut.Size = new System.Drawing.Size(183, 22);
+            this.cmCut.Text = "Cut";
+            this.cmCut.Click += new System.EventHandler(this.mnCut_Click);
+            // 
+            // cmCopy
+            // 
+            this.cmCopy.Enabled = false;
+            this.cmCopy.Image = ((System.Drawing.Image)(resources.GetObject("cmCopy.Image")));
+            this.cmCopy.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.cmCopy.MergeIndex = 4;
+            this.cmCopy.Name = "cmCopy";
+            this.cmCopy.ShortcutKeyDisplayString = "Ctrl+C";
+            this.cmCopy.Size = new System.Drawing.Size(183, 22);
+            this.cmCopy.Text = "Copy";
+            this.cmCopy.Click += new System.EventHandler(this.mnCopy_Click);
+            // 
+            // cmPaste
+            // 
+            this.cmPaste.Enabled = false;
+            this.cmPaste.Image = ((System.Drawing.Image)(resources.GetObject("cmPaste.Image")));
+            this.cmPaste.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.cmPaste.MergeIndex = 5;
+            this.cmPaste.Name = "cmPaste";
+            this.cmPaste.ShortcutKeyDisplayString = "Ctrl+V";
+            this.cmPaste.Size = new System.Drawing.Size(183, 22);
+            this.cmPaste.Text = "Paste";
+            this.cmPaste.Click += new System.EventHandler(this.mnPaste_Click);
+            // 
+            // mnSave
+            // 
+            this.mnSave.Enabled = false;
+            this.mnSave.Image = ((System.Drawing.Image)(resources.GetObject("mnSave.Image")));
+            this.mnSave.MergeAction = System.Windows.Forms.MergeAction.Replace;
+            this.mnSave.MergeIndex = 3;
+            this.mnSave.Name = "mnSave";
+            this.mnSave.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
+            this.mnSave.Size = new System.Drawing.Size(138, 22);
+            this.mnSave.Text = "Save";
+            this.mnSave.Click += new System.EventHandler(this.mnSave_Click);
+            // 
+            // mnUndo
+            // 
+            this.mnUndo.Image = ((System.Drawing.Image)(resources.GetObject("mnUndo.Image")));
+            this.mnUndo.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnUndo.MergeIndex = 0;
+            this.mnUndo.Name = "mnUndo";
+            this.mnUndo.ShortcutKeyDisplayString = "Ctrl+Z";
+            this.mnUndo.Size = new System.Drawing.Size(183, 22);
+            this.mnUndo.Text = "Undo";
+            this.mnUndo.Click += new System.EventHandler(this.mnUndo_Click);
+            // 
+            // mnRedo
+            // 
+            this.mnRedo.Image = ((System.Drawing.Image)(resources.GetObject("mnRedo.Image")));
+            this.mnRedo.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnRedo.MergeIndex = 1;
+            this.mnRedo.Name = "mnRedo";
+            this.mnRedo.ShortcutKeyDisplayString = "Ctrl+Y";
+            this.mnRedo.Size = new System.Drawing.Size(183, 22);
+            this.mnRedo.Text = "Redo";
+            this.mnRedo.Click += new System.EventHandler(this.mnRedo_Click);
+            // 
+            // mnCut
+            // 
+            this.mnCut.Image = ((System.Drawing.Image)(resources.GetObject("mnCut.Image")));
+            this.mnCut.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnCut.MergeIndex = 3;
+            this.mnCut.Name = "mnCut";
+            this.mnCut.ShortcutKeyDisplayString = "Ctrl+X";
+            this.mnCut.Size = new System.Drawing.Size(183, 22);
+            this.mnCut.Text = "Cut";
+            this.mnCut.Click += new System.EventHandler(this.mnCut_Click);
+            // 
+            // mnCopy
+            // 
+            this.mnCopy.Image = ((System.Drawing.Image)(resources.GetObject("mnCopy.Image")));
+            this.mnCopy.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnCopy.MergeIndex = 4;
+            this.mnCopy.Name = "mnCopy";
+            this.mnCopy.ShortcutKeyDisplayString = "Ctrl+C";
+            this.mnCopy.Size = new System.Drawing.Size(183, 22);
+            this.mnCopy.Text = "Copy";
+            this.mnCopy.Click += new System.EventHandler(this.mnCopy_Click);
+            // 
+            // mnPaste
+            // 
+            this.mnPaste.Image = ((System.Drawing.Image)(resources.GetObject("mnPaste.Image")));
+            this.mnPaste.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnPaste.MergeIndex = 5;
+            this.mnPaste.Name = "mnPaste";
+            this.mnPaste.ShortcutKeyDisplayString = "Ctrl+V";
+            this.mnPaste.Size = new System.Drawing.Size(183, 22);
+            this.mnPaste.Text = "Paste";
+            this.mnPaste.Click += new System.EventHandler(this.mnPaste_Click);
+            // 
+            // mnRun
+            // 
+            this.mnRun.Image = global::EsPy.Properties.Resources.play1;
+            this.mnRun.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnRun.MergeIndex = 3;
+            this.mnRun.Name = "mnRun";
+            this.mnRun.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
+            this.mnRun.Size = new System.Drawing.Size(247, 22);
+            this.mnRun.Text = "Run";
+            this.mnRun.Click += new System.EventHandler(this.btnRun_Click);
+            // 
+            // mnInterrupt
+            // 
+            this.mnInterrupt.Image = global::EsPy.Properties.Resources.pause;
+            this.mnInterrupt.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnInterrupt.MergeIndex = 4;
+            this.mnInterrupt.Name = "mnInterrupt";
+            this.mnInterrupt.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
+            this.mnInterrupt.Size = new System.Drawing.Size(247, 22);
+            this.mnInterrupt.Text = "Interrupt current program";
+            this.mnInterrupt.Click += new System.EventHandler(this.mnInterrupt_Click);
+            // 
+            // mnUpload
+            // 
+            this.mnUpload.Image = global::EsPy.Properties.Resources.upload1;
+            this.mnUpload.MergeAction = System.Windows.Forms.MergeAction.Insert;
+            this.mnUpload.MergeIndex = 5;
+            this.mnUpload.Name = "mnUpload";
+            this.mnUpload.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.U)));
+            this.mnUpload.Size = new System.Drawing.Size(247, 22);
+            this.mnUpload.Text = "Upload";
+            this.mnUpload.Click += new System.EventHandler(this.btnUpload_Click);
+            // 
             // btnSave
             // 
             this.btnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -633,12 +662,6 @@
             this.btnSave.Text = "Save";
             this.btnSave.Click += new System.EventHandler(this.mnSave_Click);
             // 
-            // toolStripSeparator1
-            // 
-            this.toolStripSeparator1.Name = "toolStripSeparator1";
-            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 39);
-            this.toolStripSeparator1.Visible = false;
-            // 
             // btnUndo
             // 
             this.btnUndo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -663,12 +686,6 @@
             this.btnRedo.Text = "Redo";
             this.btnRedo.Click += new System.EventHandler(this.mnRedo_Click);
             // 
-            // toolStripSeparator2
-            // 
-            this.toolStripSeparator2.Name = "toolStripSeparator2";
-            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 39);
-            this.toolStripSeparator2.Visible = false;
-            // 
             // btnCut
             // 
             this.btnCut.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -713,7 +730,7 @@
             this.btnRun.ImageTransparentColor = System.Drawing.Color.Magenta;
             this.btnRun.Name = "btnRun";
             this.btnRun.Size = new System.Drawing.Size(36, 36);
-            this.btnRun.Text = "Run";
+            this.btnRun.Text = "Run (Ctrl+R)";
             this.btnRun.ToolTipText = "Run";
             this.btnRun.Click += new System.EventHandler(this.btnRun_Click);
             // 
@@ -729,6 +746,21 @@
             this.btnUpload.ToolTipText = "Upload to the current directory";
             this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click);
             // 
+            // btnPause
+            // 
+            this.btnPause.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
+            this.btnPause.Image = global::EsPy.Properties.Resources.pause;
+            this.btnPause.ImageTransparentColor = System.Drawing.Color.Magenta;
+            this.btnPause.Name = "btnPause";
+            this.btnPause.Size = new System.Drawing.Size(36, 36);
+            this.btnPause.Text = "Interrupt (Ctrl+I)";
+            this.btnPause.Click += new System.EventHandler(this.mnInterrupt_Click);
+            // 
+            // toolStripSeparator5
+            // 
+            this.toolStripSeparator5.Name = "toolStripSeparator5";
+            this.toolStripSeparator5.Size = new System.Drawing.Size(6, 39);
+            // 
             // scintilla
             // 
             this.scintilla.AutoCAutoHide = false;
@@ -743,10 +775,10 @@
             this.scintilla.IndentationGuides = ScintillaNET.IndentView.LookBoth;
             this.scintilla.IndentWidth = 4;
             this.scintilla.Lexer = ScintillaNET.Lexer.Html;
-            this.scintilla.Location = new System.Drawing.Point(0, 39);
+            this.scintilla.Location = new System.Drawing.Point(0, 24);
             this.scintilla.MouseDwellTime = 500;
             this.scintilla.Name = "scintilla";
-            this.scintilla.Size = new System.Drawing.Size(636, 223);
+            this.scintilla.Size = new System.Drawing.Size(636, 238);
             this.scintilla.TabIndex = 2;
             this.scintilla.SavePointLeft += new System.EventHandler<System.EventArgs>(this.scintilla_SavePointLeft);
             this.scintilla.SavePointReached += new System.EventHandler<System.EventArgs>(this.scintilla_SavePointReached);
@@ -837,5 +869,8 @@
         private System.Windows.Forms.ToolStripMenuItem mnRun;
         private System.Windows.Forms.ToolStripMenuItem mnUpload;
         private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
+        private System.Windows.Forms.ToolStripMenuItem mnInterrupt;
+        private System.Windows.Forms.ToolStripButton btnPause;
+        private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
     }
 }

+ 11 - 3
EsPy/Forms/EditorForm.cs

@@ -649,6 +649,14 @@ namespace EsPy.Forms
             }
         }
 
+        private void mnInterrupt_Click(object sender, EventArgs e)
+        {
+            if (this.Port != null)
+            {
+                this.Port.Interrupt();
+            }
+        }
+
 
         //private Line CurrentLine
         //{ get { return this.scintilla.Lines[this.scintilla.CurrentLine]; } }
@@ -704,7 +712,7 @@ namespace EsPy.Forms
 
         //public void ShowCompletions(List<BaseDefinition> list, Words words)
         //{
-            
+
         //    //if (this.CompletionForm != null)
         //    //{
         //    //    this.CompletionForm.Dispose();
@@ -752,7 +760,7 @@ namespace EsPy.Forms
 
         //            switch (key)
         //            {
-                        
+
         //                case Keys.Up:
         //                    if (this.CompletionForm.Visible)
         //                    {
@@ -792,7 +800,7 @@ namespace EsPy.Forms
         //    return base.ProcessCmdKey(ref msg, key);
         //}
 
-               
+
 
         //private void Completions(string pattern)
         //{

+ 208 - 208
EsPy/Forms/EditorForm.resx

@@ -120,36 +120,182 @@
   <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
+  <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>237, 17</value>
+  </metadata>
+  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>132, 17</value>
+  </metadata>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="mnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         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
-        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
+        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
 </value>
   </data>
-  <data name="mnUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        RK5CYII=
+</value>
+  </data>
+  <data name="btnRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="btnCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="btnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHHSURBVFhHxZY9asNAEEbdpEyKBFIlZarkACFX8CVc6C4q
+        3fkGBjfGWGC3KexCTQqFgAIp3BtjcOV/bebbZMWyUuKdkcAfPAyLNPM0HpAadsbjsZIQRdF7EAR3VOLi
+        p5IwKMbNfD5Xk8lEDQaDtNlsPlAZuYREYL/fqzRNtUS/3/+sJCERQDCF1WpVXaJMAGdxHLOYTqfYi49W
+        q3VPZf1F/hLgRrwXdQmI96IuAUS0F26z17cvscByudS/LIk6J4DGi8VCzWYzlSRJLkFtbolyiToF7KzX
+        ay2DWtTmibjUDd24zar8BWUZjUYQeCaudUM3PhOAFAc7nU4HAi/EjW7oxkegSsIw9BPIskyDJzirAHAF
+        3BGfwo63wPF4zDnLBExzPMFZBA6HQ445s/eCg7kP8RbAy8TgCkhB2AJ4AnNm7wUXtsBut8txBdwRn0Ik
+        sNlscsyZvRdcIIF4C+DlYTBn9l5wgQTiLWDHFSgb83+wBIbDoer1eqrb7eYYAXsvuEACOSlAuSIeCVyk
+        MQL2XnCBBOIjgC8VSOACjRHYbrdiOBMopGwvpBEJYC/a7ba+uQ6oJE+AUtiLiqAWanqnsBcVQa3fr+JG
+        4xs1dfbZaqs65wAAAABJRU5ErkJggg==
+</value>
+  </data>
+  <data name="btnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="cmUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAUMSURBVFhH7VV7UFRlFD+EWghLCgEZSGxmavmeMZ0iix72
@@ -177,7 +323,7 @@
         +wrSc2wWtwAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="mnRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="cmRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAYjSURBVFhH7VZ3UNRHGF2xVxSxAbEQNUYCggVjg1hOiRhU
@@ -209,7 +355,7 @@
         6TZIYtLZoDISKfHLSGPN91q6jq9ccWtAkyVKxl5FaW8lvgGM/QWioO/KcbNlcgAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="mnCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="cmCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAcZSURBVFhHtVdtTFNnFL5SaEspbSkUyqBQEShTGE7RadRl
@@ -246,7 +392,7 @@
         rkJggg==
 </value>
   </data>
-  <data name="mnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="cmCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAHHSURBVFhHxZY9asNAEEbdpEyKBFIlZarkACFX8CVc6C4q
@@ -260,7 +406,7 @@
         4xs1dfbZaqs65wAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="mnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="cmPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAWtSURBVFhHrZdrTJNXGMf5sC27JIvbRObmlklBXbIs2Yft
@@ -290,10 +436,35 @@
         3xh0Rfp90OXtXwYWUNZ7xGsc7D5eIF61/Rjw5nNmGcGhLxL2ERDwH08YkhcPOnhVAAAAAElFTkSuQmCC
 </value>
   </data>
-  <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>237, 17</value>
-  </metadata>
-  <data name="cmUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="mnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="mnUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAUMSURBVFhH7VV7UFRlFD+EWghLCgEZSGxmavmeMZ0iix72
@@ -321,7 +492,7 @@
         +wrSc2wWtwAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="cmRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="mnRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAYjSURBVFhH7VZ3UNRHGF2xVxSxAbEQNUYCggVjg1hOiRhU
@@ -353,7 +524,7 @@
         6TZIYtLZoDISKfHLSGPN91q6jq9ccWtAkyVKxl5FaW8lvgGM/QWioO/KcbNlcgAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="cmCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="mnCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAcZSURBVFhHtVdtTFNnFL5SaEspbSkUyqBQEShTGE7RadRl
@@ -390,7 +561,7 @@
         rkJggg==
 </value>
   </data>
-  <data name="cmCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="mnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAHHSURBVFhHxZY9asNAEEbdpEyKBFIlZarkACFX8CVc6C4q
@@ -404,7 +575,7 @@
         4xs1dfbZaqs65wAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="cmPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="mnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
         YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAWtSURBVFhHrZdrTJNXGMf5sC27JIvbRObmlklBXbIs2Yft
@@ -432,177 +603,6 @@
         zolFgTIBKgpTL4Hav+cTIWCiJ+G29W/spMxXbNG28VbY+mV7y/es/ve0/WnI8H8z9YxUQs8HOlIzCXSw
         JPhuYWpo0/LGNdHe8QXPzd/5/sJ3n76+mzKDbNG28TLxbsQ3y7XJYUGXM8NXdsjDgq4Kfgi6muiC9BmJ
         3xh0Rfp90OXtXwYWUNZ7xGsc7D5eIF61/Rjw5nNmGcGhLxL2ERDwH08YkhcPOnhVAAAAAElFTkSuQmCC
-</value>
-  </data>
-  <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>132, 17</value>
-  </metadata>
-  <data name="btnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAUqSURBVFhH7ZdrTJNXGMfZll1i4pYsmpmZzDm2L/uyxF1V
-        dv0yFGO2MK5yR64V0SUzYLZx1bIirrq5qVyVKQiiOBn3Am25tJQWKBSlwhjXcpOZzE0jhv+ec16oraiv
-        W/mwDzvJLznt2/Oc33nOc86bOv3fbNvLW2X717hJZ1/cLAXD4Oe0ZCzEXLNZOuvsJkuZn9K+rXFLmy1t
-        HoCiYxTFSjNung3GzUIfx6E4sgIdjlwwQnpaB7bI+SntGzOs7xyDf3oDXL8owfWE5fgz3slhWByXqFPY
-        FPcz5CUdPBPzU9o3LmC08B+4RJzA0NAAZmamHYbFeT0ok8eVnxURaCABeakJ68Ny+cBr12YchsVZF3AM
-        Sfk6HBQTUHaNI0TeiA3zAn5BgahWlP9r2HiegYDj2PpVOTKKxQS6x7H9cBM2hgsC16//4TBcIDATnyRU
-        4EBx+4MFVN0TCP+umQTy+MAbN/5yGBbnDaqBTxMrkV4kIqA2TSDiSIu1CP2Cg+6Z2oeFjWdx3iQB9+Qq
-        yIpEtoAJRP2oxbuRgsDt27MOwwWCs+CRWoNvzohkoLFnEpKjrVaBubk5h2Fx3grJgue+WqSJCahJYMdx
-        Hd6LOskHLtUWvB2SDW+pAlIxAZVpEjsz2/B+tCBwrxX9U7hAaDZ80+qwv0BEQEmnYFe2ngTyl1Tgne05
-        2Carx75Csau4awK7cwz4KOYUH7hUrKd7hb1jUsUEFMZxLuC9rwofksQHknwOy4jASV4fDFaoC7gw6Ohu
-        jMjjd4hALjZw8rB17wUEZqiQWiAiUNMpCNzNrmwDYrP02JnVxmskhgp1x7FWfmKi6diyoxv5g4bfIeHf
-        tyCMLjN2o4YeauJXe4hcjeBv1eICVe0Wu4lD4w/C09sDHl7uD42njyfcJanYtKcEbnHnaPWl8JHWcpEU
-        sS2oNIzZCXj6eKBV3wRz/yUMDPZheHQQlolRTF+dxO/0ppuemcLE1Dgs46MYHhlE369mdBoN8PL1Qgxl
-        Z+dxLWKOtcAjqZxnJFksA+V6ewG2or6BXpRVlyA6VgK/AF9O7Oe70Ws2wdjdDp2hBY0aJRTKaqIKV/p7
-        +TgJbUs0bcueXD1899fwd0xSQeeDBcraRhcJDAz1oUJxgffdU6rxGd3prG80sck1fPI6mryytgwNjQqY
-        +y4LAlQj0Ue1+PKnDvjL6hB5RIOk0/cXeII9uKhbLDA0MoA6dSXvBxxQcljf0NGKllY1GtS1qFL8wjPQ
-        pFFZBYRC1SHlTBcC0ut4oSbeycByYVqhPUKsYA9KtSOLBEbGhtCoref9CFpFJFU662vbmqFqrkNNfSVR
-        AXVzPdWLBlf6hC2InT8xsnMmBGXU8xOTeCcDzxNPsclZe5JYzR6c1wwjsbDLToAVna5dmNT2+ybb1KsV
-        0Oia0GHUW2tg4ejKL16mI6jkGbHJwEvE02xy1rjAC27SyS17i24VqAaRMC/BAk1MWWi/DYiQRMLXfxt8
-        iOCw4EWp19OWmC51ocvUYSd7uKwXoXIVv0MSCo0LAs6EVYBvwbIVzuucXVPNW+KLbhWqB3Fa9ZsgMGnB
-        1atTmJqepKM2RCs041JvD63WAB2lvM2ghb5dxz/r29vQ2Kzi42Tne5B2rgc5tf2Iz9MhmWoh7oSe/hek
-        sf8FqwnrFrDGsrBq2cpXXlv7cUo/s2SwQF6+3lY8bfHxsvbv/g0btxDDlrWvJtxe6/r1IZrLunrb9jjx
-        DLGSWEWwQllKniOeJexWfr/2KPHYEvNfa05OfwMlEmnGzzX1pQAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnUndo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        RK5CYII=
-</value>
-  </data>
-  <data name="btnRedo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <data name="btnCut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAcOSURBVFhHtVdtTJtVFH5HoaUftKXQQgelrAM6NyZzY9Nl
-        zjiNMdGZqInGGH8Yf/hrif7wl5pVHWzhU9jYRoGW8V1gjskoMGTrYCBM6DqgIIXSUmgLFIfTLeAn13Pe
-        XKc4nbCwJ3nS9z3nvPc899xz3/eW+T+k5aYp6eWakJOjk+n1+hB6+2DIzc3YX15ePvV5wedPUdOqYTDq
-        rxvL9BX0du3Q6XRBeoP++vx8gBSXFlmpeVXQ609/YLFYfrZ0W3w5eZmvUPPaoC8+fchmsy35fF5is1mX
-        9PqCQ9R1X6TlpMXU19c5Z2b8ZG5ullRXV/YQQoKoe3XAtauuq+qanZ0hU1NTBH9Npuqx9PR0OQ35T5Se
-        MVS5XE4yOTlJPB4PiO9fyspKe4m6V4/KyjOX/hSAdE6ME6OxRE/d/4r8kzkHLFfav/N6p4nb7YbnPKSn
-        p2shIyfjAA1ZPfLysg92dnbAYF52Jj6fj7R91erPzs/eRUPuQUlZiW1mZoZNjpyeniYGQ1ELda8dRmPx
-        l17vFFtOpN/vJ8ZyQwd1r0CRofB9bDyMc7lcINhLzOYLrmM5x7bTkLUjPSt9q9nc6PL7feyMsBLXrl27
-        XVh46k0awgJ6I6q+vtaJAicmJlgBIOZ3aORMGvLgwEFwMBSAA2NnV1adGc3Pz+fREKa01HDGPelmkzud
-        TjamosJgz8jICKMhDw5dvk5cUVFuDwQCK2ZnKC05iv68grwn29vbA9hwmByXoN969dbx43lvsQOsBwpO
-        H3/bau3/EZcAk2BjNpkveI4ePZpQWm7sw90yPj7OEmdvNBZdpo+uH0pKi7uxCigAE+FWM5QZBnp7e3/C
-        yoyNjbHC2i81e7LysnbTx9YPmbmZ+9o72/2YBAXgUnR9ffU3eEuyyVEYvL6XS4zFBfSR9QdsyzKvb5oV
-        gEnn5uZI3dla4nA4SCAwR2rrKkdgWSJo+PrjSPYRVUPDF2Ozs7NkZGSYjDsdZNQxQq50WMjQ0OCdU4Un
-        3qWhDw/6k/mHsdSjjlEyMGhj35Atrc2k2FDYT0MeLgzbND0V2cfIrVvfEzc0n73FTLrSPyGG5/Z7aMjD
-        g0EaknJeGXHL8fzzxJSbSXT7U5d1WzTLA0kJpFGp/KUqUvgeDV0/VDPMM2e5XF0Dj3ekUhDkmti+nXh2
-        7CDu1J2kPEri6I6LuTOg0ZCJbdtIgzzs20ou59VWieSzJrH4cDWH8wwdZu2o5/GeruPxhrolkqUbmzYR
-        G1C3ceNyt1JJXCkppCZSMFksZKJqZPwrQ5pNZAD8w9pEMpiYsOgGke7kZGJPSFhsFouHvuTx1ibELBK9
-        3Mbn/zgIM7uuVpNOofCOVa3+DQYkPTExpD6cGygKY5IwtoLPxDbKJcO2uDgykphIZlNTiS05ealbo7kz
-        CUL9u3aRHoVi4evY2NUdzc6Fhr7VFR3NlvWqQjHdKBCcwmUwcTif6lSq5SEQ0SgU9tBwFhURXG2LWLzo
-        AAF2SFwbHPxhJcMcMAsEJ0HUzMzOneSGVvvDRan0/t+HWobZ2iwSeTB5r1LprAkO/oi6mLMMo2kSCG4P
-        JyWRJpGoX8cwd895eN0oFg96oTc6oqPHqxgmkboYFDO6ZYt7fs8eYo2Pd4JvC3Xdi3N8fpUVSmlVqX6t
-        DQk5Sc0s4MHXemNjA3aY5QWR6BI130WzVHp5Ckrep1JNw1n8dWpmUR8SctytVv86CyLaZLJ/P6qXMkx8
-        q1TqwGZqk0qvQcI91MWihsutxfLboQLnBYK7lfkTjSLRx7hDJqD5TMHBJmpmARl3d2zc2Lewdy/pj4+3
-        Yy7q+guQcG+HTPYTNh5su04wYYmDgaEnOJyD0BdjI5D8YljY9DsMowW7DIjvfZZoa5fLfT5cBrl85ATD
-        HAQ7H8gFckB0580nniDDavVtzAW2lQDjCxal8nfcbrAFz4FJCoxMDwp6o1Umuz4MpR+Bl00Jn58Ndlxj
-        FIHricTrpGKBIMcJpfZD0zWHh/elMww2nQIoaxCLzy/AEnhgDKjIi2BbgQ15DJN8MTz85o34eGKJjrYb
-        uVx9VWhoc0dUlHdo82ai02qXa0SiVoh9DIjfe5zFk8D9wH3Ax4G7TBLJRV1KyvIcbMcelcpjEgqbjaGh
-        +sHExLHb+/aR3ri4ABwUH4VYrO4KBJ8PCzuLe90GInD/oxjoYPJNXNxijUSCzfMIEE+5O4A7gamUeFRH
-        YSnAbSaZrMqm1S7hmt/cvZvgDvgBrheffZa0KRT1EIPnyXv/LRGohFkobLoSGfmdRS7/uTMiYt4MDVko
-        EOBnNgqI/5RjgSpgHFD9N+I92mOA0bAc77YoFH3faDQLU1B2mNA89EgT+DYA748ymCn2BLxMtuf/pRZL
-        hn+38R6bCyn4G/E+FIhNh7EceD9wcQwcC8cE2z/AMH8AqFzEa9XOsOUAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="btnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHHSURBVFhHxZY9asNAEEbdpEyKBFIlZarkACFX8CVc6C4q
-        3fkGBjfGWGC3KexCTQqFgAIp3BtjcOV/bebbZMWyUuKdkcAfPAyLNPM0HpAadsbjsZIQRdF7EAR3VOLi
-        p5IwKMbNfD5Xk8lEDQaDtNlsPlAZuYREYL/fqzRNtUS/3/+sJCERQDCF1WpVXaJMAGdxHLOYTqfYi49W
-        q3VPZf1F/hLgRrwXdQmI96IuAUS0F26z17cvscByudS/LIk6J4DGi8VCzWYzlSRJLkFtbolyiToF7KzX
-        ay2DWtTmibjUDd24zar8BWUZjUYQeCaudUM3PhOAFAc7nU4HAi/EjW7oxkegSsIw9BPIskyDJzirAHAF
-        3BGfwo63wPF4zDnLBExzPMFZBA6HQ445s/eCg7kP8RbAy8TgCkhB2AJ4AnNm7wUXtsBut8txBdwRn0Ik
-        sNlscsyZvRdcIIF4C+DlYTBn9l5wgQTiLWDHFSgb83+wBIbDoer1eqrb7eYYAXsvuEACOSlAuSIeCVyk
-        MQL2XnCBBOIjgC8VSOACjRHYbrdiOBMopGwvpBEJYC/a7ba+uQ6oJE+AUtiLiqAWanqnsBcVQa3fr+JG
-        4xs1dfbZaqs65wAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnPaste.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAWtSURBVFhHrZdZTJRXGIa5aJsuSWNbkdrapjKgNmma9KK9
-        aU1vmiatbVIrjTEYL5pal4rIJgwwDMg6SBFkFlEYVodZEBlcQCk7Ak2NilvSNjUxAVlmkF2FUN9+35mF
-        YRxnRutJnoSB88/7fN85//8fAp50bN26dWznzu3wRHh4+Kh92rMfFLyCAlZFR0fCbNahvv74EszmGkRF
-        RbLEKp5rv+zJxt4NQR/s2xAY5k5k+GdJKbJoq1yeOCGXy+dzc2XIzpYugX+nUOye4zlSaawlYsun8Z6+
-        K+Gr5WvscUtH7KYVH5bsWjnxW2oozhPn0t5Hkx1F/BbU1VXDZCoX6PWlTgwGRiuora2keZWiGxkxm9GQ
-        vBZmwTqYEyUwJ0mQv+0ti/SblevssYsjduOb25rTQtGTsxYt6s3oatbhj06z4NCvWejtbUVHRxPa2xvt
-        nEVbm43W1jOClpbTgq6u81BkpaGvvV7QcU4Hg2IT9HEhaEgMQfSGwB/ssYvDVcBcnoHZ2VliRqBUHkZV
-        1RFoNAft5EKttqFSKQRKZY6dbGi1SuTn5zmvZ4yl2aiOlqAuXuJboKEyHdPTU5iYGBc0NJxETo6MvjTd
-        L7Kzk2E06p3XT01NwqTNQlWUHwLd2SRQsVSAaWpqpLWt94vGxkYMDw9hfPyugAWMpVmo3CfBCW8CvPm6
-        smgJPAg8CY5g5u7dMadAeaQfAh2Za/6XwGKwLZyZnJyAgQTK9gaj1pvAORJoyyCB8qUCN2/eQF9fnw96
-        nfT29gjGxsYIq10gE6UssN+bgDwUrelrUO8m4AvXdjOOYMZqtQnoSzJxbI8fAi0HSKDMPwFP7XYNtlot
-        sFgsNHcCNSRw9JdgmOKCHy/QRALNtAwn3QQeXYJH293Tw1zAhQtMtzPcYhl1ChzZvRpGrwIptsewu4Ar
-        vtrtGsyMjrLAOHTHMqHZ5UOgkQS4C+4Ct279gxs3rguuX2euCa5duyq4epXpF/T39zuDmZGRERImgaMZ
-        UO9cDUOsDwGmTrso4KjYU9WOil2rdgSPjo6IcIbnVx9Jh3KHLwFZKM4QJ+wC/rfbNXwxeHh4WMDzqjRp
-        KPrZh8BZCj+VHOIUcOxubjdvMNdNxnR3M1309nOnE52dnSKcRVigQp2Kwu3vQe9N4IyMXpdJIaglAX58
-        eq/ac7sdVTM8z1FEuUqOQz+RQIw3AareTO9rk13gadrN8N9YnG+/6elpWsZxlPkjcJoETkpJoDRdPL0c
-        wby7/W+3VQROTU3ROWAWDx48EMVolSneBaLsAnUJITCUpIkveZp2T05OYmZmBvfv38f8/DwePnyIv/7+
-        E0UFqX4I8PrT26rmqFy08HHtHhnx3G6u+uLli2jvbENbRyuaW85Db9JBVayEMi/Jt8ApEjDSy6KmOEVU
-        76jaUzDj3m4r7ZeK6nI6O7ajvaONTlJmaMu0UKoLoTkY41uA7wBDnAQ6jUxU7G2TeWr3DJ/9avV0QG2l
-        k5EZpdpS5ORmITIyAipFlH8CNbESVKuTKGjokar5s+vuvnfvHubm5rCwsCAYGByA3qijo3kd1BoVUg/I
-        kJwsRUFBHpQ5+/wQoFtQRxPKDifi9u3bGBwcFAwMDODOnTvO6rn13AHHuvOtOjQ0iL7fe6EpViMvPxcx
-        cTFISUmik3MRDCRVpIj2KvDCj18GRnAHjkcHo1r6CSqKElBelOikjCExB9rCRJQUSHHsUAKK8/bTGsdC
-        lRuLQkUClBSmWgK1f/dHQsBIT8Jt61/bQZkv2aJt442w9cv2VHy++t9T9qchw//N1DNSCT0f6EjNJNDB
-        kuC7hTHRpuWNa6S94wueK9/x7sK3H7+6izKDbNG28SLxdsTXyzUpYUGXMsNXdsjCgq4Ivg+6kuiC9CmJ
-        3xh0Wfpd0KWfvggspKx3iFc42H08R7xs+zHg9WfMMoJDnyfsIyDgP3B9ka8vlu7vAAAAAElFTkSuQmCC
 </value>
   </data>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

+ 13 - 13
EsPy/Forms/TerminalForm.Designer.cs

@@ -101,7 +101,7 @@
             this.mnUndo.MergeIndex = 0;
             this.mnUndo.Name = "mnUndo";
             this.mnUndo.ShortcutKeyDisplayString = "Ctrl+Z";
-            this.mnUndo.Size = new System.Drawing.Size(152, 22);
+            this.mnUndo.Size = new System.Drawing.Size(144, 22);
             this.mnUndo.Text = "Undo";
             // 
             // mnRedo
@@ -111,7 +111,7 @@
             this.mnRedo.MergeIndex = 1;
             this.mnRedo.Name = "mnRedo";
             this.mnRedo.ShortcutKeyDisplayString = "Ctrl+Y";
-            this.mnRedo.Size = new System.Drawing.Size(152, 22);
+            this.mnRedo.Size = new System.Drawing.Size(144, 22);
             this.mnRedo.Text = "Redo";
             // 
             // toolStripMenuItem2
@@ -119,7 +119,7 @@
             this.toolStripMenuItem2.MergeAction = System.Windows.Forms.MergeAction.Insert;
             this.toolStripMenuItem2.MergeIndex = 2;
             this.toolStripMenuItem2.Name = "toolStripMenuItem2";
-            this.toolStripMenuItem2.Size = new System.Drawing.Size(149, 6);
+            this.toolStripMenuItem2.Size = new System.Drawing.Size(141, 6);
             // 
             // mnCut
             // 
@@ -128,7 +128,7 @@
             this.mnCut.MergeIndex = 3;
             this.mnCut.Name = "mnCut";
             this.mnCut.ShortcutKeyDisplayString = "Ctrl+X";
-            this.mnCut.Size = new System.Drawing.Size(152, 22);
+            this.mnCut.Size = new System.Drawing.Size(144, 22);
             this.mnCut.Text = "Cut";
             // 
             // mnCopy
@@ -138,7 +138,7 @@
             this.mnCopy.MergeIndex = 4;
             this.mnCopy.Name = "mnCopy";
             this.mnCopy.ShortcutKeyDisplayString = "";
-            this.mnCopy.Size = new System.Drawing.Size(152, 22);
+            this.mnCopy.Size = new System.Drawing.Size(144, 22);
             this.mnCopy.Text = "Copy";
             // 
             // mnPaste
@@ -149,7 +149,7 @@
             this.mnPaste.MergeIndex = 5;
             this.mnPaste.Name = "mnPaste";
             this.mnPaste.ShortcutKeyDisplayString = "Ctrl+V";
-            this.mnPaste.Size = new System.Drawing.Size(152, 22);
+            this.mnPaste.Size = new System.Drawing.Size(144, 22);
             this.mnPaste.Text = "Paste";
             // 
             // mnDelete
@@ -158,7 +158,7 @@
             this.mnDelete.MergeIndex = 6;
             this.mnDelete.Name = "mnDelete";
             this.mnDelete.ShortcutKeyDisplayString = "Del";
-            this.mnDelete.Size = new System.Drawing.Size(152, 22);
+            this.mnDelete.Size = new System.Drawing.Size(144, 22);
             this.mnDelete.Text = "Delete";
             // 
             // mnClean
@@ -167,7 +167,7 @@
             this.mnClean.MergeAction = System.Windows.Forms.MergeAction.Insert;
             this.mnClean.MergeIndex = 7;
             this.mnClean.Name = "mnClean";
-            this.mnClean.Size = new System.Drawing.Size(152, 22);
+            this.mnClean.Size = new System.Drawing.Size(144, 22);
             this.mnClean.Text = "Clean";
             this.mnClean.Click += new System.EventHandler(this.mnClean_Click);
             // 
@@ -176,7 +176,7 @@
             this.toolStripMenuItem3.MergeAction = System.Windows.Forms.MergeAction.Insert;
             this.toolStripMenuItem3.MergeIndex = 8;
             this.toolStripMenuItem3.Name = "toolStripMenuItem3";
-            this.toolStripMenuItem3.Size = new System.Drawing.Size(149, 6);
+            this.toolStripMenuItem3.Size = new System.Drawing.Size(141, 6);
             // 
             // mnSelectAll
             // 
@@ -184,7 +184,7 @@
             this.mnSelectAll.MergeIndex = 9;
             this.mnSelectAll.Name = "mnSelectAll";
             this.mnSelectAll.ShortcutKeyDisplayString = "";
-            this.mnSelectAll.Size = new System.Drawing.Size(152, 22);
+            this.mnSelectAll.Size = new System.Drawing.Size(144, 22);
             this.mnSelectAll.Text = "Select All";
             // 
             // toolStripMenuItem7
@@ -192,7 +192,7 @@
             this.toolStripMenuItem7.MergeAction = System.Windows.Forms.MergeAction.Insert;
             this.toolStripMenuItem7.MergeIndex = 10;
             this.toolStripMenuItem7.Name = "toolStripMenuItem7";
-            this.toolStripMenuItem7.Size = new System.Drawing.Size(149, 6);
+            this.toolStripMenuItem7.Size = new System.Drawing.Size(141, 6);
             // 
             // mnView
             // 
@@ -432,12 +432,12 @@
             this.scintilla.IndentationGuides = ScintillaNET.IndentView.LookForward;
             this.scintilla.IndentWidth = 4;
             this.scintilla.Lexer = ScintillaNET.Lexer.Python;
-            this.scintilla.Location = new System.Drawing.Point(0, 24);
+            this.scintilla.Location = new System.Drawing.Point(0, 39);
             this.scintilla.MouseDwellTime = 500;
             this.scintilla.Name = "scintilla";
             this.scintilla.Port = null;
             this.scintilla.ReadOnly = true;
-            this.scintilla.Size = new System.Drawing.Size(664, 238);
+            this.scintilla.Size = new System.Drawing.Size(664, 223);
             this.scintilla.TabIndex = 2;
             this.scintilla.ViewWhitespace = ScintillaNET.WhitespaceMode.VisibleAlways;
             this.scintilla.UpdateUI += new System.EventHandler<ScintillaNET.UpdateUIEventArgs>(this.terminal_UpdateUI);

+ 2 - 1
EsPy/Forms/TerminalForm.cs

@@ -128,7 +128,8 @@ namespace EsPy.Forms
             this.scintilla.ReadOnly = false;
             this.scintilla.Append($"{this.Port.PortName} {this.Port.BaudRate } Connected...\r\n");
             this.scintilla.Append("Press CTRL + D or Soft Reset Button on the Toolbar\r\n");
-            this.scintilla.Append("Press CTRL + C to interrupt current program.\r\n");
+            //this.scintilla.Append("Press CTRL + C to interrupt current program.\r\n");
+            this.scintilla.Append("Press CTRL + I to interrupt current program.\r\n");
         }
 
         public ToolStrip ToolStrip

+ 2 - 2
EsPy/Properties/AssemblyInfo.cs

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.9")]
-[assembly: AssemblyFileVersion("1.0.0.9")]
+[assembly: AssemblyVersion("1.0.0.10")]
+[assembly: AssemblyFileVersion("1.0.0.10")]

+ 10 - 0
EsPy/Properties/Resources.Designer.cs

@@ -360,6 +360,16 @@ namespace EsPy.Properties {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap pause {
+            get {
+                object obj = ResourceManager.GetObject("pause", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>

+ 12 - 9
EsPy/Properties/Resources.resx

@@ -157,6 +157,9 @@
   <data name="upload1" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\upload1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="syntax" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\syntax.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="saveall" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\saveall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -190,8 +193,8 @@
   <data name="documentopen" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\documentopen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="goprevious" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\goprevious.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="cpu" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\cpu.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="disconnect" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\disconnect.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -208,8 +211,8 @@
   <data name="sdcard" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\sdcard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="cpu" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\cpu.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="goprevious" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\goprevious.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="eraseflash" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\eraseflash.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -217,12 +220,12 @@
   <data name="editcopy" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\editcopy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="editredo" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\editredo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
   <data name="error16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\error16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="editredo" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\editredo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="filemanager" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\filemanager.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -238,7 +241,7 @@
   <data name="drivenetwork" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\drivenetwork.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="syntax" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\syntax.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="pause" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\pause.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
 </root>

二進制
EsPy/Resources/pause.png