示例#1
0
        public ITabPanel CreateTabPanel()
        {
            ITabPanel tabPanel = CreateTabPanel(CreateDefaultTabPanel());
            Panel     panel    = (Panel)tabPanel.Control;

            panel.MouseDown += tabPanel.OnMouseClick;
            panel.MouseUp   += (sender, e) => tabPanel.OnMouseUp(sender, new TabDropEventArgs(null, e.Location, Control.MousePosition));
            return(CustomTabPanel(tabPanel));
        }
示例#2
0
        private static void SetHeaderOrientation(ITabPanel tabPanel, dynamic headerOrientationValue)
        {
            TabHeaderOrientation headerOrientation;

            if (Enum.TryParse(headerOrientationValue as string, true, out headerOrientation) == false)
            {
                headerOrientation = TabHeaderOrientation.Horizontal;
            }

            tabPanel.SetHeaderOrientation(headerOrientation);
        }
            public void OnInsert(int index, ITabPanel item, int currentTabLen)
            {
                switch (Orientation)
                {
                case Orientation.Horizontal:
                    item.Width = currentTabLen;
                    break;

                case Orientation.Vertical:
                    item.Height = currentTabLen;
                    break;
                }
            }
            public void OnCalcNewPosition(int argsX, int argsY, ITabPanel tab)
            {
                switch (Orientation)
                {
                case Orientation.Horizontal:
                    tab.Location = new Point(tab.Location.X + (argsX - tab.ClickPosition.X), FixedPoint);;
                    break;

                case Orientation.Vertical:
                    tab.Location = new Point(FixedPoint, tab.Location.Y + (argsY - tab.ClickPosition.Y));
                    break;
                }
            }
示例#5
0
        public void SwitchWindow(ITabPanel tab)
        {
            //TODO избавиться
            ((Control)tab.Control).ForgetYourFather();
            ((Control)tab.TabContent.Control).ForgetYourFather();
            //((Control)tab.Control).ForgetAll();
            //((Control)tab.TabContent.Control).ForgetAll();
            //Panel panel = (Panel)tab.Control;
            //panel.MouseDown += tab.OnMouseClick;
            //panel.MouseUp += (sender, e) => tab.OnMouseUp(sender, new TabDropEventArgs(null, e.Location, Control.MousePosition));

            //((Panel)newParent.Control).Controls.Add((Control)tab.TabContent.Control);
            //((Control) newParent.Container.TabCollection.Control).Controls.Add();
            //((Control)tab.TabContent.Control).BindingConcreteEvents((Control) newParent.Container.TabCollection.Control);
        }
            public void OnSetPosition(int index, ITabPanel item, int currentTabLent, int indent)
            {
                int distention = (currentTabLent + indent) * index;

                switch (Orientation)
                {
                case Orientation.Horizontal:
                    ChangeLocationWidth(item, distention);
                    break;

                case Orientation.Vertical:
                    ChangeLocationHeight(item, distention);
                    break;
                }
            }
            internal void OnRender(ITabPanel panel, int currentTabLen, int indent, int index)
            {
                Point point;
                int   curPosition = index * (currentTabLen + indent);

                switch (Orientation)
                {
                case Orientation.Horizontal:
                    point = new Point(curPosition, FixedPoint);
                    panel.ChangeLocation(point);
                    break;

                case Orientation.Vertical:
                    point = new Point(FixedPoint, curPosition);
                    panel.ChangeLocation(point);
                    break;
                }
            }
示例#8
0
        public ITabWindow CreateWindow(ITabWindow parent, ITabPanel tab)
        {
            //((Control)tab.Control).ForgetAll();
            //((Control)tab.TabContent.Control).ForgetAll();

            //Panel panel = (Panel)tab.Control;
            //panel.MouseDown += tab.OnMouseClick;
            //panel.MouseUp += (sender, e) => tab.OnMouseUp(sender, new TabDropEventArgs(null, e.Location, Control.MousePosition));

            Form     window  = CreateDefaultTabWindow();
            ITabView tabView = new TabViewLogic(tab, this);

            //window.BubblingFromParent();

            tabView.Orientation = parent.Container.Orientation;
            var result = CustomTabWindow(new TabWindow(window, parent, tabView, this));

            //((Control)tab.Control).Parent.Parent.Parent.BindingConcreteEvents(window);
            window.BubblingFromParent();
            return(result);
        }
        /// <summary>
        ///     Устанавливает родительскую панель закладок.
        /// </summary>
        public void SetParent(ITabPanel value)
        {
            if (!Equals(_parent, value))
            {
                var tabControl = _parent.GetControl <DXTabControl>();

                if (tabControl != null)
                {
                    tabControl.TabHiding -= OnTabPageClosing;
                }

                if (value != null)
                {
                    tabControl = value.GetControl <DXTabControl>();

                    if (tabControl != null)
                    {
                        tabControl.TabHiding += OnTabPageClosing;
                    }
                }

                _parent = value;
            }
        }
 protected abstract void TabUnbinding(ITabPanel item);
 protected abstract void CalcNewPosition(int argsX, int argsY, ITabPanel tab);
示例#12
0
 public TabEventArgs(ITabPanel tabPanel)
 {
     TabPanel = tabPanel;
 }
 public abstract bool Remove(ITabPanel item, bool disposing);
示例#14
0
 public TabDeletingEventArgs(ITabPanel tabPanel, bool disposing) : base(tabPanel)
 {
     Disposing = disposing;
 }
 public virtual bool Contains(ITabPanel item) => Controls.Contains(item);
 public abstract void Insert(int index, ITabPanel item);
            private void ChangeLocationHeight(ITabPanel control, int distention)
            {
                Point point = new Point(FixedPoint, distention);

                control.ChangeLocation(point);
            }
 protected abstract void SetPosition(int index, ITabPanel item);
 private void SetStartLocationWidth(ITabPanel control, int distention)
 {
     control.Location = new Point(distention, FixedPoint);
 }
 private void SetStartLocationHeight(ITabPanel control, int distention)
 {
     control.Location = new Point(FixedPoint, distention);
 }
 public abstract void Add(ITabPanel item);
            private void ChangeLocationWidth(ITabPanel control, int distention)
            {
                Point point = new Point(distention, FixedPoint);

                control.ChangeLocation(point);
            }
 public abstract bool Remove(ITabPanel item);
 public virtual int IndexOf(ITabPanel item) => Controls.IndexOf(item);
示例#25
0
 public TabDropEventArgs(ITabPanel tabPanel, Point mousePoint, Point mouseAbsolutePoint)
 {
     TabPanel           = tabPanel;
     MousePoint         = mousePoint;
     MouseAbsolutePoint = mouseAbsolutePoint;
 }