private void OnPanelDisposed(object sender, EventArgs e) { // Unhook from events so the control can be garbage collected _panel.Disposed -= new EventHandler(OnPanelDisposed); // Events are generated from the parent docking manager KryptonDockingManager dockingManager = DockingManager; if (dockingManager != null) { // Only generate the removed event if we have already fired the adding event. if (_panelEventFired) { AutoHiddenGroupPanelEventArgs panelArgs = new AutoHiddenGroupPanelEventArgs(_panel, this); dockingManager.RaiseAutoHiddenGroupPanelRemoved(panelArgs); } } // Make sure the sliding panel is also disposed if (!_slidePanel.IsDisposed) { _slidePanel.Dispose(); } }
private void OnPanelDisposed(object sender, EventArgs e) { // Unhook from events so the control can be garbage collected _panel.Disposed -= new EventHandler(OnPanelDisposed); // Events are generated from the parent docking manager KryptonDockingManager dockingManager = DockingManager; if (dockingManager != null) { // Only generate the removed event if we have already fired the adding event. if (_panelEventFired) { AutoHiddenGroupPanelEventArgs panelArgs = new AutoHiddenGroupPanelEventArgs(_panel, this); dockingManager.RaiseAutoHiddenGroupPanelRemoved(panelArgs); } } // Make sure the sliding panel is also disposed if (!_slidePanel.IsDisposed) _slidePanel.Dispose(); }
private KryptonDockingAutoHiddenGroup CreateAndInsertAutoHiddenGroup(int index, string name) { // Create the new auto hidden group instance and add into our collection KryptonDockingAutoHiddenGroup groupElement = new KryptonDockingAutoHiddenGroup(name, Edge); groupElement.PageClicked += new EventHandler<KryptonPageEventArgs>(OnDockingAutoHiddenGroupClicked); groupElement.PageHoverStart += new EventHandler<KryptonPageEventArgs>(OnDockingAutoHiddenGroupHoverStart); groupElement.PageHoverEnd += new EventHandler<EventArgs>(OnDockingAutoHiddenGroupHoverEnd); groupElement.Disposed += new EventHandler(OnDockingAutoHiddenGroupDisposed); InternalInsert(index, groupElement); // Events are generated from the parent docking manager KryptonDockingManager dockingManager = DockingManager; if (dockingManager != null) { // The hosting panel/sliding panel dockspace/separator are not shown until the first group is added, so only // generate the events for allowing customization of the when there is a chance they will become displayed. if (!_panelEventFired) { AutoHiddenGroupPanelEventArgs panelArgs = new AutoHiddenGroupPanelEventArgs(_panel, this); DockspaceEventArgs dockspaceArgs = new DockspaceEventArgs(_slidePanel.DockspaceControl, null); DockspaceSeparatorEventArgs separatorArgs = new DockspaceSeparatorEventArgs(_slidePanel.SeparatorControl, null); dockingManager.RaiseAutoHiddenGroupPanelAdding(panelArgs); dockingManager.RaiseDockspaceAdding(dockspaceArgs); dockingManager.RaiseDockspaceSeparatorAdding(separatorArgs); _panelEventFired = true; } // Allow the auto hidden group to be customized by event handlers AutoHiddenGroupEventArgs groupArgs = new AutoHiddenGroupEventArgs(groupElement.AutoHiddenGroupControl, groupElement); dockingManager.RaiseAutoHiddenGroupAdding(groupArgs); } // Append to the child collection of groups _panel.Controls.Add(groupElement.AutoHiddenGroupControl); _panel.Controls.SetChildIndex(groupElement.AutoHiddenGroupControl, (_panel.Controls.Count - 1) - index); // When adding the first group the panel will not be visible and so we need to // force the calculation of a new size so it makes itself visible. _panel.PerformLayout(); return groupElement; }
/// <summary> /// Raises the AutoHiddenGroupPanelRemoved event. /// </summary> /// <param name="e">An AutoHiddenGroupPanelEventArgs containing the event args.</param> protected virtual void OnAutoHiddenGroupPanelRemoved(AutoHiddenGroupPanelEventArgs e) { if (AutoHiddenGroupPanelRemoved != null) AutoHiddenGroupPanelRemoved(this, e); }
/// <summary> /// Raises the AutoHiddenGroupPanelAdding event. /// </summary> /// <param name="e">An AutoHiddenGroupPanelEventArgs containing the event args.</param> protected virtual void OnAutoHiddenGroupPanelAdding(AutoHiddenGroupPanelEventArgs e) { if (AutoHiddenGroupPanelAdding != null) AutoHiddenGroupPanelAdding(this, e); }
internal void RaiseAutoHiddenGroupPanelRemoved(AutoHiddenGroupPanelEventArgs e) { OnAutoHiddenGroupPanelRemoved(e); }
internal void RaiseAutoHiddenGroupPanelAdding(AutoHiddenGroupPanelEventArgs e) { OnAutoHiddenGroupPanelAdding(e); }