예제 #1
0
        /// <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();
            }
        }
예제 #3
0
        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();
            }
        }