private ListViewItem CreateListItem(ProgramProcedure item) { string[] subItems = CreateListItemTexts(item); return(new ListViewItem(subItems) { Tag = item }); }
private static string[] CreateListItemTexts(ProgramProcedure item) { var segName = item.Program.SegmentMap.TryFindSegment(item.Procedure.EntryAddress, out var seg) ? seg.Name : "???"; var subItems = new[] { item.Procedure.EntryAddress.ToString(), item.Procedure.Name, segName }; return subItems; }
public bool QueryStatus(CommandID cmdId, CommandStatus status, CommandText text) { int cItems = listProcedures.SelectedItems.Count; var singleItemSelected = cItems == 1; ProgramProcedure pp = default; if (singleItemSelected && listProcedures.SelectedItems[0].Tag is not null) { pp = (ProgramProcedure)listProcedures.SelectedItems[0].Tag; } if (cmdId.Guid == CmdSets.GuidReko) { switch (cmdId.ID) { case CmdIds.ActionEditSignature: case CmdIds.ViewGoToAddress: case CmdIds.ShowProcedureCallHierarchy: status.Status = singleItemSelected ? MenuStatus.Enabled | MenuStatus.Visible : MenuStatus.Visible; return(true); #if DEBUG case CmdIds.ProcedureDebugTrace: var st = MenuStatus.Visible; if (singleItemSelected) { if (pp.Program.User.DebugTraceProcedures.Contains(pp.Procedure.Name)) { st |= MenuStatus.Checked; } if (singleItemSelected) { st |= MenuStatus.Enabled; } } status.Status = st; return(true); #endif } } return(false); }
private bool FilterProcedure(string searchtext, ProgramProcedure sItem) { return(sItem.Procedure.EntryAddress.ToString().Contains(searchtext) || sItem.Procedure.Name.Contains(searchtext)); }