using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Windows.Forms; using System.Runtime.InteropServices; using Microsoft.VisualStudio.Shell.Interop; using Microsoft.VisualStudio.Shell; namespace ETHZurich.OrigoVSIntegration { /// /// This class implements the tool window exposed by this package and hosts a user control. /// /// In Visual Studio tool windows are composed of a frame (implemented by the shell) and a pane, /// usually implemented by the package implementer. /// /// This class derives from the ToolWindowPane class provided from the MPF in order to use its /// implementation of the IVsWindowPane interface. /// [Guid("78f34bb9-d3dd-4690-968f-f1f0bb2b829f")] public class OrigoWorkitemToolwindow : ToolWindowPane { // This is the user control hosted by the tool window; it is exposed to the base class // using the Window property. Note that, even if this class implements IDispose, we are // not calling Dispose on this object. This is because ToolWindowPane calls Dispose on // the object returned by the Window property. private OrigoWorkitemControl control; /// /// Standard constructor for the tool window. /// public OrigoWorkitemToolwindow() : base(null) { // Set the window title reading it from the resources. this.Caption = Constants.ToolWindowTitle; // Set the image that will appear on the tab of the window frame // when docked with an other window // The resource ID correspond to the one defined in the resx file // while the Index is the offset in the bitmap strip. Each image in // the strip being 16x16. this.BitmapResourceID = 301; this.BitmapIndex = 1; control = new OrigoWorkitemControl(this); } /// /// This property returns the handle to the user control that should /// be hosted in the Tool Window. /// override public IWin32Window Window { get { return (IWin32Window)control; } } } }