private static void SetAutoHideSize(DockItem dockItem, SplitterDistance value)
 {
     dockItem.AutoHideSize = value;
     if (DockPositionHelper.IsAutoHide(dockItem.DockPosition) && !dockItem.IsSelected)
     {
         dockItem.Show(DockItemShowMethod.Select);
     }
 }
示例#2
0
        private IEnumerable <DockItem> GetAutoHideItems()
        {
            foreach (DockPane pane in _autoHidePanes)
            {
                if (!DockPositionHelper.IsAutoHide(pane.DockPosition))
                {
                    continue;
                }

                foreach (DockItem item in pane.VisibleItems)
                {
                    yield return(item);
                }
            }
        }
示例#3
0
        private DockItem GetActiveItem()
        {
            DockItem activeItem = _panes.Count > 0 ? _panes[_panes.Count - 1].SelectedItem : null;

            if (activeItem == null || !activeItem.IsSelected)
            {
                return(null);
            }
            else if (DockPositionHelper.IsAutoHide(activeItem.DockPosition) && !activeItem.IsKeyboardFocusWithin)
            {
                return(null);
            }
            else
            {
                return(activeItem);
            }
        }
示例#4
0
        private void RefreshChildrenVisibility()
        {
            bool showChild1, showChild2;

            showChild1 = showChild2 = true;
            if (Child1 == null || Child1.DockPosition == DockPosition.Hidden || DockPositionHelper.IsAutoHide(Child1.DockPosition))
            {
                showChild1 = false;
            }

            if (Child2 == null || Child2.DockPosition == DockPosition.Hidden || DockPositionHelper.IsAutoHide(Child2.DockPosition))
            {
                showChild2 = false;
            }

            SplitChildrenVisibility newChildrenVisibility;

            if (showChild1 && showChild2)
            {
                newChildrenVisibility = SplitChildrenVisibility.Both;
            }
            else if (showChild1)
            {
                newChildrenVisibility = SplitChildrenVisibility.Child1Only;
            }
            else if (showChild2)
            {
                newChildrenVisibility = SplitChildrenVisibility.Child2Only;
            }
            else
            {
                newChildrenVisibility = SplitChildrenVisibility.None;
            }

            SplitChildrenVisibility oldChildrenVisibility = ChildrenVisibility;

            if (oldChildrenVisibility != newChildrenVisibility)
            {
                ChildrenVisibility = newChildrenVisibility;
            }
        }
示例#5
0
 internal override bool GetIsAutoHide(DockControl dockControl)
 {
     return(DockPositionHelper.IsAutoHide(_dockPosition));
 }