- using System;
- using System.Drawing;
- using System.Windows.Forms;
- using WeifenLuo.WinFormsUI.Docking;
- namespace DockSample.Customization
- {
- internal class DockHelper
- {
- public static bool IsDockStateAutoHide(DockState dockState)
- {
- if (dockState == DockState.DockLeftAutoHide ||
- dockState == DockState.DockRightAutoHide ||
- dockState == DockState.DockTopAutoHide ||
- dockState == DockState.DockBottomAutoHide)
- return true;
- else
- return false;
- }
- public static bool IsDockStateDocked(DockState dockState)
- {
- return (dockState == DockState.DockLeft ||
- dockState == DockState.DockRight ||
- dockState == DockState.DockTop ||
- dockState == DockState.DockBottom);
- }
- public static bool IsDockBottom(DockState dockState)
- {
- return (dockState == DockState.DockBottom || dockState == DockState.DockBottomAutoHide) ? true : false;
- }
- public static bool IsDockLeft(DockState dockState)
- {
- return (dockState == DockState.DockLeft || dockState == DockState.DockLeftAutoHide) ? true : false;
- }
- public static bool IsDockRight(DockState dockState)
- {
- return (dockState == DockState.DockRight || dockState == DockState.DockRightAutoHide) ? true : false;
- }
- public static bool IsDockTop(DockState dockState)
- {
- return (dockState == DockState.DockTop || dockState == DockState.DockTopAutoHide ) ? true : false;
- }
- public static bool IsDockStateValid(DockState dockState, DockAreas dockableAreas)
- {
- if (((dockableAreas & DockAreas.Float) == 0) &&
- (dockState == DockState.Float))
- return false;
- else if (((dockableAreas & DockAreas.Document) == 0) &&
- (dockState == DockState.Document))
- return false;
- else if (((dockableAreas & DockAreas.DockLeft) == 0) &&
- (dockState == DockState.DockLeft || dockState == DockState.DockLeftAutoHide))
- return false;
- else if (((dockableAreas & DockAreas.DockRight) == 0) &&
- (dockState == DockState.DockRight || dockState == DockState.DockRightAutoHide))
- return false;
- else if (((dockableAreas & DockAreas.DockTop) == 0) &&
- (dockState == DockState.DockTop || dockState == DockState.DockTopAutoHide))
- return false;
- else if (((dockableAreas & DockAreas.DockBottom) == 0) &&
- (dockState == DockState.DockBottom || dockState == DockState.DockBottomAutoHide))
- return false;
- else
- return true;
- }
- public static bool IsDockWindowState(DockState state)
- {
- if (state == DockState.DockTop || state == DockState.DockBottom || state == DockState.DockLeft ||
- state == DockState.DockRight || state == DockState.Document)
- return true;
- else
- return false;
- }
- public static bool IsValidRestoreState(DockState state)
- {
- if (state == DockState.DockLeft || state == DockState.DockRight || state == DockState.DockTop ||
- state == DockState.DockBottom || state == DockState.Document)
- return true;
- else
- return false;
- }
- public static DockState ToggleAutoHideState(DockState state)
- {
- if (state == DockState.DockLeft)
- return DockState.DockLeftAutoHide;
- else if (state == DockState.DockRight)
- return DockState.DockRightAutoHide;
- else if (state == DockState.DockTop)
- return DockState.DockTopAutoHide;
- else if (state == DockState.DockBottom)
- return DockState.DockBottomAutoHide;
- else if (state == DockState.DockLeftAutoHide)
- return DockState.DockLeft;
- else if (state == DockState.DockRightAutoHide)
- return DockState.DockRight;
- else if (state == DockState.DockTopAutoHide)
- return DockState.DockTop;
- else if (state == DockState.DockBottomAutoHide)
- return DockState.DockBottom;
- else
- return state;
- }
- }
- }