Debugger: Added option to show comments in label list
This commit is contained in:
parent
41cef15c2f
commit
7d15e1daf2
3 changed files with 52 additions and 16 deletions
|
@ -104,6 +104,8 @@ namespace Mesen.GUI.Config
|
||||||
public bool ShowVerifiedData = false;
|
public bool ShowVerifiedData = false;
|
||||||
public bool ShowUnidentifiedData = false;
|
public bool ShowUnidentifiedData = false;
|
||||||
|
|
||||||
|
public bool ShowCommentsInLabelList = true;
|
||||||
|
|
||||||
public bool SplitView = false;
|
public bool SplitView = false;
|
||||||
public bool HexDisplay = true;
|
public bool HexDisplay = true;
|
||||||
public bool ShowBreakpointLabels = true;
|
public bool ShowBreakpointLabels = true;
|
||||||
|
|
40
GUI.NET/Debugger/Controls/ctrlLabelList.Designer.cs
generated
40
GUI.NET/Debugger/Controls/ctrlLabelList.Designer.cs
generated
|
@ -35,12 +35,14 @@
|
||||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.mnuAddBreakpoint = new System.Windows.Forms.ToolStripMenuItem();
|
this.mnuAddBreakpoint = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.mnuAddToWatch = new System.Windows.Forms.ToolStripMenuItem();
|
this.mnuAddToWatch = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
|
||||||
this.mnuFindOccurrences = new System.Windows.Forms.ToolStripMenuItem();
|
this.mnuFindOccurrences = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
this.mnuShowComments = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.lstLabels = new Mesen.GUI.Controls.DoubleBufferedListView();
|
this.lstLabels = new Mesen.GUI.Controls.DoubleBufferedListView();
|
||||||
this.colFunctionLabel = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.colFunctionLabel = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.colFunctionAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.colFunctionAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.colMemoryAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.colMemoryAddress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.colComment = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.contextMenu.SuspendLayout();
|
this.contextMenu.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -53,10 +55,11 @@
|
||||||
this.toolStripMenuItem1,
|
this.toolStripMenuItem1,
|
||||||
this.mnuAddBreakpoint,
|
this.mnuAddBreakpoint,
|
||||||
this.mnuAddToWatch,
|
this.mnuAddToWatch,
|
||||||
|
this.mnuFindOccurrences,
|
||||||
this.toolStripMenuItem2,
|
this.toolStripMenuItem2,
|
||||||
this.mnuFindOccurrences});
|
this.mnuShowComments});
|
||||||
this.contextMenu.Name = "contextMenu";
|
this.contextMenu.Name = "contextMenu";
|
||||||
this.contextMenu.Size = new System.Drawing.Size(167, 148);
|
this.contextMenu.Size = new System.Drawing.Size(167, 170);
|
||||||
//
|
//
|
||||||
// mnuAdd
|
// mnuAdd
|
||||||
//
|
//
|
||||||
|
@ -103,11 +106,6 @@
|
||||||
this.mnuAddToWatch.Text = "Add to watch";
|
this.mnuAddToWatch.Text = "Add to watch";
|
||||||
this.mnuAddToWatch.Click += new System.EventHandler(this.mnuAddToWatch_Click);
|
this.mnuAddToWatch.Click += new System.EventHandler(this.mnuAddToWatch_Click);
|
||||||
//
|
//
|
||||||
// toolStripMenuItem2
|
|
||||||
//
|
|
||||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
|
||||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(163, 6);
|
|
||||||
//
|
|
||||||
// mnuFindOccurrences
|
// mnuFindOccurrences
|
||||||
//
|
//
|
||||||
this.mnuFindOccurrences.Image = global::Mesen.GUI.Properties.Resources.Find;
|
this.mnuFindOccurrences.Image = global::Mesen.GUI.Properties.Resources.Find;
|
||||||
|
@ -116,12 +114,26 @@
|
||||||
this.mnuFindOccurrences.Text = "Find Occurrences";
|
this.mnuFindOccurrences.Text = "Find Occurrences";
|
||||||
this.mnuFindOccurrences.Click += new System.EventHandler(this.mnuFindOccurrences_Click);
|
this.mnuFindOccurrences.Click += new System.EventHandler(this.mnuFindOccurrences_Click);
|
||||||
//
|
//
|
||||||
|
// toolStripMenuItem2
|
||||||
|
//
|
||||||
|
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||||
|
this.toolStripMenuItem2.Size = new System.Drawing.Size(163, 6);
|
||||||
|
//
|
||||||
|
// mnuShowComments
|
||||||
|
//
|
||||||
|
this.mnuShowComments.CheckOnClick = true;
|
||||||
|
this.mnuShowComments.Name = "mnuShowComments";
|
||||||
|
this.mnuShowComments.Size = new System.Drawing.Size(166, 22);
|
||||||
|
this.mnuShowComments.Text = "Show Comments";
|
||||||
|
this.mnuShowComments.Click += new System.EventHandler(this.mnuShowComments_Click);
|
||||||
|
//
|
||||||
// lstLabels
|
// lstLabels
|
||||||
//
|
//
|
||||||
this.lstLabels.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
this.lstLabels.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
this.colFunctionLabel,
|
this.colFunctionLabel,
|
||||||
this.colFunctionAddress,
|
this.colFunctionAddress,
|
||||||
this.colMemoryAddress});
|
this.colMemoryAddress,
|
||||||
|
this.colComment});
|
||||||
this.lstLabels.ContextMenuStrip = this.contextMenu;
|
this.lstLabels.ContextMenuStrip = this.contextMenu;
|
||||||
this.lstLabels.Dock = System.Windows.Forms.DockStyle.Fill;
|
this.lstLabels.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
this.lstLabels.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
this.lstLabels.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
@ -130,7 +142,7 @@
|
||||||
this.lstLabels.HideSelection = false;
|
this.lstLabels.HideSelection = false;
|
||||||
this.lstLabels.Location = new System.Drawing.Point(0, 0);
|
this.lstLabels.Location = new System.Drawing.Point(0, 0);
|
||||||
this.lstLabels.Name = "lstLabels";
|
this.lstLabels.Name = "lstLabels";
|
||||||
this.lstLabels.Size = new System.Drawing.Size(275, 112);
|
this.lstLabels.Size = new System.Drawing.Size(341, 112);
|
||||||
this.lstLabels.TabIndex = 2;
|
this.lstLabels.TabIndex = 2;
|
||||||
this.lstLabels.UseCompatibleStateImageBehavior = false;
|
this.lstLabels.UseCompatibleStateImageBehavior = false;
|
||||||
this.lstLabels.View = System.Windows.Forms.View.Details;
|
this.lstLabels.View = System.Windows.Forms.View.Details;
|
||||||
|
@ -152,13 +164,17 @@
|
||||||
this.colMemoryAddress.Text = "ROM Addr";
|
this.colMemoryAddress.Text = "ROM Addr";
|
||||||
this.colMemoryAddress.Width = 84;
|
this.colMemoryAddress.Width = 84;
|
||||||
//
|
//
|
||||||
|
// colComment
|
||||||
|
//
|
||||||
|
this.colComment.Text = "Comment";
|
||||||
|
//
|
||||||
// ctrlLabelList
|
// ctrlLabelList
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.lstLabels);
|
this.Controls.Add(this.lstLabels);
|
||||||
this.Name = "ctrlLabelList";
|
this.Name = "ctrlLabelList";
|
||||||
this.Size = new System.Drawing.Size(275, 112);
|
this.Size = new System.Drawing.Size(341, 112);
|
||||||
this.contextMenu.ResumeLayout(false);
|
this.contextMenu.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
@ -179,5 +195,7 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem mnuAddBreakpoint;
|
private System.Windows.Forms.ToolStripMenuItem mnuAddBreakpoint;
|
||||||
private System.Windows.Forms.ToolStripMenuItem mnuAddToWatch;
|
private System.Windows.Forms.ToolStripMenuItem mnuAddToWatch;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
|
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
|
||||||
|
private System.Windows.Forms.ColumnHeader colComment;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem mnuShowComments;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,11 +31,12 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
|
|
||||||
public int Compare(object x, object y)
|
public int Compare(object x, object y)
|
||||||
{
|
{
|
||||||
if(_sortOrder) {
|
int result = String.Compare(((ListViewItem)x).SubItems[_columnIndex].Text, ((ListViewItem)y).SubItems[_columnIndex].Text);
|
||||||
return String.Compare(((ListViewItem)y).SubItems[_columnIndex].Text, ((ListViewItem)x).SubItems[_columnIndex].Text);
|
if(result == 0 && (_columnIndex == 0 || _columnIndex == 3)) {
|
||||||
} else {
|
result = String.Compare(((ListViewItem)x).SubItems[2].Text, ((ListViewItem)y).SubItems[2].Text);
|
||||||
return String.Compare(((ListViewItem)x).SubItems[_columnIndex].Text, ((ListViewItem)y).SubItems[_columnIndex].Text);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return result * (_sortOrder ? -1 : 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +48,7 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
bool designMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
|
bool designMode = (LicenseManager.UsageMode == LicenseUsageMode.Designtime);
|
||||||
if(!designMode) {
|
if(!designMode) {
|
||||||
this.InitShortcuts();
|
this.InitShortcuts();
|
||||||
|
mnuShowComments.Checked = ConfigManager.Config.DebugInfo.ShowCommentsInLabelList;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +115,7 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
List<CodeLabel> labels = LabelManager.GetLabels();
|
List<CodeLabel> labels = LabelManager.GetLabels();
|
||||||
List<ListViewItem> items = new List<ListViewItem>(labels.Count);
|
List<ListViewItem> items = new List<ListViewItem>(labels.Count);
|
||||||
foreach(CodeLabel label in labels) {
|
foreach(CodeLabel label in labels) {
|
||||||
if(label.Label.Length > 0) {
|
if(label.Label.Length > 0 || ConfigManager.Config.DebugInfo.ShowCommentsInLabelList) {
|
||||||
ListViewItem item = new ListViewItem(label.Label);
|
ListViewItem item = new ListViewItem(label.Label);
|
||||||
|
|
||||||
Int32 relativeAddress = label.GetRelativeAddress();
|
Int32 relativeAddress = label.GetRelativeAddress();
|
||||||
|
@ -134,6 +136,7 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
}
|
}
|
||||||
absAddress += "$" + label.Address.ToString("X4");
|
absAddress += "$" + label.Address.ToString("X4");
|
||||||
item.SubItems.Add(absAddress);
|
item.SubItems.Add(absAddress);
|
||||||
|
item.SubItems.Add(ConfigManager.Config.DebugInfo.ShowCommentsInLabelList ? label.Comment : "");
|
||||||
item.SubItems[1].Tag = label;
|
item.SubItems[1].Tag = label;
|
||||||
|
|
||||||
item.Tag = relativeAddress;
|
item.Tag = relativeAddress;
|
||||||
|
@ -145,6 +148,12 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
lstLabels.Items.Clear();
|
lstLabels.Items.Clear();
|
||||||
lstLabels.Items.AddRange(items.ToArray());
|
lstLabels.Items.AddRange(items.ToArray());
|
||||||
lstLabels.Sort();
|
lstLabels.Sort();
|
||||||
|
|
||||||
|
colComment.AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
|
||||||
|
if(!ConfigManager.Config.DebugInfo.ShowCommentsInLabelList) {
|
||||||
|
colComment.Width = 0;
|
||||||
|
}
|
||||||
|
|
||||||
lstLabels.EndUpdate();
|
lstLabels.EndUpdate();
|
||||||
|
|
||||||
_listItems = items;
|
_listItems = items;
|
||||||
|
@ -270,5 +279,12 @@ namespace Mesen.GUI.Debugger.Controls
|
||||||
WatchManager.AddWatch("[" + label.Label + "]");
|
WatchManager.AddWatch("[" + label.Label + "]");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mnuShowComments_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ConfigManager.Config.DebugInfo.ShowCommentsInLabelList = mnuShowComments.Checked;
|
||||||
|
ConfigManager.ApplyChanges();
|
||||||
|
this.UpdateLabelList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue