public static void CreateInstance( ApplicationAddInSite addInSiteObject, DockingStateEnum initialDockingState) { _instance = new ProfilerDockableWnd( addInSiteObject, initialDockingState); }
protected override void OnExecute(NameValueMap context) { ProfilerDockableWnd.MakeVisible( _addInSiteObject, DockingStateEnum.kDockLeft); Terminate(); }
/// <summary>Initializes the <see cref="DockableWindowWrapper"/>.</summary> /// <param name="addInSite">The ApplicationAddInSite object supplied by Inventor.</param> /// <param name="form">The managed form to add to the DockableWindow.</param> /// <param name="initialDockingState">The initial docking state of the DockableWindow /// if it is created for the first time.</param> internal DockableWindowWrapper( Inventor.ApplicationAddInSite addInSite, ProfilerDockableWnd form, Inventor.DockingStateEnum initialDockingState) { System.Diagnostics.Debug.Assert(addInSite != null && form != null); _form = form; // Set up the parameters. string clientId = addInSite.Parent.ClientId; string internalName = _form.GetType().FullName + "." + form.Name; string title = _form.Text; // We don't want the border to show since the form will be docked inside the DockableWindow. _form.FormBorderStyle = FormBorderStyle.None; bool isCustomized = false; // Retrieve or create the dockable window. try { dockableWindow = addInSite.Application.UserInterfaceManager.DockableWindows[internalName]; isCustomized = true; } catch { dockableWindow = addInSite.Application.UserInterfaceManager.DockableWindows.Add( clientId, internalName, title); } // Set the minimum size of the dockable window. System.Drawing.Size minimumSize = form.MinimumSize; if (!minimumSize.IsEmpty) { dockableWindow.SetMinimumSize(minimumSize.Height, minimumSize.Width); } // Set the initial docking state of the DockableWindow if it is not remembered by Inventor. if (initialDockingState != default(Inventor.DockingStateEnum) && !isCustomized) { dockableWindow.DockingState = initialDockingState; } // Set initial state to invisible. dockableWindow.Visible = false; // Listen for events. _form.HandleCreated += new EventHandler(OnHandleCreated); _form.VisibleChanged += new EventHandler(OnVisibleChanged); _dockableWindowsEvents = addInSite.Application.UserInterfaceManager.DockableWindows.Events; _dockableWindowsEvents.OnShow += new DockableWindowsEventsSink_OnShowEventHandler(DockableWindowsEvents_OnShow); _dockableWindowsEvents.OnHide += new DockableWindowsEventsSink_OnHideEventHandler(DockableWindowsEvents_OnHide); }