pascalabcnet/Libraries/WeifenLuoLinux/WinFormsUI/Docking/Interfaces.cs
Mikhalkovich Stanislav 2ca853af30 WeifenLuo
WeifenLuoLinux

перенесены в Libraries
2026-01-02 13:31:59 +03:00

60 lines
1.6 KiB
C#

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; }
}
}