-add a copy popupmenu to backtrace window
-add a statusbar with row/col info to sourceview

svn path=/trunk/tools/reactosdbg/; revision=1231
This commit is contained in:
Christoph von Wittich 2010-11-20 14:40:15 +00:00
parent f535b1e472
commit 5eae39ef96
9 changed files with 119 additions and 28 deletions

View File

@ -345,6 +345,7 @@ namespace DbgHelpAPI
static Random mRandom = new Random();
static FileMap mFileMap = new FileMap();
string mReactosOutputPath = "output-i386", mReactosSourcePath = ".";
public string ReactosOutputPath
{
get { return mReactosOutputPath; }

View File

@ -28,20 +28,39 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BackTrace));
this.StackFrames = new System.Windows.Forms.ListBox();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// StackFrames
//
this.StackFrames.ContextMenuStrip = this.contextMenuStrip1;
this.StackFrames.Dock = System.Windows.Forms.DockStyle.Fill;
this.StackFrames.FormattingEnabled = true;
this.StackFrames.Location = new System.Drawing.Point(0, 0);
this.StackFrames.Name = "StackFrames";
this.StackFrames.Size = new System.Drawing.Size(241, 225);
this.StackFrames.Size = new System.Drawing.Size(241, 229);
this.StackFrames.TabIndex = 0;
this.StackFrames.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.StackFrames_MouseDoubleClick);
this.StackFrames.SelectedIndexChanged += new System.EventHandler(this.StackFrames_SelectedIndexChanged);
this.StackFrames.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.StackFrames_MouseDoubleClick);
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.copyToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(103, 26);
//
// copyToolStripMenuItem
//
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
this.copyToolStripMenuItem.Size = new System.Drawing.Size(102, 22);
this.copyToolStripMenuItem.Text = "&Copy";
this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
//
// BackTrace
//
@ -54,6 +73,7 @@
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "BackTrace";
this.Text = "Call Stack";
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
@ -61,6 +81,8 @@
#endregion
private System.Windows.Forms.ListBox StackFrames;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
}
}

View File

@ -147,5 +147,14 @@ namespace RosDBG
{
mShell.FocusAddress(mSelectedAddr);
}
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder("");
foreach (string s in StackFrames.Items)
sb.Append(s + Environment.NewLine);
Clipboard.SetText(sb.ToString());
}
}
}

View File

@ -117,6 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@ -33,6 +33,8 @@
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btnCopy = new System.Windows.Forms.ToolStripButton();
this.btnBreakpoint = new System.Windows.Forms.ToolStripButton();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
this.SourceCode = new System.Windows.Forms.RichTextBox();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -43,6 +45,7 @@
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
@ -60,6 +63,7 @@
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.statusStrip1);
this.splitContainer1.Panel2.Controls.Add(this.SourceCode);
this.splitContainer1.Size = new System.Drawing.Size(481, 272);
this.splitContainer1.SplitterDistance = 25;
@ -97,17 +101,38 @@
this.btnBreakpoint.Size = new System.Drawing.Size(23, 22);
this.btnBreakpoint.ToolTipText = "Set Breakpoint";
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1});
this.statusStrip1.Location = new System.Drawing.Point(0, 221);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(481, 22);
this.statusStrip1.TabIndex = 4;
//
// toolStripStatusLabel1
//
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
this.toolStripStatusLabel1.Size = new System.Drawing.Size(466, 17);
this.toolStripStatusLabel1.Spring = true;
this.toolStripStatusLabel1.Text = "Row 0, Col 0";
this.toolStripStatusLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// SourceCode
//
this.SourceCode.Dock = System.Windows.Forms.DockStyle.Fill;
this.SourceCode.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.SourceCode.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SourceCode.Location = new System.Drawing.Point(0, 0);
this.SourceCode.Name = "SourceCode";
this.SourceCode.ReadOnly = true;
this.SourceCode.Size = new System.Drawing.Size(481, 243);
this.SourceCode.Size = new System.Drawing.Size(481, 218);
this.SourceCode.TabIndex = 3;
this.SourceCode.Text = "";
this.SourceCode.SelectionChanged += new System.EventHandler(this.SourceCode_SelectionChanged);
this.SourceCode.MouseClick += new System.Windows.Forms.MouseEventHandler(this.SourceCode_MouseClick);
this.SourceCode.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SourceCode_KeyUp);
//
// menuStrip1
//
@ -165,9 +190,12 @@
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
@ -187,6 +215,8 @@
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
}
}

View File

@ -143,6 +143,22 @@ namespace RosDBG
return SourceFile;
}
private void SourceCode_MouseClick(object sender, MouseEventArgs e)
{
UpdatePos();
}
private void UpdatePos()
{
toolStripStatusLabel1.Text = "Row " + (SourceCode.GetLineFromCharIndex(SourceCode.SelectionStart) + 1).ToString()
+ ", Col " + (SourceCode.SelectionStart - SourceCode.GetFirstCharIndexOfCurrentLine() + 1).ToString();
}
private void SourceCode_KeyUp(object sender, KeyEventArgs e)
{
UpdatePos();
}
}
}

View File

@ -124,35 +124,36 @@
<data name="btnCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAehJREFUOE+t099L
U3EYx3H/lFKGZDdB7K6biDKlwCDxooJAk652oVddRYZBJjMWOJ0La5ayzc70RKSLlKlraTJzrl+TlkFu
MJUdnc7pZu92viPXFm1BPfC5+z6v7/N8D6ek5F9LnviIGmncL2Id8dInv+ZOt1z1V7banF+WYQ+NLY/R
VjccKYo4xvw5/am973T2v8Dp9nOhqaM4Yh2dE4AzANJb8AUV7lmeI00p2Cei2FxRHoxGMQytiVxqXz6W
M1Wf7NmfYGc3hbKRIBSJCSC/WgdW0F5xc7RxMouY7S5xrte9i35E4Ya0TPPDIP0vV38DmkwR5GmFw3XD
VNTKGcSY3lfdeyueZCUaZym0zvvgKuZnYQG0SSkR3+I6l/VhKuqecuj8IOU1jxCAuu92Irl/s84c4Krx
HXdtSzkTKJtJFr9t417YwCTNojl7PwsosQQfvkSY+xTC4/vK+JvPtPRmPu/1gRg6Y5iL7QHO3ZwXMUkz
aKq7soC2qp78NBvmBZBMrxeJJlkIbjHmVXBMrtE96KGs0pAB/lQNrdMC+PXmnxN02V9RelJfGKi95iK+
s4d5yEuPYxbTkxlxs9pstE5x8MTtwkClzpl+bZtIeY0FzZkeyk53UnqqI93cxoHjtwoDRf+B/3XgB/HZ
2qt308hsAAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHoSURBVDhPrdPfS1NxGMdx/5RShmQ3Qeyum4gypcAg8aKC
QJOudqFXXUWGQSYzFjidC2uWss3O9ESki5Spa2kyc65fk5ZBbjCVHZ3O6Wbvdr4j1xZtQT3wufs+r+/z
fA+npORfS574iBpp3C9iHfHSJ7/mTrdc9Ve22pxflmEPjS2P0VY3HCmKOMb8Of2pve909r/A6fZzoamj
OGIdnROAMwDSW/AFFe5ZniNNKdgnothcUR6MRjEMrYlcal8+ljNVn+zZn2BnN4WykSAUiQkgv1oHVtBe
cXO0cTKLmO0uca7XvYt+ROGGtEzzwyD9L1d/A5pMEeRphcN1w1TUyhnEmN5X3XsrnmQlGmcptM774Crm
Z2EBtEkpEd/iOpf1YSrqnnLo/CDlNY8QgLrvdiK5f7POHOCq8R13bUs5EyibSRa/beNe2MAkzaI5ez8L
KLEEH75EmPsUwuP7yvibz7T0Zj7v9YEYOmOYi+0Bzt2cFzFJM2iqu7KAtqqe/DQb5gWQTK8XiSZZCG4x
5lVwTK7RPeihrNKQAf5UDa3TAvj15p8TdNlfUXpSXxioveYivrOHechLj2MW05MZcbPabLROcfDE7cJA
pc6Zfm2bSHmNBc2ZHspOd1J6qiPd3MaB47cKA0X/gf914Afx2dqrd9PIbAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btnBreakpoint.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlJJREFUOE+10l1I
k1EYB3Bvu5MIgq666KKkKMLoA5NWtooKR4EFjtYHyRi5dPZW081329vaR+5LpxubbTombpFMoxAFi10U
ucRy4dy0KK1kTmtzlaOV7793BoFk0y46cC4eznl+z+E5T07O/1qBxz2bb9uVXLddDbHo0sZHPl/uimvV
KYkDXqcK9nqSnhkh6ZYG6o23RYUuj128IsRmIum5cQqZ6ogZ0WqlkBpXLsSDgb49yyJNZvILPWVgElS/
gEYFMrHLehNWnQStNn1xVqTZVMsk6OGyyIEpIxwmKWgGcjbK8fUtBYtO3JcVMCrKFyo66sWgo0ZYtVcw
z4AWDYH0hBoK4lxkEeA0y6QOsxyZ3d3ZektF8JhEPWyGSqTfadGk5CP9XoO66ouYG78B0dnjod+AV6db
5bIqkXhFMYcU7jhkkPA5+DGpRa+nAsmIFP675fj8moSnoQzJcA34pezgohe4bSqFqHQfpkMyzI5JYJFx
kJpQIT6mQGJUgnhYjE9hAomIGJODAlzgFDz7owdtNg2xgASrEHsuRHxEhuSoArNhEjPDNYgOXUN08DIi
PafAPbrTv2QT7SZpewb50M/HZECIGJP0cbga0y+vY+JpGV50HEK3uZA+fTj/4ZKAz2fIvcpjUxlk6P5J
PGnn0AMdJ+hg5zEMePej310AtaDgm+jMQctfv7GtjlzDNJHMIC5lEX3PxKL9jkI8MO+ar+DlfT+yNw/E
+aJ1WeeAFLA31ApLqrjFu7u2bVmd2rFpLVj560Ol7O3NlSWsrcuO8r9c+AmDUW+JqfqWTgAAAABJRU5E
rkJggg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJSSURBVDhPtdJdSFNhGAdwb7vKiyDoqougDwohjD4wybJV
VDgKLNhofZAMyZWzU003zzynddzaZ0532GxTmeSkmIIRChYjgrbCcuXatKitkk0rp5Wjleff2YJAMrWL
XngvHt73+T0vz/vk5PyvFXjQu/66QyN2O+qhkJ9Zc8/rzV10Lb2G2OVxMWBNJJd4TnItDfRrTwuD7g6H
YlGIzUhy01EameoYM6OVpZGKarLxQKB/24JIk5X8wiVMfALzC2ikkInb2CtgDUq02o0l8yLNllo+wYg2
Wx2QMMNpUYHjIVdjHb6+oWEzKPrnBcxURbai85oCXNwMVnceMzxo0xJIx+pBESciswCXVa1yWuuQ2Xe6
Wq8yhIRPNMJuqkT6rQ5NGinS77TQV5/GdPQy5McPhn4DHoNhSRurQfIlzR/S6HSqoZQK8WNUh76Oc5iK
qOC7WYHPr0h0NJRhKlwDqUgQnPUCt52h5KIdGA+pMTmihE0tRCrGYGKEQnJYiYmwAp/CBJIRBUYHynFK
WPDojx6027VEFglWYeyJDBMv1JgapjAZJvFhqAbxwYuID5xFpPcIxPs3++ZsosOiupFB3vulGA3IMMYn
fRyqxvizS4g9LMPTW3vQYynkju7Nvzsn4PWaci9IBHQGGew5jPtuIefvPMQFuw7gsWcn/O4C1JcXfJMf
22376ze268llfBPJDOKiijmvsYjzOQtx27plpkKy+vu+7etAnCxeMe8ckOWCVbWy0ipxydbuvA1LU5vW
LkdR/sqQSLCxubK0KG/BUf6XCz8BKQVvT83Sa/4AAAAASUVORK5CYII=
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>237, 17</value>
</metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value>
</metadata>

View File

@ -39,5 +39,5 @@ using System.Runtime.InteropServices;
// will be increased as well. MSI installers must not be generated with the same Build Number
// otherwise they won't upgrade the old installation!
[assembly: AssemblyVersion("1.0.2.85")]
[assembly: AssemblyFileVersion("1.0.2.85")]
[assembly: AssemblyVersion("1.0.19.102")]
[assembly: AssemblyFileVersion("1.0.19.102")]

View File

@ -168,6 +168,12 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SetupWizard.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SetupWizard.Designer.cs">
<DependentUpon>SetupWizard.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="AboutDlg.resx">
<DependentUpon>AboutDlg.cs</DependentUpon>
<SubType>Designer</SubType>
@ -234,6 +240,9 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="SetupWizard.resx">
<DependentUpon>SetupWizard.cs</DependentUpon>
</EmbeddedResource>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>