/// <summary> /// Returns the name of the node that should be used as a secondary sort key. /// </summary> /// <param name="node"> /// A node in the tree. Expected to be either an IMember or a FoldingRegion. /// </param> /// <returns> /// A string representing the secondary sort key. /// The empty string if node is neither an IMember nor a FoldingRegion. /// </returns> string GetSortName(object node) { if (node is SyntaxNode) { // Return the name without type or parameters return(ambience.GetEntityMarkup((SyntaxNode)node)); } if (node is SyntaxTrivia) { // Return trimmed region name or fallback string name = ((SyntaxTrivia)node).ToString().Trim(); // ClassOutlineTextEditorExtension uses a fallback name for regions // so we do the same here with a slighty different name. if (name.Length == 0) { name = DEFAULT_REGION_NAME; } return(name); } return(string.Empty); }
void OutlineTreeTextFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { var txtRenderer = (CellRendererText)cell; object o = model.GetValue(iter, 0); var syntaxNode = o as SyntaxNode; if (syntaxNode != null) { txtRenderer.Text = astAmbience.GetEntityMarkup(syntaxNode); } else if (o is SyntaxTrivia) { txtRenderer.Text = ((SyntaxTrivia)o).ToString(); } }
static void OutlineTreeTextFunc(TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { var astAmbience = new AstAmbience(IdeApp.TypeSystemService.Workspace.Options); var txtRenderer = (CellRendererText)cell; object o = model.GetValue(iter, 0); var syntaxNode = o as SyntaxNode; if (syntaxNode != null) { txtRenderer.Markup = astAmbience.GetEntityMarkup(syntaxNode); } else if (o is SyntaxTrivia) { txtRenderer.Text = ((SyntaxTrivia)o).ToString(); } }