Пример #1
0
 /// <summary>
 /// Initialize a new instance of the FloatspaceCellEventArgs class.
 /// </summary>
 /// <param name="floatspace">Reference to existing floatspace control instance.</param>
 /// <param name="element">Reference to docking floatspace element that is managing the floatspace control.</param>
 /// <param name="cell">Reference tofloatspace control cell instance.</param>
 public FloatspaceCellEventArgs(KryptonFloatspace floatspace,
                                KryptonDockingFloatspace element,
                                KryptonWorkspaceCell cell)
 {
     _floatspace = floatspace;
     _element    = element;
     _cell       = cell;
 }
 /// <summary>
 /// Initialize a new instance of the KryptonDockingFloatspace class.
 /// </summary>
 /// <param name="name">Initial name of the element.</param>
 public KryptonDockingFloatspace(string name)
     : base(name, "Floating")
 {
     // Create a new floatspace that will be a host for docking pages
     SpaceControl           = new KryptonFloatspace();
     FloatspaceControl.Dock = DockStyle.Fill;
     FloatspaceControl.CellPageInserting   += new EventHandler <KryptonPageEventArgs>(OnSpaceCellPageInserting);
     FloatspaceControl.PageCloseClicked    += new EventHandler <UniqueNameEventArgs>(OnFloatspacePageCloseClicked);
     FloatspaceControl.PagesDoubleClicked  += new EventHandler <UniqueNamesEventArgs>(OnFloatspacePagesDoubleClicked);
     FloatspaceControl.PageDropDownClicked += new EventHandler <CancelDropDownEventArgs>(OnFloatspaceDropDownClicked);
     FloatspaceControl.BeforePageDrag      += new EventHandler <PageDragCancelEventArgs>(OnFloatspaceBeforePageDrag);
 }
Пример #3
0
        /// <summary>
        /// Initialize a new instance of the KryptonFloatingWindow class.
        /// </summary>
        /// <param name="owner">Reference to form that will own all the floating window.</param>
        /// <param name="floatspace">Reference to owning floatspace instance.</param>
        public KryptonFloatingWindow(Form owner, KryptonFloatspace floatspace)
        {
            // Set the owner of the window so that minimizing the owner will do the same to this
            Owner = owner;

            // Set correct form settings for a floating window
            TopLevel      = true;
            ShowIcon      = false;
            ShowInTaskbar = false;
            MinimizeBox   = false;
            StartPosition = FormStartPosition.Manual;
            ButtonSpecMin.ImageStates.ImageDisabled = EMPTY_IMAGE;

            // Hook into floatspace events and add as the content of the floating window
            _floatspace = floatspace;
            _floatspace.CellCountChanged        += new EventHandler(OnFloatspaceCellCountChanged);
            _floatspace.CellVisibleCountChanged += new EventHandler(OnFloatspaceCellVisibleCountChanged);
            _floatspace.WorkspaceCellAdding     += new EventHandler <WorkspaceCellEventArgs>(OnFloatspaceCellAdding);
            _floatspace.WorkspaceCellRemoved    += new EventHandler <WorkspaceCellEventArgs>(OnFloatspaceCellRemoved);
            Controls.Add(_floatspace);
        }
        /// <summary>
        /// Occurs when a page is added to a cell in the workspace.
        /// </summary>
        /// <param name="sender">Source of the event.</param>
        /// <param name="e">A KryptonPageEventArgs containing the event data.</param>
        protected override void OnSpaceCellPageInserting(object sender, KryptonPageEventArgs e)
        {
            // Remove any store page for the unique name of this page being added. In either case of adding a store
            // page or a regular page we want to ensure there does not exist a store page for that same unique name.
            KryptonDockingManager dockingManager = DockingManager;

            if (dockingManager != null)
            {
                if (e.Item is KryptonStorePage)
                {
                    KryptonFloatspace floatspace = sender as KryptonFloatspace;
                    if ((floatspace != null) && (floatspace.CellForPage(e.Item) != null))
                    {
                        // Prevent this existing store page from being removed due to the Propogate action below. This can
                        // occur because a cell with pages is added in one go and so insert events are generated for the
                        // existing pages inside the cell to ensure that the event is always fired consistently.
                        IgnoreStorePage = (KryptonStorePage)e.Item;
                    }
                }

                dockingManager.PropogateAction(ClearStoreAction, new string[] { e.Item.UniqueName });
                IgnoreStorePage = null;
            }
        }
 /// <summary>
 /// Initialize a new instance of the FloatspaceEventArgs class.
 /// </summary>
 /// <param name="floatspace">Reference to new floatspace control instance.</param>
 /// <param name="element">Reference to docking floatspace element that is managing the floatspace control.</param>
 public FloatspaceEventArgs(KryptonFloatspace floatspace,
                            KryptonDockingFloatspace element)
 {
     _floatspace = floatspace;
     _element    = element;
 }