GUIBASE::RCDockableFrame Class Reference

Inherits GUIBASE::RCControlBar, and GUIBASE::RCStateWindowInterface.

Inherited by GUIBASE::RCDockableDialogFrame.

Inheritance diagram for GUIBASE::RCDockableFrame:

Inheritance graph
[legend]
Collaboration diagram for GUIBASE::RCDockableFrame:

Collaboration graph
[legend]
List of all members.

Public Member Functions

TBool Create (DWORD dwStyle, CWnd *pParentWnd, UINT nId)
virtual RCWindowState GetWindowState () const
virtual void SetWindowState (const RCWindowState &WindowState, TBool bAllowMinimized=FALSE)

Static Public Member Functions

static void RecalcWndLayout (CWnd &Wnd)
static void SetWindowState (CControlBar *pControlBar, const RCWindowState &WindowState)

Static Public Attributes

static const COLORREF BTN_HILIGHT
static const COLORREF BTN_SHADOW
static const TSInt BORDER_WIDTH
static const TSInt CAPTION_WIDTH
static const TSInt EDGE_WIDTH
static const TSInt GRIPPER_WIDTH
static const TSInt FLOAT_BORDER_WIDTH
static const TSInt STRETCH_SIZE
static const RCSize TRACK_BORDER_SIZE
static const TSInt SHRINKED_MARK_WIDTH
static const TSLong BTN_WIDTH
static const TSLong BTN_HEIGHT
static const TSLong BORDER_WIDTH_LEFT [5]
static const TSLong BORDER_WIDTH_TOP [5]
static const TSLong BORDER_WIDTH_RIGHT [5]
static const TSLong BORDER_WIDTH_BOTTOM [5]
static const TSLong BORDER_WIDTH_HORZ [5]
static const TSLong BORDER_WIDTH_VERT [5]
static const TDockingState m_naDockingState [5]
static const TInt m_naDockBarId [5]

Protected Member Functions

TBool IsHorzDocked () const
TInt GetDockingIndex (TSInt nDockBarId=-1) const
void StartTracking (TInt nHitTest, RCPoint Pos)
void EndTracking ()
void InitTrackingLoop ()
void CancelTrackingLoop ()
void Stretch (RCPoint Pos)
TBool DoTracking ()
void DrawTracker (const RCRect *pNewRect, const RCRect *pOldRect)
void UpdateCaption (CDC &dc)
virtual CSize CalcFixedLayout (BOOL bStretch, BOOL bHorz)
virtual CSize CalcDynamicLayout (int nLength, DWORD dwMode)
virtual void OnUpdateCmdUI (CFrameWnd *pTarget, BOOL bDisableIfNoHndler)
afx_msg int OnCreate (LPCREATESTRUCT lpcs)
afx_msg void OnShowWindow (BOOL bShow, UINT nStatus)
afx_msg void OnWindowPosChanged (WINDOWPOS FAR *lpWndPos)
afx_msg void OnGetMinMaxInfo (MINMAXINFO *lpMMI)
afx_msg void OnNcPaint ()
afx_msg void OnNcLButtonDown (UINT nHitTest, CPoint point)
afx_msg void OnNcLButtonUp (UINT nHitTest, CPoint point)
afx_msg UINT OnNcHitTest (CPoint Pos)
afx_msg void OnNcCalcSize (BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR *lpNCSP)
afx_msg void OnNcLButtonDblClk (UINT nHitTest, CPoint Pos)
afx_msg void OnNcRButtonDown (UINT nHitTest, CPoint Pos)
afx_msg void OnHide ()
afx_msg void OnUndock ()
virtual void OnDockingChanged ()
void EraseNonClient ()
virtual RCSize HandleFloatingResizing (const RCPoint &Pos)
virtual RCSize VerifySize (const RCSize &Size, TSInt nDockBarId=-1)
virtual TBool GetMinMaxSize (RCSize &MinSize, RCSize &MaxSize, TInt nDockBarId) const
virtual TBool GetMinMaxClientSize (RCSize &MinSize, RCSize &MaxSize) const
void RecalcBarsLayout ()

Protected Attributes

RCRect m_EdgeRect
RCRect m_StartTrackerRect
RCRect m_TrackerRect
RCRect m_RequestedTrackRect
TSInt m_nDockBarId
RCPoint m_OldTrackPos
BOOL m_bTracking
BOOL m_bInRecalcNC
RCRect m_CaptionRect
CBrush m_BkGrndBrush
TInt m_nHitTest
CFont m_HorzCaptionFont
CFont m_VertCaptionFont
TSLong m_nHorzDockHeight
TSLong m_nVertDockWidth
RCSize m_FloatingSize
RCNcButton m_HideBtn
RCNcButton m_UndockBtn
TRIVERTEX m_aTriVertex [2]
GRADIENT_RECT m_GradRect
CDC * m_pDC

Detailed Description

Author:
Patrik Stellmann


Member Data Documentation

const TSInt RCDockableFrame::BORDER_WIDTH [static]
 

Initial value:

 
    GetSystemMetrics(SM_CXFRAME)

const TSLong RCDockableFrame::BORDER_WIDTH_BOTTOM [static]
 

Initial value:

{
    EDGE_WIDTH,                 
    BORDER_WIDTH,               
    BORDER_WIDTH,               
    BORDER_WIDTH,               
    FLOAT_BORDER_WIDTH          
}

const TSLong RCDockableFrame::BORDER_WIDTH_HORZ [static]
 

Initial value:

{
    BORDER_WIDTH_LEFT[0] + BORDER_WIDTH_RIGHT[0],
    BORDER_WIDTH_LEFT[1] + BORDER_WIDTH_RIGHT[1],
    BORDER_WIDTH_LEFT[2] + BORDER_WIDTH_RIGHT[2],
    BORDER_WIDTH_LEFT[3] + BORDER_WIDTH_RIGHT[3],
    BORDER_WIDTH_LEFT[4] + BORDER_WIDTH_RIGHT[4]
}

const TSLong RCDockableFrame::BORDER_WIDTH_LEFT [static]
 

Initial value:

{   
    GRIPPER_WIDTH + 1,          
    BORDER_WIDTH,               
    EDGE_WIDTH,                 
    GRIPPER_WIDTH + 1,          
    FLOAT_BORDER_WIDTH          
}

const TSLong RCDockableFrame::BORDER_WIDTH_RIGHT [static]
 

Initial value:

{
    BORDER_WIDTH,               
    EDGE_WIDTH,                 
    BORDER_WIDTH,               
    BORDER_WIDTH,               
    FLOAT_BORDER_WIDTH          
}

const TSLong RCDockableFrame::BORDER_WIDTH_TOP [static]
 

Initial value:

{
    BORDER_WIDTH,               
    GRIPPER_WIDTH + 1,          
    GRIPPER_WIDTH + 1,          
    EDGE_WIDTH,                 
    FLOAT_BORDER_WIDTH          
}

const TSLong RCDockableFrame::BORDER_WIDTH_VERT [static]
 

Initial value:

{
    BORDER_WIDTH_TOP[0] + BORDER_WIDTH_BOTTOM[0],
    BORDER_WIDTH_TOP[1] + BORDER_WIDTH_BOTTOM[1],
    BORDER_WIDTH_TOP[2] + BORDER_WIDTH_BOTTOM[2],
    BORDER_WIDTH_TOP[3] + BORDER_WIDTH_BOTTOM[3],
    BORDER_WIDTH_TOP[4] + BORDER_WIDTH_BOTTOM[4],
}

const TSLong RCDockableFrame::BTN_HEIGHT [static]
 

Initial value:

 
    RCDockableFrame::GRIPPER_WIDTH / 2 + 2

const COLORREF RCDockableFrame::BTN_HILIGHT [static]
 

Initial value:

 
    ::GetSysColor(COLOR_BTNHILIGHT)
TODO:
  • draw gripper more efficient, optionally with name in it
  • replace painted close/undock buttons by real buttons
  • changing docking from horizontal to vertical results in too small size

const COLORREF RCDockableFrame::BTN_SHADOW [static]
 

Initial value:

 
    ::GetSysColor(COLOR_BTNSHADOW)

const TSLong RCDockableFrame::BTN_WIDTH [static]
 

Initial value:

 
    RCDockableFrame::GRIPPER_WIDTH / 2 + 2

const TSInt RCDockableFrame::CAPTION_WIDTH [static]
 

Initial value:

 
    GetSystemMetrics(SM_CYSMCAPTION)

const TSInt RCDockableFrame::EDGE_WIDTH [static]
 

Initial value:

    6

const TSInt RCDockableFrame::FLOAT_BORDER_WIDTH [static]
 

Initial value:

    2

const TSInt RCDockableFrame::GRIPPER_WIDTH [static]
 

Initial value:

 
    GetSystemMetrics(SM_CYSMCAPTION) + GetSystemMetrics(SM_CXFRAME)

const TDockingState RCDockableFrame::m_naDockingState [static]
 

Initial value:

{
    DS_TOP,
    DS_LEFT,
    DS_RIGHT,
    DS_BOTTOM,
    DS_FLOATING,
}

const TSInt RCDockableFrame::SHRINKED_MARK_WIDTH [static]
 

Initial value:

    10

const TSInt RCDockableFrame::STRETCH_SIZE [static]
 

Initial value:

    32767

const RCSize RCDockableFrame::TRACK_BORDER_SIZE [static]
 

Initial value:

 
    RCSize(3, 3)


The documentation for this class was generated from the following files:
Generated on Thu Feb 16 12:47:08 2006 for Simulator Bob by  doxygen 1.4.6-NO