private void btnApplyChanges_Click(object sender, EventArgs e) { if (listBreakpoints.SelectedIndices.Count == 0) { return; } Types.Breakpoint bp = (Types.Breakpoint)listBreakpoints.SelectedItems[0].Tag; bool addressChanged = (bp.Address != GR.Convert.ToI32(editBPAddress.Text, 16)); bp.Conditions = editTriggerConditions.Text; if (addressChanged) { bp.Address = GR.Convert.ToI32(editBPAddress.Text, 16); } bp.TriggerOnExec = checkTriggerExec.Checked; bp.TriggerOnLoad = checkTriggerLoad.Checked; bp.TriggerOnStore = checkTriggerStore.Checked; bp.RemoteIndex = -1; RaiseDocEvent(new DocEvent(DocEvent.Type.BREAKPOINT_REMOVED, bp)); if (addressChanged) { // address was changed, so line index doesn't apply anymore bp.LineIndex = -1; } RaiseDocEvent(new DocEvent(DocEvent.Type.BREAKPOINT_ADDED, bp)); }
private void btnDeleteBreakpoint_Click(object sender, EventArgs e) { if (listBreakpoints.SelectedIndices.Count == 0) { return; } Types.Breakpoint bp = (Types.Breakpoint)listBreakpoints.SelectedItems[0].Tag; RaiseDocEvent(new DocEvent(DocEvent.Type.BREAKPOINT_REMOVED, bp)); }
public void UpdateBreakpoint(Types.Breakpoint Breakpoint) { foreach (ListViewItem item in listBreakpoints.Items) { if (item.Tag == Breakpoint) { AdjustItemText(item, Breakpoint); return; } } }
public void RemoveBreakpoint(Types.Breakpoint Breakpoint) { foreach (ListViewItem item in listBreakpoints.Items) { if (item.Tag == Breakpoint) { listBreakpoints.Items.Remove(item); return; } } }
public void AddBreakpoint(Types.Breakpoint Breakpoint) { ListViewItem item = new ListViewItem(); for (int i = 0; i < 5; ++i) { item.SubItems.Add(""); } AdjustItemText(item, Breakpoint); item.Tag = Breakpoint; listBreakpoints.Items.Add(item); }
private void listBreakpoints_SelectedIndexChanged(object sender, EventArgs e) { btnDeleteBreakpoint.Enabled = (listBreakpoints.SelectedItems.Count != 0); btnApplyChanges.Enabled = false; if (listBreakpoints.SelectedItems.Count > 0) { Types.Breakpoint bp = (Types.Breakpoint)listBreakpoints.SelectedItems[0].Tag; editBPAddress.Text = bp.Address.ToString("x"); checkTriggerExec.Checked = bp.TriggerOnExec; checkTriggerLoad.Checked = bp.TriggerOnLoad; checkTriggerStore.Checked = bp.TriggerOnStore; editTriggerConditions.Text = bp.Conditions; } }
private void UpdateApplyButton() { if (listBreakpoints.SelectedItems.Count > 0) { Types.Breakpoint bp = (Types.Breakpoint)listBreakpoints.SelectedItems[0].Tag; if ((bp.Address != GR.Convert.ToI32(editBPAddress.Text, 16)) || (bp.Conditions != editTriggerConditions.Text) || (bp.TriggerOnExec != checkTriggerExec.Checked) || (bp.TriggerOnLoad != checkTriggerLoad.Checked) || (bp.TriggerOnStore != checkTriggerStore.Checked)) { btnApplyChanges.Enabled = true; } else { btnApplyChanges.Enabled = false; } } else { btnApplyChanges.Enabled = false; } }
public DocEvent(Type EventType, Types.Breakpoint Breakpoint, int LineIndex) { this.EventType = EventType; this.Breakpoint = Breakpoint; this.LineIndex = LineIndex; }
public DocEvent(Type EventType, Types.Breakpoint Breakpoint) { this.EventType = EventType; this.Breakpoint = Breakpoint; }
private void AdjustItemText(ListViewItem Item, Types.Breakpoint Breakpoint) { if (Breakpoint.RemoteIndex == -1) { Item.Text = "-"; } else { Item.Text = Breakpoint.RemoteIndex.ToString(); } if (Breakpoint.DocumentFilename != "RetroDevStudio.DebugBreakpoints") { Item.SubItems[1].Text = Breakpoint.DocumentFilename; } else { Item.SubItems[1].Text = "---"; } if (Breakpoint.LineIndex == -1) { Item.SubItems[2].Text = "-"; } else { Item.SubItems[2].Text = (Breakpoint.LineIndex + 1).ToString(); } string triggerDesc = ""; if (Breakpoint.TriggerOnExec) { triggerDesc += "X"; } if (Breakpoint.TriggerOnStore) { triggerDesc += "S"; } if (Breakpoint.TriggerOnLoad) { triggerDesc += "L"; } Item.SubItems[3].Text = triggerDesc; Item.SubItems[4].Text = Breakpoint.Conditions; if (Breakpoint.AddressSource != null) { if (Breakpoint.Address != -1) { Item.SubItems[5].Text = Breakpoint.AddressSource + " ($" + Breakpoint.Address.ToString("x4") + ")"; } else { Item.SubItems[5].Text = Breakpoint.AddressSource; } } else if (Breakpoint.Address != -1) { Item.SubItems[5].Text = "$" + Breakpoint.Address.ToString("x4"); } else { Item.SubItems[5].Text = "----"; } }