Click here to Skip to main content
15,892,269 members
Articles / Desktop Programming / WPF

A Document Outline Window for C# Files, in WPF

Rate me:
Please Sign up or sign in to vote.
4.94/5 (62 votes)
12 Oct 2010CPOL14 min read 109.4K   1.4K   93  
A Document Outline Visual Studio tool window for C# files, coded in WPF
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DocOutlineCSharp</name>
    </assembly>
    <members>
        <member name="T:DocOutlineCSharp.DocOutline">
            <summary>
            Custom user control to display outlined code
            </summary>
            <summary>
            DocOutline
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.collapseButton_Click(System.Object,System.Windows.RoutedEventArgs)">
            <summary>
            Collapse all tree nodes.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.expandButton_Click(System.Object,System.Windows.RoutedEventArgs)">
            <summary>
            Expand all tree nodes.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.ClearElements">
            <summary>
            Clear all elements in the tree
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.OutlineCode">
            <summary>
            Performs outline of activated code file
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.SortNodes(System.Windows.Controls.ItemCollection,System.Collections.Generic.IComparer{System.Windows.Controls.TreeViewItem})">
            <summary>
            Sort nodes recursively, using a comparer for "kind" nodes and sorting alphabetically for element nodes
            </summary>
            <param name="items">TreeView items to sort</param>
            <param name="comparer">comparer</param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.ExpandElement(EnvDTE.CodeElement,System.Windows.Controls.TreeViewItem)">
            <summary>
            Expand the provided code element with given parent TreeViewItem
            </summary>
            <param name="element"></param>
            <param name="parent"></param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.UnqualifyType(System.String)">
            <summary>
            Unqualifies a type including all of its types within angle brackets
            </summary>
            <param name="fullType">the fully qualified type</param>
            <returns>unqualified type complete with types within angle brackets if included</returns>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.CreateTreeViewItem(System.String,System.String,System.String,System.String,System.Boolean,System.String,EnvDTE.vsCMAccess)">
            <summary>
            Method to create new TreeViewItems
            </summary>
            <param name="fullName">fully qualified name of element to be added</param>
            <param name="name">unqualified name of element to be added</param>
            <param name="fullType">fully qualified type of element to be added</param>
            <param name="type">unqualified type of element to be added</param>
            <param name="groupItem">bool that determines if this is a "kind"/group item or an element item</param>
            <param name="kind">the "kind"/grouping for this element</param>
            <param name="access">the access modifier for this element</param>
            <returns></returns>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.ExpandCollapseChildren(System.Windows.Controls.ItemCollection,System.Boolean)">
            <summary>
            Expand all tree nodes.
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.GetTreeViewItemNameBlock(System.Windows.Controls.TreeViewItem)">
            <summary>
            Grabs the name TextBlock from the TreeViewItem StackPanel
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.InitializeComponent">
            <summary>
            InitializeComponent
            </summary>
        </member>
        <member name="P:DocOutlineCSharp.DocOutline.DTE">
            <summary>
             Reference to environment app
            </summary>
        </member>
        <member name="P:DocOutlineCSharp.DocOutline.CurrentDoc">
            <summary>
            Reference to current document that is being "tracked"
            i.e., this is the last document we outlined
            </summary>
        </member>
        <member name="T:DocOutlineCSharp.DocOutline.KindComparer">
            <summary>
            Used to know how to sort "kind" groupings
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.DocOutline.KindComparer.Compare(System.Windows.Controls.TreeViewItem,System.Windows.Controls.TreeViewItem)">
            <summary>
            Implementation of Compare
            </summary>
            <param name="x">first TreeViewItem</param>
            <param name="y">second TreeViewItem</param>
            <returns></returns>
        </member>
        <member name="F:DocOutlineCSharp.DocOutlineHost.components">
            <summary> 
            Required designer variable.
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.DocOutlineHost.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
            <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        </member>
        <member name="M:DocOutlineCSharp.DocOutlineHost.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:DocOutlineCSharp.Connect">
            <summary>
            Main entrance point for add-in
            </summary>
        </member>
        <member name="M:DocOutlineCSharp.Connect.OnConnection(System.Object,Extensibility.ext_ConnectMode,System.Object,System.Array@)">
            <summary>
            This method will be executed when the add-in is loaded.
            </summary>
            <param name="application"></param>
            <param name="connectMode"></param>
            <param name="addInInst"></param>
            <param name="custom"></param>
        </member>
        <member name="M:DocOutlineCSharp.Connect.OnDisconnection(Extensibility.ext_DisconnectMode,System.Array@)">
            <summary>
            On close, unhook event handlers.
            </summary>
            <param name="disconnectMode"></param>
            <param name="custom"></param>
        </member>
        <member name="M:DocOutlineCSharp.Connect.QueryStatus(System.String,EnvDTE.vsCommandStatusTextWanted,EnvDTE.vsCommandStatus@,System.Object@)">
            <summary>
            Necessary to menu command
            </summary>
            <param name="commandName"></param>
            <param name="neededText"></param>
            <param name="status"></param>
            <param name="commandText"></param>
        </member>
        <member name="M:DocOutlineCSharp.Connect.Exec(System.String,EnvDTE.vsCommandExecOption,System.Object@,System.Object@,System.Boolean@)">
            <summary>
            Necessary for menu command
            </summary>
            <param name="commandName"></param>
            <param name="executeOption"></param>
            <param name="varIn"></param>
            <param name="varOut"></param>
            <param name="handled"></param>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions