9#if !defined(OWL_SPLITTER_H)
13#if defined(BI_HAS_PRAGMA_ONCE)
48 int operator ==(
const TSplitter& splitter)
const;
69 virtual void Move(
int dist) = 0;
158 virtual void Move(
int dist) = 0;
225 void Flush(
bool del);
246 void DrawIndicators();
247 void ClearIndicators();
259 return this == &splitter;
388 SplitterIndicatorList(nullptr)
TBaseListIterator< TSplitterIndicator * > Iterator
TDC is the root class for GDI DC wrappers.
TSplitterIndicator * CreateSplitterIndicator()
TSplitDirection SplitDirection()
TLayoutMetrics Setup(TWindow *targetPane, TWindow *newPane, float percent)
void AdjSplitterWidth(int w)
void AdjForResize(const TSize &sz)
void Split(TWindow *targetPane, TWindow *newPane, TSplitDirection sd, float percent=50.0f)
THSplitter(TWindow *parent, TPaneSplitter *ps, float percent=50.0f)
void ConnectToRect(const TRect &rect)
bool CouldContain(const TPoint &point)
THSplitterIndicator(TSplitter *splitter, const TRect &rect, uint cushion=0)
int CalcDistMoved(const TPoint &start, const TPoint &cur)
TRect CalcAreaOfSplitterMove()
When specifying the layout metrics for a window, four layout constraints are needed.
TLayoutWindow(TWindow *parent, LPCTSTR title=0, TModule *module=0)
Creates a TLayoutWindow object with specified parent, window caption, and library ID.
TPaneSplitter is a class that acts as a container for child windows (called panes) and splitters (pan...
TPoint is a support class, derived from tagPOINT.
TRect is a mathematical class derived from tagRect.
TRect()
Default constructor that does nothing.
The tagSIZE struct is defined as.
Abstract base class for TVSplitter and THSplitter.
virtual TRect GetRect()=0
int operator==(const TSplitter &splitter) const
TRect GetScreenRect()
Similar to above except rect is in screen coordinates.
virtual TSplitDirection SplitDirection()=0
virtual void AdjForResize(const TSize &sz)=0
virtual TSplitterIndicator * CreateSplitterIndicator()=0
TRect GetMoveArea()
Return the area the splitter can move in (bounding rectangle).
TLayoutWindow * RemovePane(TWindow *pane, TShouldDelete::DeleteType dt=TShouldDelete::DefDelete)
virtual void AdjSplitterWidth(int w)=0
void EvLButtonUp(uint modKeys, const TPoint &point)
bool EvSetCursor(HWND hwndCursor, uint codeHitTest, TMsgId mouseMsg)
virtual void Move(int dist)=0
virtual TWindow * Pane1()=0
void EvSize(uint sizeType, const TSize &size)
void EvLButtonDown(uint modKeys, const TPoint &point)
virtual TLayoutMetrics Setup(TWindow *targetPane, TWindow *newPane, float percent)=0
void SetupEpilog(TSplitter *s, TWindow *targetPane, TWindow *newPane, TLayoutMetrics &lmOfTargetPane, TLayoutMetrics &lmOfNewPane)
virtual TWindow * Pane2()=0
void Paint(TDC &, bool erase, TRect &) override
virtual void Split(TWindow *targetPane, TWindow *newPane, TSplitDirection sd, float percent)=0
TSplitter(TWindow *parent, TPaneSplitter *ps, float percent)
void EvMouseMove(uint modKeys, const TPoint &point)
Indicates to the user where the splitter will be moved to when dragging completes.
TSplitter * GetSplitter()
Return splitter from which this indicator was created.
virtual bool CouldContain(const TPoint &point)=0
void Clear()
Clear indicator from screen.
virtual TRect CalcAreaOfSplitterMove()=0
void SetCushion(const uint cushion)
Set cushion.
TSplitterIndicator(TSplitter *splitter, const TRect &rect, uint cushion=0)
virtual void ConnectToRect(const TRect &rect)=0
virtual int CalcDistMoved(const TPoint &start, const TPoint &cur)=0
virtual void Move(int dist)=0
virtual ~TSplitterIndicator()
bool operator==(const TSplitterIndicator &si) const
uint NSplitterIndicators()
void StartMove(TSplitterIndicatorList &sil, const TPoint &point)
void MoveIndicators(const TPoint &point)
void Split(TWindow *targetPane, TWindow *newPane, TSplitDirection sd, float percent=50.0f)
void AdjSplitterWidth(int w)
TLayoutMetrics Setup(TWindow *targetPane, TWindow *newPane, float percent)
TSplitDirection SplitDirection()
TSplitterIndicator * CreateSplitterIndicator()
TVSplitter(TWindow *parent, TPaneSplitter *ps, float percent=50.0f)
void AdjForResize(const TSize &sz)
void ConnectToRect(const TRect &rect)
int CalcDistMoved(const TPoint &start, const TPoint &cur)
TVSplitterIndicator(TSplitter *splitter, const TRect &rect, uint cushion=0)
TRect CalcAreaOfSplitterMove()
bool CouldContain(const TPoint &point)
TWindow, derived from TEventHandler and TStreamableBase, provides window-specific behavior and encaps...
void MapWindowPoints(HWND hWndTo, TPoint *pts, int count) const
Maps a set of points in one window to a relative set of points in another window.
void GetWindowRect(TRect &rect) const
Gets the screen coordinates of the window's rectangle and copies them into rect.
Definition of classes TLayoutMetrics & TLayoutWindow.
Object Windows Library (OWLNext Core).
UINT TMsgId
Message ID type.
TSplitDirection
Enumeration describing whether to split a window in the X or Y plane.
@ psNone
Unspecified split.
@ psHorizontal
Horizontal split.
@ psVertical
Vertical split.
TSplitterIndicatorList::Iterator TSplitterIndicatorListIterator
Definition of container classes used and made available by OWL.