ToolWindow Class
When overridden by a derived class, represents a tool window in the generated designer for a domain-specific language.
This API is not CLS-compliant.
Inheritance Hierarchy
System.Object
Microsoft.VisualStudio.Shell.WindowPane
Microsoft.VisualStudio.Modeling.Shell.ModelingWindowPane
Microsoft.VisualStudio.Modeling.Shell.ToolWindow
Microsoft.VisualStudio.Modeling.Shell.ModelExplorerToolWindow
Namespace: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
Syntax
'Declaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane
[CLSCompliantAttribute(false)]
public ref class ToolWindow abstract : public ModelingWindowPane
[<AbstractClass>]
[<CLSCompliantAttribute(false)>]
type ToolWindow =
class
inherit ModelingWindowPane
end
public abstract class ToolWindow extends ModelingWindowPane
The ToolWindow type exposes the following members.
Constructors
Name | Description | |
---|---|---|
ToolWindow | Initializes a new instance of the ToolWindow class. |
Top
Properties
Name | Description | |
---|---|---|
ActiveInPlaceEditWindow | Gets and sets the active window for in-place editing. (Inherited from ModelingWindowPane.) | |
BitmapIndex | When overriden in a derived class, gets the index of the bitmap that appears next to the name of the tool window. | |
BitmapResource | When overriden in a derived class, gets the resource ID of the bitmap that appears next to the name of the tool window. | |
Content | (Inherited from WindowPane.) | |
DocData | Gets a document in memory. | |
EnableUndo | Gets the tool window and enables the Undo command. | |
Frame | Gets the IVsWindowFrame that corresponds to this window.. (Inherited from ModelingWindowPane.) | |
HasSelectableObjects | Gets the tool window disables the Select Objects command if a document is not loaded. (Overrides ModelingWindowPane.HasSelectableObjects.) | |
HasToolBar | Gets the tool window and verifies whether it should have a toolbar. | |
HelpService | Gets the help service. (Inherited from ModelingWindowPane.) | |
InitializationMode | (Inherited from WindowPane.) | |
MenuService | Gets the menu command service. (Inherited from ModelingWindowPane.) | |
PrimarySelection | Gets the primary selected element in the window pane. (Inherited from ModelingWindowPane.) | |
SelectedElements | Gets the elements that are selected in the window pane. (Inherited from ModelingWindowPane.) | |
SelectionCount | Gets the number of elements that are selected in the window pane. (Inherited from ModelingWindowPane.) | |
SelectionHelpService | Gets the selection help service. (Inherited from ModelingWindowPane.) | |
ServiceProvider | Gets the service provider that is local to this window pane. (Inherited from ModelingWindowPane.) | |
ToolBarHost | Gets the IVsToolWindowToolbarHost interface, which determines how toolbars appear in the tool window. | |
ToolWindowFont | Gets the font to use for the tool window. | |
Window | (Inherited from WindowPane.) | |
WindowTitle | Gets the title of the tool window. |
Top
Methods
Name | Description | |
---|---|---|
CommitPendingEditForCommand | When implemented in a derived class, specifies whether pending edits should be committed before a command is executed. (Inherited from ModelingWindowPane.) | |
CountAllObjects | Gets the number of elements in the window pane. (Inherited from ModelingWindowPane.) | |
CountObjects | Counts the number of elements in the window pane or in the current selection. (Inherited from ModelingWindowPane.) | |
CountSelectedObjects | Gets the number of elements in the current selection. (Inherited from ModelingWindowPane.) | |
Dispose() | (Inherited from WindowPane.) | |
Dispose(Boolean) | Releases the unmanaged resources used by the ToolWindow and optionally releases the managed resources. (Overrides ModelingWindowPane.Dispose(Boolean).) | |
DoSelectObjects | When implemented in a derived class, selects elements in the window pane. (Inherited from ModelingWindowPane.) | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetAllObjects | Gets all elements in the window pane. (Inherited from ModelingWindowPane.) | |
GetComponentSelected | Specifies whether the given component is selected. (Inherited from ModelingWindowPane.) | |
GetContainerSelected | Specifies whether the given container is selected. (Inherited from ModelingWindowPane.) | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetObjects | Gets either the elements that are currently selected or the elements that can be selected in the window pane. (Inherited from ModelingWindowPane.) | |
GetSelectedComponents | Gets the components that are selected in the window pane. (Inherited from ModelingWindowPane.) | |
GetSelectedObjects | Gets the elements that are selected in the window pane. (Inherited from ModelingWindowPane.) | |
GetService | Gets the service of the specified type. Override this method to return the custom menu command service (Inherited from ModelingWindowPane.) | |
GetSite | Gets the site that was set with SetSite. (Inherited from ModelingWindowPane.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Hide | Hides the window pane. (Inherited from ModelingWindowPane.) | |
Initialize | Initializes a new instance of the ToolWindow class. (Overrides WindowPane.Initialize().) | |
LoadUIState | (Inherited from WindowPane.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnAfterToolWindowCreate | Post-creation initialization. | |
OnClose | Removes window pane objects from the shortcut menu selection when the window pane is closed. (Inherited from ModelingWindowPane.) | |
OnCreate | Creates a tool window. (Overrides WindowPane.OnCreate().) | |
OnDocumentWindowChanged | Notifies derived classes if a user makes a change in the document window. | |
OnSelectionChanged | Notifies event listeners after the selection changes. (Inherited from ModelingWindowPane.) | |
OnSelectionChanging | Notifies event listeners before the selection changes. (Inherited from ModelingWindowPane.) | |
OnToolWindowCreate | Listens for frame changes in a document window | |
PreProcessMessage | Handles window messages. (Inherited from ModelingWindowPane.) | |
SaveUIState | (Inherited from WindowPane.) | |
SelectObjects | Selects elements in the window pane. (Inherited from ModelingWindowPane.) | |
SetSelectedComponents(ICollection) | Adds the specified components into the selection container and notifies the shell of the selection change. (Inherited from ModelingWindowPane.) | |
SetSelectedComponents(ICollection, SelectionTypes) | Not currently implemented. (Inherited from ModelingWindowPane.) | |
SetSite | Initializes the window pane in the environment. (Inherited from ModelingWindowPane.) | |
Show | Displays the window pane, brings it to the front, and makes it the active window. (Inherited from ModelingWindowPane.) | |
ShowNoActivate | Displays the window pane, brings it to the front, but does not make it the active window. (Inherited from ModelingWindowPane.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
SelectionChanged | Fired after the selection in the window pane has changed. (Inherited from ModelingWindowPane.) | |
SelectionChanging | Fired before the selection in the window pane changes. (Inherited from ModelingWindowPane.) |
Top
Explicit Interface Implementations
Top
Remarks
Before you can add a tool window to the generated designer, you must register the window. For more information, see ModelingPackage.
Examples
The following example adds a tool window called Custom Tool Window to a domain-specific language project that is named RegisterTools. When you open your project in the generated designer, the tab for this window appears next to Solution Explorer. When you click this tab, a label that reads This is the custom tool window appears in the middle of the tool window.
This code registers the tool window:
using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;
namespace MS.RegisterTools.DslPackage
{
[VSShell::ProvideToolWindowVisibility(typeof(CustomToolWindow),
Constants.RegisterToolsEditorFactoryId)]
[VSShell::ProvideToolWindow(typeof(CustomToolWindow),
MultiInstances = false,
Style = VSShell::VsDockStyle.Tabbed,
Orientation = VSShell::ToolWindowOrientation.Right,
Window = "{3AE79031-E1BC-11D0-8F78-00A0C9110057}")]
internal partial class RegisterToolsPackage
{
//Initializes the base class for the package
protected override void Initialize()
{
base.Initialize();
//Registers the custom tool window
this.AddToolWindow(typeof(CustomToolWindow));
}
}
}
This code defines the tool window:
using System;
using System.Windows.Forms;
using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;
namespace MS.RegisterTools.DslPackage
{
//Creates a tool window and gives it a title, icon, and label
internal class CustomToolWindow : DslShell.ToolWindow
{
//defines a label
private Label myLabel;
//creates the tool window
public CustomToolWindow(IServiceProvider serviceProvider) : base(serviceProvider)
{
}
//gets the icon for the tool window
protected override int BitmapResource
{
get { return 104; }
}
//gets the index for the icon
protected override int BitmapIndex
{
get { return 0; }
}
//gets the name of the tool window
public override string WindowTitle
{
get { return "Custom Window"; }
}
//sets up a label
protected override void OnToolWindowCreate()
{
this.myLabel = new Label();
this.myLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.myLabel.Text = "This is the custom tool window";
}
//puts a label on the tool window
public override System.Windows.Forms.IWin32Window Window
{
get { return this.myLabel; }
}
}
}
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.