SECLayoutNode Class

class SECLayoutNode

Common base class to all layout nodes

Defined in: LAYOUTND.H

Class Members

Attributes

virtual int  GetDeferWindowCount()

Queries the number of child items to be drawn by a DeferWindowPos call in RealizeNode.

virtual BOOL  IsNodeAttached()

Gets current node attachment state.

virtual void  SetMinMaxSize(const CSize& sizeMin,const CSize& sizeMax,DWORD dwFlags=0)

Sets the minimum/maximum node size information.

virtual void  GetMinMaxSize(CSize& sizeMin,CSize& sizeMax,DWORD& dwFlags)

Gets the minimum/maximum node size information.

virtual void  SetParentNode(SECLayoutNode* pNode)

Sets the node parent.

virtual SECLayoutNode*  GetParentNode()

Gets the node parent.

virtual SECLayoutNode*  GetRootParentNode()

Gets the root node parent.

virtual void  SetRecalcDirty(BOOL bSetAncestorsDirty=FALSE)

Marks as dirty for needed position recalculation.

virtual void  ClearRecalcDirty()

Marks as clean for needed position recalculation.

virtual void  SetInvalidateDirty()

Marks as dirty for needed invalidation.

virtual BOOL  IsInvalidateDirty()

Gets the invalidation dirty flag.

virtual void  SetNodeExStyle(DWORD dwExStyle=0,BOOL bRecurseChildren=FALSE)

Sets the node extended style information.

virtual void  ModifyNodeStyleEx(DWORD dwRemove=0,DWORD dwAdd=0,BOOL bRecurseChildren=FALSE)

Modifies the node extended style information.

virtual DWORD  GetNodeExStyle()

Gets the node extended style information

virtual inline void  GetInitialRect(CRect& rectInitial)

Gets initial rectangle setting.

virtual void  SetInitialRect(const CRect& rectInitial)

Sets the initial rectangle setting.

virtual void  SetInitialRect()

Sets the initial rectangle setting.

virtual inline void  ResetInitialRect(const CRect& rectInitial)

Resets the initial rectangle setting.

virtual inline void  GetPreferredRect(CRect& rectPreferred)

Gets the preferred rectangle setting.

virtual inline void  SetPreferredRect(const CRect& rectPreferred)

Sets the preferred rectangle setting.

virtual inline CRect  GetCurrentRect()

Gets current rectangle setting.

virtual inline void  SetCurrentRect(const CRect& rectCurrent)

Sets current rectangle setting.

virtual inline CRect  GetOldRect()

Gets the rectangle setting previous to the last recalculation.

virtual inline void  SetOldRect(const CRect& rectOld)

Resets the rectangle setting previous to the last recalculation.

virtual inline CRect  GetInvalidateRect()

Gets the invalidation rectangle setting.

virtual inline void  SetInvalidateRect(const CRect& rectInv)

Sets the invalidation rectangle setting.

Operations

virtual int  AddLayoutNode(SECLayoutNode* pNode)

Adds a layout node as a child.

virtual BOOL  ChangeChildNodePosition(SECLayoutNode* pNodeToChange, SECLayoutNode* pNodeTarget,BOOL bAfter=TRUE)

Changes the position of one child node relative to another.

virtual int  RemoveLayoutNode(SECLayoutNode* pNode)

Removes a layout node as a child.

virtual CRect  RecalcLayout(const CRect& rectDesired, BOOL bChildNegotiate=TRUE, BOOL bStrictRecalc=FALSE)

Recalculates the position of this and all child nodes.

virtual BOOL  RealizeNode(HDC hDC=NULL)

Applies the latest recalculation to actual screen display.

virtual BOOL  PerformInvalidation(BOOL bDoErase,BOOL bRecurseChildren=TRUE)

Kicks off the node painting invalidation.

inline void  ClearInvalidateDirty()

Clears the "dirty" flag for optimized invalidation.

virtual void  CalcMinBoundingRect(CRect& rectBounding)

Calculates the minimum bounding rect based on the current rect of this and all children nodes.

virtual void  RecalcZOrder(BOOL bRecurseChildren=TRUE)

Recalculates the Z-Order for this node as appropriate.

virtual void  SetNodeHorizontal(BOOL bHorz=TRUE,BOOL bRecurse=FALSE)

Sets the base node orientation setting.

BOOL  GetNodeHorizontal()

Gets the base node orientation setting.

void  SetNodeTitle(LPCTSTR lpszTitle)

Sets the node title string.

LPCTSTR  GetNodeTitle()

Gets the node title string.

virtual void  UpdateFrameTitle()

Updates the node title in a manner appropriate to the derived class.

Overridables

virtual CRect  OnRecalcLayout(const CRect& rectDesired,BOOL bChildNegotiate, BOOL bStrictRecalc)

Callback on RecalcLayout. Override this for custom layout.

virtual void  OnInvalidateRect(const CRect& rectInvalid,BOOL bDoErase)

Node painting invalidation is occurring. Override for custom redraw optimizations.

virtual BOOL  DoProcessRecalcLayout(BOOL bStrict,const CRect& rectDesired)

Override to selectively allow or reject recalculation attempts.

virtual void  OnNegotiateNodeRect(CRect& rectNode)

Override to hook into parent-child layout negotiation

virtual void  OnApplyOverrides(const CRect& rectOld,CRect& rectNew)

Override to hook into node "manual overrides"