protected override bool OnButtonPressEvent(EventButton evnt) { if (evnt.TriggersContextMenu()) { int startLine = widget.Editor.YToLine(widget.Editor.VAdjustment.Value + evnt.Y); menuAnnotation = startLine > 0 && startLine <= annotations.Count ? annotations[startLine - 1] : null; CommandEntrySet opset = new CommandEntrySet(); opset.AddItem(BlameCommands.ShowDiff); opset.AddItem(BlameCommands.ShowLog); opset.AddItem(BlameCommands.ShowBlameBefore); opset.AddItem(Command.Separator); opset.AddItem(BlameCommands.CopyRevision); IdeApp.CommandService.ShowContextMenu(this, evnt, opset, this); return(true); } else { if (evnt.X < leftSpacer) { grabTime = evnt.Time; var status = Gdk.Pointer.Grab(this.GdkWindow, false, EventMask.PointerMotionHintMask | EventMask.Button1MotionMask | EventMask.ButtonReleaseMask | EventMask.EnterNotifyMask | EventMask.LeaveNotifyMask, null, null, grabTime); if (status == GrabStatus.Success) { dragPosition = evnt.X; } } } return(base.OnButtonPressEvent(evnt)); }
void SetupMenu() { menuSet.AddItem(EditCommands.Copy); menuSet.AddItem(EditCommands.Cut); menuSet.AddItem(EditCommands.Paste); menuSet.AddItem(EditCommands.SelectAll); }
protected override bool OnButtonPressEvent(EventButton evnt) { if (evnt.TriggersContextMenu()) { CommandEntrySet opset = new CommandEntrySet(); opset.AddItem(BlameCommands.ShowDiff); opset.AddItem(BlameCommands.ShowLog); opset.AddItem(Command.Separator); opset.AddItem(BlameCommands.CopyRevision); IdeApp.CommandService.ShowContextMenu(this, evnt, opset, this); return(true); } else { if (evnt.X < leftSpacer) { grabTime = evnt.Time; var status = Gdk.Pointer.Grab(this.GdkWindow, false, EventMask.PointerMotionHintMask | EventMask.Button1MotionMask | EventMask.ButtonReleaseMask | EventMask.EnterNotifyMask | EventMask.LeaveNotifyMask, null, null, grabTime); if (status == GrabStatus.Success) { dragPosition = evnt.X; } } } return(base.OnButtonPressEvent(evnt)); }
void OnPopupMenu(object o, PopupMenuArgs args) { CommandEntrySet opset = new CommandEntrySet(); opset.AddItem(EditCommands.Copy); opset.AddItem(EditCommands.SelectAll); IdeApp.CommandService.ShowContextMenu(opset, this); }
void OnPopupMenu(object sender, PopupMenuArgs args) { var contextMenu = new CommandEntrySet(); contextMenu.AddItem(ViewCommands.Open); contextMenu.AddItem(EditCommands.Copy); contextMenu.AddItem(EditCommands.SelectAll); IdeApp.CommandService.ShowContextMenu(contextMenu, this); }
static ObjectValueTreeView() { // Context menu definition menuSet = new CommandEntrySet(); menuSet.AddItem(DebugCommands.AddWatch); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.Rename); menuSet.AddItem(EditCommands.Delete); }
void HandleInspectEditorButtonPressEvent(object o, ButtonPressEventArgs args) { if (args.Event.Button != 3) { return; } var menuSet = new CommandEntrySet(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); IdeApp.CommandService.ShowContextMenu(menuSet, this); }
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); }
protected override void Run() { var doc = MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument; var view = doc.GetContent <MonoDevelop.SourceEditor.SourceEditorView> (); if (view == null) { LoggingService.LogWarning("ShowFixesHandler could not find a SourceEditorView"); return; } var widget = view.TextEditor; var pt = view.DocumentToScreenLocation(doc.Editor.Caret.Location); var ces = new CommandEntrySet(); ces.AddItem(AnalysisCommands.FixOperations); var menu = MonoDevelop.Ide.IdeApp.CommandService.CreateMenu(ces); menu.Popup(null, null, delegate(Menu mn, out int x, out int y, out bool push_in) { x = pt.X; y = pt.Y; push_in = true; //if the menu would be off the bottom of the screen, "drop" it upwards if (y + mn.Requisition.Height > widget.Screen.Height) { y -= mn.Requisition.Height + (int)widget.LineHeight; } }, 0, Global.CurrentEventTime); }
protected virtual void OnPopulatePopup(object sender, PopulatePopupArgs args) { CommandEntrySet cset = IdeApp.CommandService.CreateCommandEntrySet("/MonoDevelop/Database/ContextMenu/SqlEditor"); if (cset.Count > 0) { cset.AddItem(Command.Separator); IdeApp.CommandService.InsertOptions(args.Menu, cset, 0); } }
protected override void OnPopulatePopup(Menu menu) { HideLanguageItemWindow(); CommandEntrySet cset = IdeApp.CommandService.CreateCommandEntrySet("/MonoDevelop/SourceEditor/ContextMenu/Editor"); if (cset.Count > 0) { cset.AddItem(Command.Separator); IdeApp.CommandService.InsertOptions(menu, cset, 0); } base.OnPopulatePopup(menu); }
internal void ShowContextMenu(int x, int y, Annotation annotation) { this.menuAnnotation = annotation; var opset = new CommandEntrySet(); opset.AddItem(BlameCommands.ShowDiff); opset.AddItem(BlameCommands.ShowLog); opset.AddItem(BlameCommands.ShowPreviousBlame); opset.AddItem(BlameCommands.ShowBlameBefore); opset.AddItem(Command.Separator); opset.AddItem(BlameCommands.CopyRevision); IdeApp.CommandService.ShowContextMenu(this, x, y, opset, this); }
public MenuButtonEntry(Gtk.Entry entry, Gtk.Button button) { if (entry == null) { entry = new Gtk.Entry(); } if (button == null) { button = new Gtk.Button(new Gtk.Arrow(Gtk.ArrowType.Right, Gtk.ShadowType.Out)); } this.entry = entry; this.button = button; manager = new CommandManager(); manager.RegisterGlobalHandler(this); if (entry.Parent == null) { PackStart(entry, true, true, 0); } if (button.Parent == null) { PackStart(button, false, false, 2); } ActionCommand cmd = new ActionCommand("InsertOption", "InsertOption", null); cmd.CommandArray = true; manager.RegisterCommand(cmd); entrySet = new CommandEntrySet(); entrySet.AddItem("InsertOption"); button.Clicked += ShowQuickInsertMenu; button.StateChanged += ButtonStateChanged; }
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 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; }
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; 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; }