using System; using System.Drawing; using System.Windows.Forms; namespace WeifenLuo.WinFormsUI.Docking { public interface IDockContent : IContextMenuStripHost { DockContentHandler DockHandler { get; } void OnActivated(EventArgs e); void OnDeactivate(EventArgs e); } public interface IContextMenuStripHost { void ApplyTheme(); } public interface INestedPanesContainer { DockState DockState { get; } Rectangle DisplayingRectangle { get; } NestedPaneCollection NestedPanes { get; } VisibleNestedPaneCollection VisibleNestedPanes { get; } bool IsFloat { get; } } public interface IDragSource { Control DragControl { get; } } public interface IDockDragSource : IDragSource { Rectangle BeginDrag(Point ptMouse); void EndDrag(); bool IsDockStateValid(DockState dockState); bool CanDockTo(DockPane pane); void FloatAt(Rectangle floatWindowBounds); void DockTo(DockPane pane, DockStyle dockStyle, int contentIndex); void DockTo(DockPanel panel, DockStyle dockStyle); } public interface ISplitterDragSource : IDragSource { void BeginDrag(Rectangle rectSplitter); void EndDrag(); bool IsVertical { get; } Rectangle DragLimitBounds { get; } void MoveSplitter(int offset); } public interface ISplitterHost : ISplitterDragSource { DockPanel DockPanel { get; } DockState DockState { get; } bool IsDockWindow { get; } } }