Exemplo n.º 1
0
        private void Handler_ControlAdded(object theSender, ControlEventArgs theArgs)
        {
            if (theArgs.Control is MultiPanePage)
            {
                var aPg = (MultiPanePage)theArgs.Control;

                // prevent the page from being moved and/or sized independently
                aPg.Location = new Point(0, 0);
                aPg.Size     = ClientSize;
                aPg.Dock     = DockStyle.Fill;

                if (SelectedPage == null)
                {
                    SelectedPage = aPg;
                }
                else
                {
                    aPg.Visible = false;
                }
            }
            else
            {
                //silently remove
                Controls.Remove(theArgs.Control);
            }
        }
Exemplo n.º 2
0
        private void Handler_SelectedPageChanged(object theSender, EventArgs theArgs)
        {
            mySelectedPage = DesignedControl.SelectedPage;

            // We do not call the property here, because the control
            // has already updated pages' visibility. We only must
            // sync the field with the control's current selection
        }
Exemplo n.º 3
0
        private object Transaction_UpdateSelectedPage(IDesignerHost theHost, object theParam)
        {
            MultiPaneControl aCtl    = DesignedControl;
            MultiPanePage    aPgTemp = mySelectedPage;

            int aCurIndex = aCtl.Controls.IndexOf(mySelectedPage);

            if (mySelectedPage == aCtl.SelectedPage) //we also need to update the SelectedPage property
            {
                MemberDescriptor aMember_SelectedPage = TypeDescriptor.GetProperties(aCtl)["SelectedPage"];

                RaiseComponentChanging(aMember_SelectedPage);

                if (aCtl.Controls.Count > 1)
                {
                    // begin update current page
                    if (aCurIndex == aCtl.Controls.Count - 1) // NOTE: after SelectedPage has
                    {
                        aCtl.SelectedPage = (MultiPanePage)aCtl.Controls[aCurIndex - 1];
                    }
                    // been updated, mySelectedPage
                    else // has also changed
                    {
                        aCtl.SelectedPage = (MultiPanePage)aCtl.Controls[aCurIndex + 1];
                    }
                    // end update current page
                }
                else
                {
                    aCtl.SelectedPage = null;
                }

                RaiseComponentChanged(aMember_SelectedPage, null, null);
            }
            else
            {
                if (aCtl.Controls.Count > 1)
                {
                    if (aCurIndex == aCtl.Controls.Count - 1)
                    {
                        DesignerSelectedPage = (MultiPanePage)aCtl.Controls[aCurIndex - 1];
                    }
                    else
                    {
                        DesignerSelectedPage = (MultiPanePage)aCtl.Controls[aCurIndex + 1];
                    }
                }
                else
                {
                    DesignerSelectedPage = null;
                }
            }

            return(null);
        }
Exemplo n.º 4
0
        private MultiPanePageDesigner GetSelectedPageDesigner()
        {
            MultiPanePage aSelPage = mySelectedPage;

            if (aSelPage == null)
            {
                return(null);
            }

            MultiPanePageDesigner aDesigner = null;

            var aSrv = (IDesignerHost)GetService(typeof(IDesignerHost));

            if (aSrv != null)
            {
                aDesigner = (MultiPanePageDesigner)aSrv.GetDesigner(aSelPage);
            }

            return(aDesigner);
        }
Exemplo n.º 5
0
        protected void DrawBorder(Graphics theG)
        {
            MultiPanePage aCtl = DesignedControl;

            if (aCtl == null)
            {
                return;
            }
            else if (!aCtl.Visible)
            {
                return;
            }

            Rectangle aRct = aCtl.ClientRectangle;

            aRct.Width--;  // decrement the with so that the bottom and
            aRct.Height--; // right lines could be visible

            theG.DrawRectangle(BorderPen, aRct);
        }
Exemplo n.º 6
0
        private void Handler_SelectionChanged(object sender, EventArgs e)
        {
            var aSrv = (ISelectionService)GetService(typeof(ISelectionService));

            if (aSrv == null)
            {
                return;
            }

            ICollection      aSel = aSrv.GetSelectedComponents();
            MultiPaneControl aCtl = DesignedControl;

            foreach (object aIt in aSel)
            {
                MultiPanePage aPage = GetPageOfControl(aIt);
                if ((aPage != null) && (aPage.Parent == aCtl))
                {
                    DesignerSelectedPage = aPage;
                    break;
                }
            }
        }
Exemplo n.º 7
0
 private void Handler_OK(object sender, EventArgs e)
 {
     myFutureSelectedItem = ((MultiPanePageItem)myCtlCmbItems.SelectedItem).Page;
     mySetSelectedPage    = myCtlChkSetSelectedPage.Checked;
 }
Exemplo n.º 8
0
 public MultiPanePageItem(MultiPanePage thePg)
 {
     myPage = thePg;
 }