114 lines
3.6 KiB
C#
114 lines
3.6 KiB
C#
|
|
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;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|