void OnPopupMenu(object o, EventArgs args) { object commandChain = this; CommandEntrySet opset = new CommandEntrySet(); VersionControlItemList items = GetSelectedItems(); foreach (object ob in AddinManager.GetExtensionNodes("/MonoDevelop/VersionControl/StatusViewCommands")) { if (ob is TypeExtensionNode) { TypeExtensionNode node = (TypeExtensionNode)ob; opset.AddItem(ParseCommandId(node)); VersionControlCommandHandler handler = node.CreateInstance() as VersionControlCommandHandler; if (handler == null) { LoggingService.LogError("Invalid type specified in extension point 'MonoDevelop/VersionControl/StatusViewCommands'. Subclass of 'VersionControlCommandHandler' expected."); continue; } handler.Init(items); CommandRouter rt = new CommandRouter(handler); rt.Next = commandChain; commandChain = rt; } else { opset.AddSeparator(); } } IdeApp.CommandService.ShowContextMenu(opset, commandChain); }
static ObjectValueTreeView() { // Context menu definition menuSet = new CommandEntrySet(); menuSet.AddItem(DebugCommands.AddWatch); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.Rename); menuSet.AddItem(EditCommands.Delete); }
public void Initialize(IPadWindow window) { // Toolbar and menu definitions ActionCommand gotoCmd = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to File")); ActionCommand propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Properties"), Gtk.Stock.Properties); menuSet = new CommandEntrySet(); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(DebugCommands.EnableDisableBreakpoint); menuSet.AddItem(DebugCommands.ClearAllBreakpoints); menuSet.AddItem(DebugCommands.DisableAllBreakpoints); menuSet.AddItem(EditCommands.DeleteKey); menuSet.AddSeparator(); menuSet.Add(propertiesCmd); CommandEntrySet toolbarSet = new CommandEntrySet(); toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint); toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints); toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints); toolbarSet.AddItem(EditCommands.Delete); toolbarSet.AddSeparator(); toolbarSet.Add(propertiesCmd); // The breakpoint list store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(object), typeof(string), typeof(string), typeof(string), typeof(string)); tree = new PadTreeView(); tree.Model = store; tree.RulesHint = true; tree.HeadersVisible = true; tree.DoPopupMenu = ShowPopup; tree.KeyPressEvent += OnKeyPressEvent; treeState = new TreeViewState(tree, (int)Columns.Breakpoint); TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererIcon(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", (int)Columns.Icon); tree.AppendColumn(col); Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle(); toggleRender.Toggled += new ToggledHandler(ItemToggled); col = new TreeViewColumn(); col.PackStart(toggleRender, false); col.AddAttribute(toggleRender, "active", (int)Columns.Selected); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); CellRenderer crt = tree.TextRenderer; FrameCol.Title = GettextCatalog.GetString("Name"); FrameCol.PackStart(crt, true); FrameCol.AddAttribute(crt, "text", (int)Columns.FileName); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace); col.Resizable = true; sw = new Gtk.ScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(tree); control = sw; control.ShowAll(); bps = DebuggingService.Breakpoints; UpdateDisplay(); breakpointUpdatedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointUpdated); breakpointRemovedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointRemoved); breakpointAddedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointAdded); breakpointChangedHandler = DispatchService.GuiDispatch <EventHandler> (OnBreakpointChanged); DebuggingService.Breakpoints.BreakpointAdded += breakpointAddedHandler; DebuggingService.Breakpoints.BreakpointRemoved += breakpointRemovedHandler; DebuggingService.Breakpoints.Changed += breakpointChangedHandler; DebuggingService.Breakpoints.BreakpointUpdated += breakpointUpdatedHandler; DebuggingService.PausedEvent += OnDebuggerStatusCheck; DebuggingService.ResumedEvent += OnDebuggerStatusCheck; DebuggingService.StoppedEvent += OnDebuggerStatusCheck; tree.RowActivated += OnRowActivated; DockItemToolbar toolbar = window.GetToolbar(PositionType.Top); toolbar.Add(toolbarSet, sw); toolbar.ShowAll(); }
public BugsViewWidget(BugzillaServer server) { this.Build(); this.server = server; bugsStore = new TreeStore( typeof(BugInfo), typeof(string), // Group typeof(int), // Id typeof(int), // Local priority typeof(string), // Status typeof(string), // Severity typeof(string), // Target Milestone typeof(int), // Age typeof(string), // Assignee typeof(string), // ColOS typeof(string), // Component typeof(string), // Summary typeof(int), // Weight typeof(Gdk.Color), // Back color typeof(Gdk.Color), // Font color typeof(string) // Summary ); bugsList.Model = bugsStore; /* CellRendererSpin spin = new CellRendererSpin (); * spin.Digits = 1; */ CellRendererText spin = new CellRendererText(); spin.Editable = true; spin.Edited += HandleSpinEdited; groupColumns = new TreeViewColumn [Enum.GetValues(typeof(GroupCommand)).Length - 1]; groupColumn = bugsList.AppendColumn("Category", new CellRendererText(), "text", ColGroup); bugsList.AppendColumn("Id", new CellRendererText(), "text", ColId); bugsList.AppendColumn("Prio", spin, "text", ColPriority); groupColumns [(int)GroupCommand.GroupByStatus] = bugsList.AppendColumn("Status", new CellRendererText(), "text", ColStatus); groupColumns [(int)GroupCommand.GroupBySeverity] = bugsList.AppendColumn("Severity", new CellRendererText(), "text", ColSeverity); groupColumns [(int)GroupCommand.GroupByMilestone] = bugsList.AppendColumn("Milestone", new CellRendererText(), "text", ColTargetMilestone); bugsList.AppendColumn("Age", new CellRendererText(), "text", ColAge); groupColumns [(int)GroupCommand.GroupByOwner] = bugsList.AppendColumn("Assigned", new CellRendererText(), "text", ColAssignee); bugsList.AppendColumn("OS", new CellRendererText(), "text", ColOS); groupColumns [(int)GroupCommand.GroupByComponent] = bugsList.AppendColumn("Component", new CellRendererText(), "text", ColComponent); groupColumns [(int)GroupCommand.GroupByTag] = bugsList.AppendColumn("Tags", new CellRendererText(), "text", ColTags); CellRendererText ct = new CellRendererText(); bugsList.AppendColumn("Summary", ct, "text", ColSummary); int n = 1; foreach (TreeViewColumn col in bugsList.Columns) { col.SortColumnId = n++; col.Clickable = true; col.Resizable = true; col.Reorderable = true; CellRendererText crt = (CellRendererText)col.CellRenderers[0]; col.AddAttribute(crt, "weight", ColWeight); col.AddAttribute(crt, "background-gdk", ColBackColor); col.AddAttribute(crt, "foreground-gdk", ColFontColor); } bugsList.DragBegin += HandleBugsListDragBegin; bugsList.DragDataReceived += HandleBugsListDragDataReceived; bugsList.DragEnd += HandleBugsListDragEnd; bugsList.DragMotion += HandleBugsListDragMotion; bugsList.Selection.Mode = SelectionMode.Multiple; bugsList.Selection.Changed += HandleBugsListSelectionChanged; Gtk.TargetEntry[] targets = new Gtk.TargetEntry [] { new TargetEntry("bug", TargetFlags.Widget, 0) }; // bugsList.EnableModelDragSource (Gdk.ModifierType.None, targets, Gdk.DragAction.Move); Gtk.Drag.SourceSet(bugsList, Gdk.ModifierType.Button1Mask, targets, Gdk.DragAction.Move); bugsList.EnableModelDragDest(targets, Gdk.DragAction.Move); ActionCommand setPrioHigh = new ActionCommand(LocalCommands.SetPriorityHigh, GettextCatalog.GetString("Set High Priority (Bottom)")); ActionCommand setPrioMed = new ActionCommand(LocalCommands.SetPriorityMed, GettextCatalog.GetString("Set Medium Priority (Bottom)")); ActionCommand setPrioLow = new ActionCommand(LocalCommands.SetPriorityLow, GettextCatalog.GetString("Set Low Priority (Bottom)")); ActionCommand setPrioHighTop = new ActionCommand(LocalCommands.SetPriorityHighTop, GettextCatalog.GetString("Set High Priority (Top)")); ActionCommand setPrioMedTop = new ActionCommand(LocalCommands.SetPriorityMedTop, GettextCatalog.GetString("Set Medium Priority (Top)")); ActionCommand setPrioLowTop = new ActionCommand(LocalCommands.SetPriorityLowTop, GettextCatalog.GetString("Set Low Priority (Top)")); ActionCommand toggleRead = new ActionCommand(LocalCommands.ToggleNewMarker, GettextCatalog.GetString("Mark as Changed")); ActionCommand openInBrowser = new ActionCommand(LocalCommands.OpenInBrowser, GettextCatalog.GetString("Open in Browser")); ActionCommand refreshBugInfo = new ActionCommand(LocalCommands.RefreshFromSever, GettextCatalog.GetString("Refresh From Server")); ActionCommand setTagCommand = new ActionCommand(LocalCommands.TagsList, GettextCatalog.GetString("Set tag")); ActionCommand clearTagsCommand = new ActionCommand(LocalCommands.ClearTags, GettextCatalog.GetString("Clear Tags")); ActionCommand editTagsCommand = new ActionCommand(LocalCommands.EditTags, GettextCatalog.GetString("Edit Tags")); setTagCommand.CommandArray = true; setTagCommand.ActionType = ActionType.Check; menuSet = new CommandEntrySet(); menuSet.Add(openInBrowser); menuSet.AddSeparator(); menuSet.Add(setPrioHighTop); menuSet.Add(setPrioHigh); menuSet.Add(setPrioMedTop); menuSet.Add(setPrioMed); menuSet.Add(setPrioLowTop); menuSet.Add(setPrioLow); menuSet.AddSeparator(); CommandEntrySet tagsSet = menuSet.AddItemSet(GettextCatalog.GetString("Tags")); tagsSet.Add(setTagCommand); tagsSet.AddSeparator(); tagsSet.Add(clearTagsCommand); tagsSet.Add(editTagsCommand); menuSet.Add(toggleRead); menuSet.AddSeparator(); menuSet.Add(refreshBugInfo); // Manage menu ActionCommand newServer = new ActionCommand(LocalCommands.NewServer, GettextCatalog.GetString("Add Server...")); ActionCommand deleteServer = new ActionCommand(LocalCommands.DeleteServer, GettextCatalog.GetString("Remove Server")); ActionCommand editServer = new ActionCommand(LocalCommands.EditServer, GettextCatalog.GetString("Edit Server")); CommandEntrySet adminMenuSet = new CommandEntrySet(); adminMenuSet.Add(newServer); adminMenuSet.Add(deleteServer); adminMenuSet.Add(editServer); // Edit button MenuButton editButton = new MenuButton(); editButton.Relief = ReliefStyle.None; editButton.Label = GettextCatalog.GetString("Manage"); editButton.MenuCreator = delegate { return(IdeApp.CommandService.CreateMenu(adminMenuSet)); }; hboxHeader.PackStart(editButton, false, false, 0); Box.BoxChild ch = (Box.BoxChild)hboxHeader [editButton]; ch.Position = 1; editButton.ShowAll(); // Group by button CommandEntrySet groupByMenuSet = new CommandEntrySet(); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByNothing, GettextCatalog.GetString("Don't group"))); groupByMenuSet.AddSeparator(); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByComponent, GettextCatalog.GetString("Component"))); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByMilestone, GettextCatalog.GetString("Target Milestone"))); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByOwner, GettextCatalog.GetString("Assigned To"))); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupBySeverity, GettextCatalog.GetString("Severity"))); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByStatus, GettextCatalog.GetString("Status"))); groupByMenuSet.Add(new ActionCommand(GroupCommand.GroupByTag, GettextCatalog.GetString("Tag"))); MenuButton groupButton = new MenuButton(); groupButton.Relief = ReliefStyle.None; groupButton.Label = GettextCatalog.GetString("Group By"); groupButton.MenuCreator = delegate { return(IdeApp.CommandService.CreateMenu(groupByMenuSet)); }; hboxHeader.PackStart(groupButton, false, false, 0); ch = (Box.BoxChild)hboxHeader [groupButton]; ch.Position = 4; groupButton.ShowAll(); // Load data FillServers(); FillServer(null); }
public StackTracePad() { this.ShadowType = ShadowType.None; ActionCommand gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame")); menuSet = new CommandEntrySet(); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style)); tree = new MonoDevelop.Ide.Gui.Components.PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; tree.Selection.Mode = SelectionMode.Multiple; tree.DoPopupMenu = ShowPopup; TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererIcon(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", 0); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); FrameCol.Title = GettextCatalog.GetString("Name"); FrameCol.PackStart(tree.TextRenderer, true); FrameCol.AddAttribute(tree.TextRenderer, "text", 1); FrameCol.AddAttribute(tree.TextRenderer, "foreground", 5); FrameCol.AddAttribute(tree.TextRenderer, "style", 6); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("File"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 2); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Language"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 3); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Address"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 4); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); Add(tree); ShowAll(); current_backtrace = DebuggingService.CurrentCallStack; UpdateDisplay(); DebuggingService.CallStackChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnClassStackChanged)); DebuggingService.CurrentFrameChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnFrameChanged)); tree.RowActivated += OnRowActivated; }
protected override void Initialize(IPadWindow window) { Id = "MonoDevelop.Debugger.BreakpointPad"; // Toolbar and menu definitions ActionCommand gotoCmd = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to File")); ActionCommand propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Edit Breakpoint…"), Stock.Properties); menuSet = new CommandEntrySet(); menuSet.Add(propertiesCmd); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(DebugCommands.EnableDisableBreakpoint); menuSet.AddItem(DebugCommands.DisableAllBreakpoints); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.DeleteKey); menuSet.AddItem(DebugCommands.ClearAllBreakpoints); CommandEntrySet toolbarSet = new CommandEntrySet(); toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint); toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints); toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints); toolbarSet.AddItem(EditCommands.Delete); toolbarSet.AddSeparator(); toolbarSet.Add(propertiesCmd); toolbarSet.AddSeparator(); toolbarSet.Add(new CommandEntry(DebugCommands.NewFunctionBreakpoint) { DisplayType = CommandEntryDisplayType.IconAndText }); toolbarSet.Add(new CommandEntry(DebugCommands.NewCatchpoint) { DisplayType = CommandEntryDisplayType.IconAndText }); // The breakpoint list store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(object), typeof(string), typeof(string), typeof(string), typeof(string)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Icon", "store__Selected", "store_FileName", "store_Breakpoint", "store_Condition", "store_TraceExp", "store_HitCount", "store_LastTrace"); TypeDescriptor.AddAttributes(store, modelAttr); tree = new PadTreeView(); tree.Model = store; tree.RulesHint = true; tree.HeadersVisible = true; tree.DoPopupMenu = ShowPopup; tree.KeyPressEvent += OnKeyPressEvent; tree.Selection.Mode = SelectionMode.Multiple; treeState = new TreeViewState(tree, (int)Columns.Breakpoint); TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererImage(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", (int)Columns.Icon); tree.AppendColumn(col); Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle(); toggleRender.Toggled += new ToggledHandler(ItemToggled); col = new TreeViewColumn(); col.PackStart(toggleRender, false); col.AddAttribute(toggleRender, "active", (int)Columns.Selected); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); CellRenderer crt = tree.TextRenderer; FrameCol.Title = GettextCatalog.GetString("Name"); FrameCol.PackStart(crt, true); FrameCol.AddAttribute(crt, "text", (int)Columns.FileName); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace); col.Resizable = true; sw = new Gtk.ScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(tree); control = sw; control.ShowAll(); breakpoints = DebuggingService.Breakpoints; UpdateDisplay(); breakpoints.BreakpointAdded += OnBreakpointAdded; breakpoints.BreakpointRemoved += OnBreakpointRemoved; breakpoints.Changed += OnBreakpointChanged; breakpoints.BreakpointUpdated += OnBreakpointUpdated; DebuggingService.PausedEvent += OnDebuggerStatusCheck; DebuggingService.ResumedEvent += OnDebuggerStatusCheck; DebuggingService.StoppedEvent += OnDebuggerStatusCheck; tree.RowActivated += OnRowActivated; DockItemToolbar toolbar = window.GetToolbar(DockPositionType.Top); toolbar.Add(toolbarSet, sw); toolbar.ShowAll(); }
public StackTracePad() { this.ShadowType = ShadowType.None; ActionCommand evalCmd = new ActionCommand("StackTracePad.EvaluateMethodParams", GettextCatalog.GetString("Evaluate Method Parameters")); ActionCommand gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame")); menuSet = new CommandEntrySet(); menuSet.Add(evalCmd); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(bool)); tree = new PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; tree.Selection.Mode = SelectionMode.Multiple; tree.SearchEqualFunc = Search; tree.EnableSearch = true; tree.SearchColumn = 1; tree.ButtonPressEvent += HandleButtonPressEvent; tree.DoPopupMenu = ShowPopup; TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererIcon(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", 0); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); FrameCol.Title = GettextCatalog.GetString("Name"); refresh = new CellRendererIcon(); refresh.Pixbuf = ImageService.GetPixbuf(Gtk.Stock.Refresh).ScaleSimple(12, 12, Gdk.InterpType.Hyper); FrameCol.PackStart(refresh, false); FrameCol.AddAttribute(refresh, "visible", 8); FrameCol.PackStart(tree.TextRenderer, true); FrameCol.AddAttribute(tree.TextRenderer, "text", 1); FrameCol.AddAttribute(tree.TextRenderer, "foreground", 5); FrameCol.AddAttribute(tree.TextRenderer, "style", 6); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("File"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 2); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Language"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 3); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Address"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 4); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); Add(tree); ShowAll(); current_backtrace = DebuggingService.CurrentCallStack; UpdateDisplay(); DebuggingService.CallStackChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnClassStackChanged)); DebuggingService.CurrentFrameChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnFrameChanged)); tree.RowActivated += OnRowActivated; }
public StackTracePad() { this.ShadowType = ShadowType.None; var evalCmd = new ActionCommand("StackTracePad.EvaluateMethodParams", GettextCatalog.GetString("Evaluate Method Parameters")); var gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame")); menuSet = new CommandEntrySet(); menuSet.Add(evalCmd); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); store = new ListStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(int), typeof(bool)); tree = new PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; tree.Selection.Mode = SelectionMode.Multiple; tree.SearchEqualFunc = Search; tree.EnableSearch = true; tree.SearchColumn = 1; tree.ButtonPressEvent += HandleButtonPressEvent; tree.DoPopupMenu = ShowPopup; var col = new TreeViewColumn(); var crp = new CellRendererImage(); col.PackStart(crp, false); crp.Image = pointerImage; col.AddAttribute(crp, "visible", IconColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Name"); refresh = new CellRendererImage(); refresh.Image = ImageService.GetIcon(Gtk.Stock.Refresh).WithSize(12, 12); col.PackStart(refresh, false); col.AddAttribute(refresh, "visible", CanRefreshColumn); col.PackStart(tree.TextRenderer, true); col.AddAttribute(tree.TextRenderer, "text", MethodColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); col.AddAttribute(tree.TextRenderer, "style", StyleColumn); col.Resizable = true; col.Alignment = 0.0f; tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("File"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", FileColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Language"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", LangColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Address"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", AddrColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); Add(tree); ShowAll(); UpdateDisplay(); DebuggingService.CallStackChanged += OnClassStackChanged; DebuggingService.CurrentFrameChanged += OnFrameChanged; DebuggingService.StoppedEvent += OnDebuggingServiceStopped; tree.RowActivated += OnRowActivated; }