public ThreadsPadWidget() { this.ShadowType = ShadowType.None; store = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(object), typeof(int), typeof(string), typeof(object)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Icon", "store__Id", "store_Name", "store_Object", "store_Weight", "store_Location"); TypeDescriptor.AddAttributes(store, modelAttr); tree = new PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; treeViewState = new TreeViewState(tree, (int)Columns.Object); TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererImage(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", (int)Columns.Icon); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); FrameCol.Title = GettextCatalog.GetString("Id"); FrameCol.PackStart(tree.TextRenderer, true); FrameCol.AddAttribute(tree.TextRenderer, "text", (int)Columns.Id); FrameCol.AddAttribute(tree.TextRenderer, "weight", (int)Columns.Weight); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Name"); col.Resizable = true; col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", (int)Columns.Name); col.AddAttribute(tree.TextRenderer, "weight", (int)Columns.Weight); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Location"); col.Resizable = true; col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", (int)Columns.Location); col.AddAttribute(tree.TextRenderer, "weight", (int)Columns.Weight); tree.AppendColumn(col); Add(tree); ShowAll(); UpdateDisplay(); tree.RowActivated += OnRowActivated; tree.DoPopupMenu = ShowPopup; DebuggingService.CallStackChanged += OnStackChanged; DebuggingService.PausedEvent += OnDebuggerPaused; DebuggingService.ResumedEvent += OnDebuggerResumed; DebuggingService.StoppedEvent += OnDebuggerStopped; }
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(); }
void CreateControl() { control = new HPaned(); store = new Gtk.TreeStore(typeof(Xwt.Drawing.Image), // image - type typeof(bool), // read? typeof(Task), // read? -- use Pango weight typeof(string)); TreeModelFilterVisibleFunc filterFunct = new TreeModelFilterVisibleFunc(FilterTasks); filter = new TreeModelFilter(store, null); filter.VisibleFunc = filterFunct; sort = new TreeModelSort(filter); sort.SetSortFunc(VisibleColumns.Type, SeverityIterSort); sort.SetSortFunc(VisibleColumns.Project, ProjectIterSort); sort.SetSortFunc(VisibleColumns.File, FileIterSort); view = new PadTreeView(sort); view.ShowExpanders = true; view.RulesHint = true; view.DoPopupMenu = (evnt) => IdeApp.CommandService.ShowContextMenu(view, evnt, CreateMenu()); AddColumns(); LoadColumnsVisibility(); view.Columns[VisibleColumns.Type].SortColumnId = VisibleColumns.Type; view.Columns[VisibleColumns.Project].SortColumnId = VisibleColumns.Project; view.Columns[VisibleColumns.File].SortColumnId = VisibleColumns.File; sw = new MonoDevelop.Components.CompactScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(view); TaskService.Errors.TasksRemoved += DispatchService.GuiDispatch <TaskEventHandler> (ShowResults); TaskService.Errors.TasksAdded += DispatchService.GuiDispatch <TaskEventHandler> (TaskAdded); TaskService.Errors.TasksChanged += DispatchService.GuiDispatch <TaskEventHandler> (TaskChanged); TaskService.Errors.CurrentLocationTaskChanged += HandleTaskServiceErrorsCurrentLocationTaskChanged; IdeApp.Workspace.FirstWorkspaceItemOpened += OnCombineOpen; IdeApp.Workspace.LastWorkspaceItemClosed += OnCombineClosed; view.RowActivated += new RowActivatedHandler(OnRowActivated); iconWarning = ImageService.GetIcon(Ide.Gui.Stock.Warning, Gtk.IconSize.Menu); iconError = ImageService.GetIcon(Ide.Gui.Stock.Error, Gtk.IconSize.Menu); iconInfo = ImageService.GetIcon(Ide.Gui.Stock.Information, Gtk.IconSize.Menu); iconEmpty = ImageService.GetIcon(Ide.Gui.Stock.Empty, Gtk.IconSize.Menu); control.Add1(sw); outputView = new LogView(); control.Add2(outputView); Control.ShowAll(); control.SizeAllocated += HandleControlSizeAllocated; bool outputVisible = PropertyService.Get <bool> (outputViewVisiblePropertyName, false); if (outputVisible) { outputView.Visible = true; logBtn.Active = true; } else { outputView.Hide(); } sw.SizeAllocated += HandleSwSizeAllocated; // Load existing tasks foreach (Task t in TaskService.Errors) { AddTask(t); } control.FocusChain = new Gtk.Widget [] { sw }; }
void CreateControl() { control = new HPaned(); store = new Gtk.TreeStore(typeof(Xwt.Drawing.Image), // image - type typeof(bool), // read? typeof(TaskListEntry), // read? -- use Pango weight typeof(string)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Type", "store__Read", "store__Task", "store__Description"); TypeDescriptor.AddAttributes(store, modelAttr); TreeModelFilterVisibleFunc filterFunct = new TreeModelFilterVisibleFunc(FilterTasks); filter = new TreeModelFilter(store, null); filter.VisibleFunc = filterFunct; sort = new TreeModelSort(filter); sort.SetSortFunc(VisibleColumns.Type, SeverityIterSort); sort.SetSortFunc(VisibleColumns.Project, ProjectIterSort); sort.SetSortFunc(VisibleColumns.File, FileIterSort); sort.SetSortFunc(VisibleColumns.Category, CategoryIterSort); view = new PadTreeView(sort); view.Selection.Mode = SelectionMode.Multiple; view.ShowExpanders = true; view.RulesHint = true; view.DoPopupMenu += ShowPopup; AddColumns(); LoadColumnsVisibility(); view.Columns [VisibleColumns.Type].SortColumnId = VisibleColumns.Type; view.Columns [VisibleColumns.Project].SortColumnId = VisibleColumns.Project; view.Columns [VisibleColumns.File].SortColumnId = VisibleColumns.File; view.Columns [VisibleColumns.Category].SortColumnId = VisibleColumns.Category; sw = new MonoDevelop.Components.CompactScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(view); TaskService.Errors.TasksRemoved += ShowResults; TaskService.Errors.TasksAdded += TaskAdded; TaskService.Errors.TasksChanged += TaskChanged; TaskService.Errors.CurrentLocationTaskChanged += HandleTaskServiceErrorsCurrentLocationTaskChanged; IdeApp.Workspace.FirstWorkspaceItemOpened += OnCombineOpen; IdeApp.Workspace.LastWorkspaceItemClosed += OnCombineClosed; view.RowActivated += new RowActivatedHandler(OnRowActivated); iconWarning = ImageService.GetIcon(Ide.Gui.Stock.Warning, Gtk.IconSize.Menu); iconError = ImageService.GetIcon(Ide.Gui.Stock.Error, Gtk.IconSize.Menu); iconInfo = ImageService.GetIcon(Ide.Gui.Stock.Information, Gtk.IconSize.Menu); iconEmpty = ImageService.GetIcon(Ide.Gui.Stock.Empty, Gtk.IconSize.Menu); control.Add1(sw); control.ShowAll(); // Load existing tasks foreach (TaskListEntry t in TaskService.Errors) { AddTask(t); } }
public SearchResultWidget() { var vbox = new VBox(); var toolbar = new Toolbar() { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart(vbox, true, true, 0); this.PackStart(toolbar, false, false, 0); labelStatus = new Label() { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned(); vbox.PackStart(hpaned, true, true, 0); vbox.PackStart(labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow(); hpaned.Pack1(resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow(); hpaned.Pack2(scrolledwindowLogView, true, true); textviewLog = new TextView() { Editable = false, }; scrolledwindowLogView.Add(textviewLog); store = new ListStore(typeof(SearchResult), typeof(bool) // didRead ); treeviewSearchResults = new PadTreeView() { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add(treeviewSearchResults); this.ShowAll(); var fileNameColumn = new TreeViewColumn { Resizable = false, SortColumnId = 0, Title = GettextCatalog.GetString("File") }; fileNameColumn.FixedWidth = 200; var fileNamePixbufRenderer = new CellRendererPixbuf(); fileNameColumn.PackStart(fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc(fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart(treeviewSearchResults.TextRenderer, true); fileNameColumn.SetCellDataFunc(treeviewSearchResults.TextRenderer, FileNameDataFunc); treeviewSearchResults.AppendColumn(fileNameColumn); // TreeViewColumn lineColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Line"), new CellRendererText (), ResultLineDataFunc); // lineColumn.SortColumnId = 1; // lineColumn.FixedWidth = 50; // TreeViewColumn textColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Text"), treeviewSearchResults.TextRenderer, ResultTextDataFunc); textColumn.SortColumnId = 2; textColumn.Resizable = false; textColumn.FixedWidth = 300; TreeViewColumn pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"), treeviewSearchResults.TextRenderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = false; pathColumn.FixedWidth = 500; store.SetSortFunc(0, CompareFileNames); // store.SetSortFunc (1, CompareLineNumbers); store.SetSortFunc(3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton(Stock.Stop) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString("Stop"); toolbar.Insert(buttonStop, -1); var buttonClear = new ToolButton(Gtk.Stock.Clear); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString("Clear results"); toolbar.Insert(buttonClear, -1); var buttonOutput = new ToggleToolButton(Gui.Stock.OutputIcon); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString("Show output"); toolbar.Insert(buttonOutput, -1); buttonPin = new ToggleToolButton(Gui.Stock.PinUp); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString("Pin results pad"); toolbar.Insert(buttonPin, -1); store.SetSortColumnId(3, SortType.Ascending); ShowAll(); scrolledwindowLogView.Hide(); }
public StackTracePadWidget() { this.ShadowType = ShadowType.None; store = new ListStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(int), typeof(bool)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Icon", "store__Method", "store_File", "store_Lang", "store_Addr", "store_Foreground", "store_Style", "store_Frame", "store_FrameIndex"); TypeDescriptor.AddAttributes(store, modelAttr); 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.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"); 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); col.Visible = false; //By default Language column is hidden 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); col.Visible = false; //By default Address column is hidden tree.AppendColumn(col); Add(tree); LoadColumnsVisibility(); LoadSettings(); ShowAll(); UpdateDisplay(); DebuggingService.CallStackChanged += OnClassStackChanged; DebuggingService.CurrentFrameChanged += OnFrameChanged; DebuggingService.StoppedEvent += OnDebuggingServiceStopped; tree.RowActivated += OnRowActivated; }
public SearchResultWidget() { var vbox = new VBox(); var toolbar = new Toolbar() { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart(vbox, true, true, 0); this.PackStart(toolbar, false, false, 0); labelStatus = new Label() { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned(); vbox.PackStart(hpaned, true, true, 0); vbox.PackStart(labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow(); hpaned.Pack1(resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow(); hpaned.Pack2(scrolledwindowLogView, true, true); textviewLog = new TextView() { Editable = false, }; scrolledwindowLogView.Add(textviewLog); store = new ListStore(typeof(SearchResult), typeof(bool) // didRead ); treeviewSearchResults = new PadTreeView() { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add(treeviewSearchResults); var projectColumn = new TreeViewColumn { Resizable = true, SortColumnId = 1, Title = GettextCatalog.GetString("Project"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 100 }; var projectPixbufRenderer = new CellRendererImage(); projectColumn.PackStart(projectPixbufRenderer, false); projectColumn.SetCellDataFunc(projectPixbufRenderer, ResultProjectIconDataFunc); var renderer = treeviewSearchResults.TextRenderer; renderer.Ellipsize = Pango.EllipsizeMode.End; projectColumn.PackStart(renderer, true); projectColumn.SetCellDataFunc(renderer, ResultProjectDataFunc); treeviewSearchResults.AppendColumn(projectColumn); var fileNameColumn = new TreeViewColumn { Resizable = true, SortColumnId = 2, Title = GettextCatalog.GetString("File"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 200 }; var fileNamePixbufRenderer = new CellRendererImage(); fileNameColumn.PackStart(fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc(fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart(renderer, true); fileNameColumn.SetCellDataFunc(renderer, FileNameDataFunc); treeviewSearchResults.AppendColumn(fileNameColumn); TreeViewColumn textColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Text"), renderer, ResultTextDataFunc); textColumn.Resizable = true; textColumn.Sizing = TreeViewColumnSizing.Fixed; textColumn.FixedWidth = 300; pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"), renderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = true; pathColumn.Sizing = TreeViewColumnSizing.Fixed; pathColumn.FixedWidth = 500; store.DefaultSortFunc = DefaultSortFunc; store.SetSortFunc(1, CompareProjectFileNames); store.SetSortFunc(2, CompareFileNames); store.SetSortFunc(3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton(new ImageView(Gui.Stock.Stop, Gtk.IconSize.Menu), null) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString("Stop"); toolbar.Insert(buttonStop, -1); var buttonClear = new ToolButton(new ImageView(Gui.Stock.Clear, Gtk.IconSize.Menu), null); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString("Clear results"); toolbar.Insert(buttonClear, -1); var buttonOutput = new ToggleToolButton(); buttonOutput.IconWidget = new ImageView(Gui.Stock.OutputIcon, Gtk.IconSize.Menu); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString("Show output"); toolbar.Insert(buttonOutput, -1); buttonPin = new ToggleToolButton(); buttonPin.IconWidget = new ImageView(Gui.Stock.PinUp, Gtk.IconSize.Menu); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString("Pin results pad"); toolbar.Insert(buttonPin, -1); // store.SetSortColumnId (3, SortType.Ascending); ShowAll(); scrolledwindowLogView.Hide(); treeviewSearchResults.FixedHeightMode = true; UpdateStyles(); IdeApp.Preferences.ColorScheme.Changed += UpdateStyles; }
void CreateView() { if (view != null) { return; } ReloadPriorities(); TaskService.CommentTasksChanged += OnCommentTasksChanged; CommentTag.SpecialCommentTagsChanged += OnCommentTagsChanged; MonoDevelopWorkspace.LoadingFinished += OnWorkspaceItemLoaded; IdeApp.Workspace.WorkspaceItemUnloaded += OnWorkspaceItemUnloaded; IdeApp.Workspace.LastWorkspaceItemClosed += LastWorkspaceItemClosed; IdeApp.Workbench.DocumentOpened += WorkbenchDocumentOpened; IdeApp.Workbench.DocumentClosed += WorkbenchDocumentClosed; highPrioColor = StringToColor(IdeApp.Preferences.UserTasksHighPrioColor); normalPrioColor = StringToColor(IdeApp.Preferences.UserTasksNormalPrioColor); lowPrioColor = StringToColor(IdeApp.Preferences.UserTasksLowPrioColor); store = new Gtk.ListStore( typeof(int), // line typeof(string), // desc typeof(string), // file typeof(string), // path typeof(TaskListEntry), // task typeof(Gdk.Color), // foreground color typeof(int)); // font weight sortModel = new TreeModelSort(store); view = new MonoDevelop.Ide.Gui.Components.PadTreeView(sortModel); view.RulesHint = true; view.SearchColumn = (int)Columns.Description; view.DoPopupMenu = ShowPopupMenu; view.RowActivated += new RowActivatedHandler(OnRowActivated); TreeViewColumn col; col = view.AppendColumn(GettextCatalog.GetString("Line"), view.TextRenderer, "text", Columns.Line, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.Clickable = false; col = view.AppendColumn(GettextCatalog.GetString("Description"), view.TextRenderer, "text", Columns.Description, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.SortColumnId = (int)Columns.Description; col.Resizable = true; col = view.AppendColumn(GettextCatalog.GetString("File"), view.TextRenderer, "text", Columns.File, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.SortColumnId = (int)Columns.File; col.Resizable = true; col = view.AppendColumn(GettextCatalog.GetString("Path"), view.TextRenderer, "text", Columns.Path, "foreground-gdk", Columns.Foreground, "weight", Columns.Bold); col.SortColumnId = (int)Columns.Path; col.Resizable = true; LoadColumnsVisibility(); OnWorkspaceItemLoaded(null, EventArgs.Empty); comments.TasksAdded += GeneratedTaskAdded; comments.TasksRemoved += GeneratedTaskRemoved; IdeApp.Preferences.UserTasksHighPrioColor.Changed += OnPropertyUpdated; IdeApp.Preferences.UserTasksNormalPrioColor.Changed += OnPropertyUpdated; IdeApp.Preferences.UserTasksLowPrioColor.Changed += OnPropertyUpdated; // Initialize with existing tags. foreach (TaskListEntry t in comments) { AddGeneratedTask(t); } view.Destroyed += delegate { view.RowActivated -= OnRowActivated; TaskService.CommentTasksChanged -= OnCommentTasksChanged; CommentTag.SpecialCommentTagsChanged -= OnCommentTagsChanged; MonoDevelopWorkspace.LoadingFinished -= OnWorkspaceItemLoaded; IdeApp.Workspace.WorkspaceItemUnloaded -= OnWorkspaceItemUnloaded; comments.TasksAdded -= GeneratedTaskAdded; comments.TasksRemoved -= GeneratedTaskRemoved; IdeApp.Preferences.UserTasksHighPrioColor.Changed -= OnPropertyUpdated; IdeApp.Preferences.UserTasksNormalPrioColor.Changed -= OnPropertyUpdated; IdeApp.Preferences.UserTasksLowPrioColor.Changed -= OnPropertyUpdated; }; }
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; }
void CreateControl() { // control = new HPaned (); // store = new Gtk.ListStore (typeof (Gdk.Pixbuf), // image - type // typeof (bool), // read? // typeof (Task)); // read? -- use Pango weight // Gtk.TreeModelFilterVisibleFunc filterFunct = new Gtk.TreeModelFilterVisibleFunc(); filter = new Gtk.TreeModelFilter(store, null); // filter.VisibleFunc = filterFunct; // sort = new Gtk.TreeModelSort(filter); // sort.SetSortFunc (VisibleColumns.Type, SeverityIterSort); // sort.SetSortFunc (VisibleColumns.Project, ProjectIterSort); // sort.SetSortFunc (VisibleColumns.File, FileIterSort); // view = new PadTreeView(sort); view.RulesHint = true; // view.DoPopupMenu = (evnt) => IdeApp.CommandService.ShowContextMenu (view, evnt, CreateMenu ()); // AddColumns (); // LoadColumnsVisibility (); // view.Columns[VisibleColumns.Type].SortColumnId = VisibleColumns.Type; // view.Columns[VisibleColumns.Project].SortColumnId = VisibleColumns.Project; // view.Columns[VisibleColumns.File].SortColumnId = VisibleColumns.File; sw = new CompactScrolledWindow(); sw.ShadowType = Gtk.ShadowType.None; sw.Add(view); // TaskService.Errors.TasksRemoved += DispatchService.GuiDispatch<TaskEventHandler> (ShowResults); // TaskService.Errors.TasksAdded += DispatchService.GuiDispatch<TaskEventHandler> (TaskAdded); // TaskService.Errors.TasksChanged += DispatchService.GuiDispatch<TaskEventHandler> (TaskChanged); // TaskService.Errors.CurrentLocationTaskChanged += HandleTaskServiceErrorsCurrentLocationTaskChanged; // // IdeApp.Workspace.FirstWorkspaceItemOpened += OnCombineOpen; // IdeApp.Workspace.LastWorkspaceItemClosed += OnCombineClosed; // view.RowActivated += new Gtk.RowActivatedHandler (OnRowActivated); iconWarning = sw.RenderIcon(Stock.Warning, Gtk.IconSize.Menu, ""); iconError = sw.RenderIcon(Stock.Error, Gtk.IconSize.Menu, ""); iconInfo = sw.RenderIcon(Gtk.Stock.DialogInfo, Gtk.IconSize.Menu, ""); // control.Add1 (sw); // // outputView = new LogView (); // control.Add2 (outputView); Control.ShowAll(); // control.SizeAllocated += HandleControlSizeAllocated; // bool outputVisible = PropertyService.Get<bool> (outputViewVisiblePropertyName, false); // if (outputVisible) { // outputView.Visible = true; // logBtn.Active = true; // } else { // outputView.Hide (); // } // // sw.SizeAllocated += HandleSwSizeAllocated; // control.FocusChain = new Gtk.Widget [] { sw }; }