Widget IOutlinedDocument.GetOutlineWidget() { if (outlineTreeView != null) { return(outlineTreeView); } outlineTreeStore = new TreeStore(typeof(object)); outlineTreeModelSort = new TreeModelSort(outlineTreeStore); settings = OutlineSettings.Load(); comparer = new OutlineNodeComparer(new AstAmbience(IdeApp.TypeSystemService.Workspace.Options), settings, outlineTreeModelSort); outlineTreeModelSort.SetSortFunc(0, comparer.CompareNodes); outlineTreeModelSort.SetSortColumnId(0, SortType.Ascending); outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView(outlineTreeStore); var pixRenderer = new CellRendererImage(); pixRenderer.Xpad = 0; pixRenderer.Ypad = 0; outlineTreeView.TextRenderer.Xpad = 0; outlineTreeView.TextRenderer.Ypad = 0; TreeViewColumn treeCol = new TreeViewColumn(); treeCol.PackStart(pixRenderer, false); treeCol.SetCellDataFunc(pixRenderer, new TreeCellDataFunc(OutlineTreeIconFunc)); treeCol.PackStart(outlineTreeView.TextRenderer, true); treeCol.SetCellDataFunc(outlineTreeView.TextRenderer, new TreeCellDataFunc(OutlineTreeTextFunc)); outlineTreeView.AppendColumn(treeCol); outlineTreeView.HeadersVisible = false; outlineTreeView.Selection.Changed += delegate { JumpToDeclaration(false); }; outlineTreeView.RowActivated += delegate { JumpToDeclaration(true); }; UpdateDocumentOutline(this, EventArgs.Empty); outlineTreeView.Realized += delegate { RefillOutlineStore(); }; UpdateSorting(); var sw = new CompactScrolledWindow(); sw.Add(outlineTreeView); sw.ShowAll(); return(sw); }
public OutlineSortingPreferencesDialog (OutlineSettings settings) { this.Build (); priorityList.Model = new ListStore (typeof (string), typeof (string)); priorityList.AppendColumn ("", new CellRendererText (), "text", 1); priorityList.Model.Clear (); foreach (string g in settings.GroupOrder) { priorityList.Model.AppendValues (g, OutlineSettings.GetGroupName (g)); } this.settings = settings; }
public static OutlineSettings Load () { var cs = new OutlineSettings (); cs.IsGrouped = PropertyService.Get (KEY_IS_GROUPED, false); cs.IsSorted = PropertyService.Get (KEY_IS_SORTED, false); string s = PropertyService.Get (KEY_GROUP_ORDER, ""); if (s.Length == 0) { cs.GroupOrder = groupNames.Keys.ToArray (); } else { cs.GroupOrder = s.Split (new char[] {','}, StringSplitOptions.RemoveEmptyEntries); } return cs; }
public OutlineSortingPreferencesDialog(OutlineSettings settings) { this.Build(); priorityList.Model = new ListStore(typeof(string), typeof(string)); priorityList.AppendColumn("", new CellRendererText(), "text", 1); priorityList.Model.Clear(); foreach (string g in settings.GroupOrder) { priorityList.Model.AppendValues(g, OutlineSettings.GetGroupName(g)); } this.settings = settings; }
public override void Dispose() { if (disposed) { return; } disposed = true; if (DocumentContext != null) { DocumentContext.DocumentParsed -= UpdateDocumentOutline; } RemoveRefillOutlineStoreTimeout(); lastCU = null; settings = null; comparer = null; base.Dispose(); }
void IOutlinedDocument.ReleaseOutlineWidget() { if (outlineTreeView == null) { return; } var w = (ScrolledWindow)outlineTreeView.Parent; w.Destroy(); outlineTreeView = null; settings = null; foreach (var tw in toolbarWidgets) { tw.Destroy(); } toolbarWidgets = null; comparer = null; }
public static OutlineSettings Load() { var cs = new OutlineSettings(); cs.IsGrouped = PropertyService.Get(KEY_IS_GROUPED, false); cs.IsSorted = PropertyService.Get(KEY_IS_SORTED, false); string s = PropertyService.Get(KEY_GROUP_ORDER, ""); if (s.Length == 0) { cs.GroupOrder = groupNames.Keys.ToArray(); } else { cs.GroupOrder = s.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } return(cs); }
public override void Dispose() { if (disposed) { return; } disposed = true; if (DocumentContext != null) { DocumentContext.DocumentParsed -= UpdateDocumentOutline; } RemoveRefillOutlineStoreTimeout(); lastCU = null; settings = null; comparer = null; // also, unsubscribe from text view events, if we're in the new editor TextView_Closed(this, null); base.Dispose(); }
public override void Dispose () { if (disposed) return; disposed = true; if (DocumentContext != null) DocumentContext.DocumentParsed -= UpdateDocumentOutline; RemoveRefillOutlineStoreTimeout (); lastCU = null; settings = null; comparer = null; base.Dispose (); }
void IOutlinedDocument.ReleaseOutlineWidget () { if (outlineTreeView == null) return; var w = (ScrolledWindow)outlineTreeView.Parent; w.Destroy (); if (outlineTreeModelSort != null) { outlineTreeModelSort.Dispose (); outlineTreeModelSort = null; } if (outlineTreeStore != null) { outlineTreeStore.Dispose (); outlineTreeStore = null; } outlineTreeView = null; settings = null; foreach (var tw in toolbarWidgets) tw.Destroy (); toolbarWidgets = null; comparer = null; }
Widget IOutlinedDocument.GetOutlineWidget () { if (outlineTreeView != null) return outlineTreeView; outlineTreeStore = new TreeStore (typeof(object)); outlineTreeModelSort = new TreeModelSort (outlineTreeStore); settings = OutlineSettings.Load (); comparer = new OutlineNodeComparer (new AstAmbience (TypeSystemService.Workspace.Options), settings, outlineTreeModelSort); outlineTreeModelSort.SetSortFunc (0, comparer.CompareNodes); outlineTreeModelSort.SetSortColumnId (0, SortType.Ascending); outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView (outlineTreeStore); var pixRenderer = new CellRendererImage (); pixRenderer.Xpad = 0; pixRenderer.Ypad = 0; outlineTreeView.TextRenderer.Xpad = 0; outlineTreeView.TextRenderer.Ypad = 0; TreeViewColumn treeCol = new TreeViewColumn (); treeCol.PackStart (pixRenderer, false); treeCol.SetCellDataFunc (pixRenderer, new TreeCellDataFunc (OutlineTreeIconFunc)); treeCol.PackStart (outlineTreeView.TextRenderer, true); treeCol.SetCellDataFunc (outlineTreeView.TextRenderer, new TreeCellDataFunc (OutlineTreeTextFunc)); outlineTreeView.AppendColumn (treeCol); outlineTreeView.HeadersVisible = false; outlineTreeView.Selection.Changed += delegate { JumpToDeclaration (false); }; outlineTreeView.RowActivated += delegate { JumpToDeclaration (true); }; var analysisDocument = DocumentContext.ParsedDocument; if (analysisDocument != null) lastCU = analysisDocument.GetAst<SemanticModel> (); outlineTreeView.Realized += delegate { RefillOutlineStore (); }; UpdateSorting (); var sw = new CompactScrolledWindow (); sw.Add (outlineTreeView); sw.ShowAll (); return sw; }
void IOutlinedDocument.ReleaseOutlineWidget () { if (outlineTreeView == null) return; var w = (ScrolledWindow)outlineTreeView.Parent; w.Destroy (); outlineTreeView = null; RemoveRefillOutlineStoreTimeout (); settings = null; foreach (var tw in toolbarWidgets) tw.Destroy (); toolbarWidgets = null; comparer = null; }