12#ifndef __SSPLITWND__H__
13#define __SSPLITWND__H__
16#include <layout/SLayoutSize.h>
27 friend class SSplitWnd;
70 DEF_SOBJECT(
SWindow, L
"splitwnd")
94 typedef SArray<PANESIZE> PANESIZELIST;
97 typedef SArray<SSplitPane *> SplitPaneList;
222 static int FunComp(
const void *p1,
const void *p2);
245 int ResetPanesPostion(SplitPaneList &lstPane, SplitPaneList &lstPanePriority, PANESIZELIST &lstPaneSize,
int offset);
260 void Relayout(
const CRect &rc, PANESIZELIST lstPaneSize = PANESIZELIST());
293 m_pSkinSep = GETBUILTINSKIN(SKIN_SYS_SPLIT_VERT);
313 m_pSkinSep = GETBUILTINSKIN(SKIN_SYS_SPLIT_HORZ);
Smart pointer class for managing COM-style reference-counted objects.
A pane within a split window.
SSplitPane()
Constructor for SSplitPane.
virtual ~SSplitPane()
Destructor for SSplitPane.
SSplitWnd_Col()
Constructor for SSplitWnd_Col.
SSplitWnd_Row()
Constructor for SSplitWnd_Row.
void Relayout(const CRect &rc, PANESIZELIST lstPaneSize=PANESIZELIST())
Relayouts the panes within the window.
static int FunComp(const void *p1, const void *p2)
Comparison function for qsort.
void OnLButtonUp(UINT nFlags, CPoint pt)
Handles left mouse button up events.
SAutoRefPtr< ISkinObj > m_pSkinSep
SSplitWnd(void)
Constructor for SSplitWnd.
void UpdateChildrenPosition() OVERRIDE
Updates the positions of child windows.
void OnLButtonDown(UINT nFlags, CPoint pt)
Handles left mouse button down events.
int InsertItem(SSplitPane *pane, int index=-1)
Inserts a new pane.
void OnMouseMove(UINT nFlags, CPoint pt)
Handles mouse move events.
void RemoveItem(SSplitPane *pane)
Removes a pane.
void GetChildrenLayoutRect(RECT *prc) SCONST OVERRIDE
Retrieves the layout rectangle for child windows.
BOOL HidePane(UINT iPane)
Hides a pane.
int ResetPanesPostion(SplitPaneList &lstPane, SplitPaneList &lstPanePriority, PANESIZELIST &lstPaneSize, int offset)
Resets the positions of the panes based on size information.
SSplitPane * GetPane(UINT iPane)
Retrieves a pane by index.
void FatchPaneSizeInfo(const SplitPaneList &lstPane, PANESIZELIST &lstPaneSize)
Fetches size information for the panes.
int AdjustPanesSize(PANESIZELIST &lstPriority, int remain)
Adjusts the sizes of the panes.
int PaneIndex(const SStringW &strName) const
Retrieves the index of a pane by its name.
void SortPriorityList(SplitPaneList &lstPane)
Sorts the pane list by priority.
SplitPaneList m_lstPriority
BOOL ShowPane(UINT iPane)
Shows a pane.
void OnPaint(IRenderTarget *pRT)
Paints the window.
A class representing an ASCII string.
void OnMouseMove(UINT nFlags, CPoint pt)
Handles the mouse move event.
void OnPaint(IRenderTarget *pRT)
Handles the painting of the window.
void OnLButtonUp(UINT nFlags, CPoint pt)
Handles the left mouse button up event.
void OnLButtonDown(UINT nFlags, CPoint pt)
Handles the left mouse button down event.
virtual BOOL OnSetCursor(const CPoint &pt)
Sets the cursor when the mouse hovers over the window.
virtual BOOL CreateChildren(SXmlNode xmlNode)
Create child windows from XML node.
void Move(LPCRECT prect) OVERRIDE
Moves the window to a new position and size.
Class representing an XML node.
Interface for rendering target objects.