Rhino C++ API  8.6
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
CRhinoUiDockBar Class Reference

#include <RhinoSdkUiDockBar.h>

Inheritance diagram for CRhinoUiDockBar:
CRhinoUiExpandableTabbedDockBar CRhinoUiPageDockBar

Public Types

enum  caption_button_hit_test : int { cbht_close = HTCLOSE, cbht_expand = HTMAXBUTTON }
 Used by OnNcHitTest to return custom caption button hit test ID's. More...
 
enum  control_bar_flags : int {
  cbf_show_name_when_docked_vert = 0, cbf_draw_gripper_when_docked_horz, cbf_draw_gripper_when_docked_vert, cbf_forward_mouse_wheel_to_cursor_wnd,
  cbf_unused_1, cbf_unused_2, cbf_unused_3, cbf_unused_4,
  cbf_invalid
}
 
enum  RHINO_CONTROL_BAR_STYLES {
  RHCBS_EDGELEFT = 0x00000001, RHCBS_EDGERIGHT = 0x00000002, RHCBS_EDGETOP = 0x00000004, RHCBS_EDGEBOTTOM = 0x00000008,
  RHCBS_EDGEALL = 0x0000000F, RHCBS_SHOWEDGES = 0x00000010, RHCBS_GRIPPER = 0x00000020
}
 

Public Member Functions

CSize CalcDynamicLayout (int nLength, DWORD nMode) override
 
CSize CalcFixedLayout (BOOL32 bStretch, BOOL32 bHorz) override
 sizing More...
 
CRect CalculateNCBorders (int dock_location, bool bResizable=true) const
 
CSize CalculateNCBorderSize (int dock_location, bool bResizable=true) const
 
virtual bool CanClose ()
 
bool CreateDockBarClientDialog (LPCTSTR lpszTemplateName, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
bool CreateDockBarClientDialog (UINT nIDTemplate, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
virtual bool CreateDockBarControls ()
 
const class CRhControlBarInfoDelayFloatInfo () const
 
void DelayShow (BOOL32 bShow) override
 
BOOL32 DestroyWindow () override
 
CWnd * DockBarClientWnd () const
 
virtual ON_UUID DockBarID () const
 
virtual const wchar_t * DockBarName (int languageId=1033) const
 
int DockLocation () const
 
virtual void DrawDockedCaption (CDC *pDC, const CRect &rect)
 
void DrawGripper (CDC *pDC, const CRect &rect) override
 painting More...
 
void EnableDocking (DWORD dwDockStyle)
 
void ForceOnScreen ()
 
int GripperSize () const
 
CSize InitialSizeDockedHorz () const
 
CSize InitialSizeDockedVert () const
 
CSize InitialSizeFloating () const
 
bool IsCloseButtonVisible () const
 
BOOL32 IsDockBar () const override
 
bool IsDockBarFlagSet (control_bar_flags flag) const
 
bool IsDocked () const
 
bool IsDockedBottom () const
 
bool IsDockedHoriz () const
 
bool IsDockedLeft () const
 
bool IsDockedRight () const
 
bool IsDockedTop () const
 
bool IsDockedVert () const
 
bool IsGearButtonVisible () const
 
BOOL32 IsVisible () const override
 
virtual void LoadState (LPCTSTR lpszProfileName=NULL)
 
void OnBarStyleChange (DWORD dwOldStyle, DWORD dwNewStyle) override
 
virtual CSize OnCalcDynamicLayout (CSize size, int nLength, DWORD nMode)
 
virtual CSize OnCalcFixedLayout (CSize size, BOOL32 bStretch, BOOL32 bHorz)
 
virtual void OnDockBarPositionChanged (DWORD newLocation)
 
virtual bool OnDockContextStartDrag (bool dragActionStarting)
 
virtual void OnShowDockBar (bool show)
 
virtual void OnShowDockBar (IDockBarEventWatcher::ShowEventArgs args)
 
virtual void OnStartTracking (bool bDoneTracking)
 
virtual void OnToggleDocking (bool priorToStateChange)
 
void OnUpdateCmdUI (CFrameWnd *pTarget, BOOL32 bDisableIfNoHndler) override
 CControlBar overrides. More...
 
ON_UUID PlugInID () const
 
void PostNcDestroy () override
 
BOOL32 PreCreateWindow (CREATESTRUCT &cs) override
 
BOOL32 PreTranslateMessage (MSG *pMsg) override
 
DWORD RecalcDelayShow (AFX_SIZEPARENTPARAMS *lpLayout) override
 
virtual void RhinoGetBarInfo (CControlBarInfo &cbi)
 
virtual void SaveState (LPCTSTR lpszProfileName=NULL)
 
void SetDockBarClientWnd (CWnd *pWnd)
 
bool SetDockBarFlag (control_bar_flags flag, bool b)
 
void SetInitialSizeDockedHorz (CSize size)
 
void SetInitialSizeDockedVert (CSize size)
 
void SetInitialSizeFloating (CSize size)
 
BOOL32 SetStatusText (INT_PTR nHit) override
 
bool ShowCloseButton (bool show)
 
bool ShowGearButton (bool show)
 
int SortIndex () const
 
void ToggleDocking ()
 
LRESULT WindowProc (UINT nMsg, WPARAM wParam, LPARAM lParam) override
 

Static Public Member Functions

static bool IsHiding (IDockBarEventWatcher::ShowEventArgs args)
 
static bool IsShowing (IDockBarEventWatcher::ShowEventArgs args)
 

Public Attributes

class CRhDockBarExtension * m__control_bar_sdk_extension = nullptr
 

Protected Types

enum  edge_hit_test_side : int {
  edge_ht_left = 0, edge_ht_top, edge_ht_right, edge_ht_bottom,
  edge_ht_invalid
}
 
enum  tracking : int {
  not_tracking = HTERROR, tracking_left = HTLEFT, tracking_right = HTRIGHT, tracking_top = HTTOP,
  tracking_bottom = HTBOTTOM
}
 Tracking modes when sizing a docked dock bar. More...
 

Protected Member Functions

 CRhinoUiDockBar ()
 
virtual ~CRhinoUiDockBar ()
 
void AlignDockBars ()
 
bool CanStretch (UINT nHitTest) const
 
bool DelayFloat ()
 
virtual LRESULT CALLBACK DockBarFloatingFrameWndProc (HWND, UINT, WPARAM, LPARAM)
 
LRESULT CALLBACK DockBarFloatingFrameWndProcB (HWND, UINT, WPARAM, LPARAM)
 
void Expand (bool bToggle)
 
int GetDockSiteBars (ON_SimpleArray< CRhinoUiDockBar * > &bar_list) const
 
void GetDockSiteInfo (int &first_bar, int &last_bar, int &this_bar) const
 
bool GetEdgeRect (CRect rcWnd, UINT nHitTest, CRect &rcEdge) const
 
bool GetMinMaxSizes (LPSIZE szMin, LPSIZE szMax, int at_location) const
 
bool IsAlmostRight () const
 
bool IsDelayFloat () const
 
bool IsEdgeVisible (UINT hit_test) const
 
bool IsSideTracking () const
 
bool IsSizable (int at_location=-1) const
 
bool IsTracking () const
 
bool NegociateSpace (int length_available, bool is_horz)
 
afx_msg void OnActivateApp (BOOL32 bActive, DWORD dwThreadID)
 
afx_msg void OnCaptureChanged (CWnd *pWnd)
 
afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct)
 
afx_msg void OnDestroy ()
 
afx_msg BOOL32 OnEraseBkgnd (CDC *pDC)
 
afx_msg void OnLButtonDown (UINT nFlags, CPoint point) override
 
afx_msg void OnLButtonUp (UINT nFlags, CPoint point) override
 
afx_msg void OnMouseMove (UINT nFlags, CPoint point) override
 
afx_msg void OnNcCalcSize (BOOL32 bCalcValidRects, NCCALCSIZE_PARAMS *lpncsp)
 
afx_msg LRESULT OnNcHitTest (CPoint point)
 
afx_msg void OnNcLButtonDblClk (UINT nHitTest, CPoint point)
 
afx_msg void OnNcLButtonDown (UINT nHitTest, CPoint point)
 
afx_msg void OnNcLButtonUp (UINT nHitTest, CPoint point)
 
afx_msg void OnNcMouseMove (UINT nHitTest, CPoint point)
 
afx_msg void OnNcPaint ()
 
bool OnNcPaintFloat (HWND hwnd, WPARAM wParam, LPARAM lParam)
 
afx_msg void OnPaint ()
 
afx_msg void OnRButtonDown (UINT nFlags, CPoint point) override
 
afx_msg void OnRButtonUp (UINT nFlags, CPoint point) override
 
afx_msg BOOL32 OnSetCursor (CWnd *pWnd, UINT nHitTest, UINT message)
 
afx_msg void OnSize (UINT nType, int cx, int cy)
 
afx_msg void OnTimer (UINT_PTR nIDEvent) override
 
void OnTrackInvertTracker ()
 
void OnTrackUpdateSize (CPoint &point)
 
afx_msg void OnWindowPosChanged (WINDOWPOS *lpwndpos)
 
afx_msg void OnWindowPosChanging (WINDOWPOS *lpwndpos)
 
const CRhinoUiDockBaroperator= (const CRhinoUiDockBar &)
 
void PaintCaptionButtons (HWND hWnd)
 
void RedrawButton (const CRhinoUiDockBarCaptionButton &btn)
 
void ReleaseDockBarMouseCapture ()
 
void SetDelayFloatInfo (class CRhControlBarInfo *)
 
bool SetDockBarMouseCapture ()
 
void StartTracking (UINT nHitTest)
 
void StopTracking ()
 
void TrackButtons (CPoint ptScreen)
 
tracking TrackingLocation () const
 

Static Protected Member Functions

static UINT GetEdgeHTCode (edge_hit_test_side nEdge)
 

Protected Attributes

bool m_bActiveApp
 
bool m_bActiveFloating
 
bool m_bAutoDeleteRhinoDockBar
 
bool m_bDockBarMouseCaptured
 
int m_border_size
 
bool m_bReplaceDockContext
 
CWnd * m_client_window
 
int m_cx_edge
 
int m_dock_location
 
bool m_is_maximized
 
bool m_is_parent_sizing
 
bool m_is_single_in_row
 
bool m_keep_size
 
CSize m_max_tracking_size
 
CSize m_min_tracking_size
 
int m_over_button
 
UUID m_plug_in_id
 
WNDPROC m_pOldFloatFrameWndProc
 
int m_pushed_button
 
CRect m_redraw_rect
 
DWORD m_rhino_cb_style
 
BYTE m_rhino_flags [cbf_invalid]
 
CPoint m_save_point
 
CSize m_save_size
 
int m_sort_index
 
CSize m_szFloat
 
CSize m_szHorz
 
CSize m_szMaxFloat
 
CSize m_szMaxHorz
 
CSize m_szMaxVert
 
CSize m_szMinFloat
 
CSize m_szMinHorz
 
CSize m_szMinVert
 
CSize m_szVert
 
CSize m_track_max_size
 
CSize m_track_min_size
 
int m_tracking
 

Static Protected Attributes

static ON_wString m_bogus_rhino_control_bar_name
 
static UUID m_bogus_rhino_control_bar_uuid
 

Friends

class CRhControlBarInfo
 
class CRhDockState
 
class CRhinoUiDockBarManager
 
class CRhinoUiPageDockBar
 
class CRhinoUiPageDockBarManager
 
class CRhUiDockBar
 
class CRhUiDockBarManagerWnd
 
class CRhUiDockContext
 
LRESULT CALLBACK RhDockBarFloatingFrameWndProc (HWND, UINT, WPARAM, LPARAM)
 
LRESULT CALLBACK RhDockBarFloatingFrameWndProcB (HWND, UINT, WPARAM, LPARAM)
 
void RhUiDockStatePlugInLoaded (UUID plug_in_id)
 

Detailed Description

Copyright (c) 1993-2016 Robert McNeel & Associates. All rights reserved. Rhinoceros is a registered trademark of Robert McNeel & Associates.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.

For complete Rhino SDK copyright information see http://www.rhino3d.com/developer.

Member Enumeration Documentation

◆ caption_button_hit_test

Used by OnNcHitTest to return custom caption button hit test ID's.

Enumerator
cbht_close 
cbht_expand 

◆ control_bar_flags

Description: Flags that describe how the dock bar will be drawn or act.

Enumerator
cbf_show_name_when_docked_vert 
cbf_draw_gripper_when_docked_horz 
cbf_draw_gripper_when_docked_vert 
cbf_forward_mouse_wheel_to_cursor_wnd 

forward WM_MOUSEWHEEL messages to the CWnd under the mouse cursor

cbf_unused_1 

Reserved for future use.

cbf_unused_2 
cbf_unused_3 
cbf_unused_4 
cbf_invalid 

Invalid should always be last, it is used to size flag byte array.

◆ edge_hit_test_side

Enumerator
edge_ht_left 
edge_ht_top 
edge_ht_right 
edge_ht_bottom 
edge_ht_invalid 

◆ RHINO_CONTROL_BAR_STYLES

Enumerator
RHCBS_EDGELEFT 
RHCBS_EDGERIGHT 
RHCBS_EDGETOP 
RHCBS_EDGEBOTTOM 
RHCBS_EDGEALL 
RHCBS_SHOWEDGES 
RHCBS_GRIPPER 

◆ tracking

enum CRhinoUiDockBar::tracking : int
protected

Tracking modes when sizing a docked dock bar.

Enumerator
not_tracking 
tracking_left 
tracking_right 
tracking_top 
tracking_bottom 

Constructor & Destructor Documentation

◆ CRhinoUiDockBar()

CRhinoUiDockBar::CRhinoUiDockBar ( )
protected

◆ ~CRhinoUiDockBar()

virtual CRhinoUiDockBar::~CRhinoUiDockBar ( )
protectedvirtual

Member Function Documentation

◆ AlignDockBars()

void CRhinoUiDockBar::AlignDockBars ( )
protected

◆ CalcDynamicLayout()

CSize CRhinoUiDockBar::CalcDynamicLayout ( int  nLength,
DWORD  nMode 
)
override

◆ CalcFixedLayout()

CSize CRhinoUiDockBar::CalcFixedLayout ( BOOL32  bStretch,
BOOL32  bHorz 
)
override

sizing

◆ CalculateNCBorders()

CRect CRhinoUiDockBar::CalculateNCBorders ( int  dock_location,
bool  bResizable = true 
) const

Description: Calculate the left, right, top, and bottom non client borders at specified location. This is may be useful when setting minimum, maximum and initial sizes and is used by CRhinoUiDockBar::OnNcCalcSize() Parameters: dock_location [in] Valid docking locations are: AFX_IDW_DOCKBAR_TOP AFX_IDW_DOCKBAR_BOTTOM AFX_IDW_DOCKBAR_LEFT AFX_IDW_DOCKBAR_RIGHT AFX_IDW_DOCKBAR_FLOAT If dock_location is not one of the above AFX_IDW_DOCKBAR_FLOAT is assumed. bResizable [in] If true then allow for resize edge Returns: Returns a CRect which contains the border sizes as follows: CRect.left = left non client edge CRect.right = right non client edge CRect.top = top non client edge CRect.bottom = bottom non client edge

◆ CalculateNCBorderSize()

CSize CRhinoUiDockBar::CalculateNCBorderSize ( int  dock_location,
bool  bResizable = true 
) const

Description: Calculate the combined left+right and top+bottom non client borders at specified location. This is may be useful when setting minimum, maximum and initial sizes. Parameters: dock_location [in] Valid docking locations are: AFX_IDW_DOCKBAR_TOP AFX_IDW_DOCKBAR_BOTTOM AFX_IDW_DOCKBAR_LEFT AFX_IDW_DOCKBAR_RIGHT AFX_IDW_DOCKBAR_FLOAT If dock_location is not one of the above AFX_IDW_DOCKBAR_FLOAT is assumed. bResizable [in] If true then allow for resize edge Returns: Size.cx represents the sum of the left and right non client edges. Size.cy represents the sum of the top and bottom non client edges.

◆ CanClose()

virtual bool CRhinoUiDockBar::CanClose ( )
virtual

Description: Called prior to closing the dock bar Returns: true (default) If dock bar is allowed to close.

◆ CanStretch()

bool CRhinoUiDockBar::CanStretch ( UINT  nHitTest) const
protected

◆ CreateDockBarClientDialog() [1/2]

bool CRhinoUiDockBar::CreateDockBarClientDialog ( LPCTSTR  lpszTemplateName,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)

◆ CreateDockBarClientDialog() [2/2]

bool CRhinoUiDockBar::CreateDockBarClientDialog ( UINT  nIDTemplate,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)

◆ CreateDockBarControls()

virtual bool CRhinoUiDockBar::CreateDockBarControls ( )
virtual

Description: Called when dock bar is being created. This is where controls which are to be embedded in this dock bar should be created. Returns: true If controls are created successfully. false If they are not. Returning false will cause CRhinoUiDockBar::CreateRhinoDockBar() to fail.

Reimplemented in CRhinoUiPageDockBar.

◆ DelayFloat()

bool CRhinoUiDockBar::DelayFloat ( )
protected

◆ DelayFloatInfo()

const class CRhControlBarInfo* CRhinoUiDockBar::DelayFloatInfo ( ) const

◆ DelayShow()

void CRhinoUiDockBar::DelayShow ( BOOL32  bShow)
override

◆ DestroyWindow()

BOOL32 CRhinoUiDockBar::DestroyWindow ( )
override

◆ DockBarClientWnd()

CWnd* CRhinoUiDockBar::DockBarClientWnd ( ) const

◆ DockBarFloatingFrameWndProc()

virtual LRESULT CALLBACK CRhinoUiDockBar::DockBarFloatingFrameWndProc ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)
protectedvirtual

◆ DockBarFloatingFrameWndProcB()

LRESULT CALLBACK CRhinoUiDockBar::DockBarFloatingFrameWndProcB ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)
protected

◆ DockBarID()

virtual ON_UUID CRhinoUiDockBar::DockBarID ( ) const
virtual

Returns: Unique id which identifies this dock bar. This should be persistent as this id will be used to serialize size, state and position information relative to this dock bar when Rhino is shutdown and start up.

Reimplemented in CRhinoUiPageDockBar.

◆ DockBarName()

virtual const wchar_t* CRhinoUiDockBar::DockBarName ( int  languageId = 1033) const
virtual

Description: There is no requirement for dock bars to have unique names. Dock bars must have a name so that the dock bar manager GUI can reference this control dock bar. Parameters: languageId [in] Localized language version control_bar_name is using Returns: Display name for this dock bar

Reimplemented in CRhinoUiPageDockBar.

◆ DockLocation()

int CRhinoUiDockBar::DockLocation ( ) const

Description: Get the current docked location of this dock bar. Returns: The current docked location of this dock bar. AFX_IDW_DOCKBAR_RIGHT AFX_IDW_DOCKBAR_LEFT AFX_IDW_DOCKBAR_TOP AFX_IDW_DOCKBAR_BOTTOM AFX_IDW_DOCKBAR_FLOAT

◆ DrawDockedCaption()

virtual void CRhinoUiDockBar::DrawDockedCaption ( CDC *  pDC,
const CRect &  rect 
)
virtual

Description: Called when time to draw non client caption for docked dock bars. Parameters: pDC [in/out] Non client device context to draw into. rect [in] Caption rectangle in pDC coordinates.

◆ DrawGripper()

void CRhinoUiDockBar::DrawGripper ( CDC *  pDC,
const CRect &  rect 
)
override

painting

◆ EnableDocking()

void CRhinoUiDockBar::EnableDocking ( DWORD  dwDockStyle)

◆ Expand()

void CRhinoUiDockBar::Expand ( bool  bToggle)
protected

◆ ForceOnScreen()

void CRhinoUiDockBar::ForceOnScreen ( )

Description: Call to assure that the entire dock bar is visible on the monitor which contains the greatest amount of the control bar. If the control bar is outside of a monitor then it is pushed onto the monitor containing the main Rhino window. This is used by CRhinoUiDockBarManager::ShowDockBar() right after showing a control bar.

◆ GetDockSiteBars()

int CRhinoUiDockBar::GetDockSiteBars ( ON_SimpleArray< CRhinoUiDockBar * > &  bar_list) const
protected

Description: Get CRhinoUiDockBar objects which share the docking location of this dock bar. Called when a dock bar is docked and a list of other dock bars at the same docking location is needed. Parameters: bar_list [out] List to populate with dock bars. Returns: Number of dock bars found including this one. Zero if none found or on error.

◆ GetDockSiteInfo()

void CRhinoUiDockBar::GetDockSiteInfo ( int &  first_bar,
int &  last_bar,
int &  this_bar 
) const
protected

◆ GetEdgeHTCode()

static UINT CRhinoUiDockBar::GetEdgeHTCode ( edge_hit_test_side  nEdge)
staticprotected

◆ GetEdgeRect()

bool CRhinoUiDockBar::GetEdgeRect ( CRect  rcWnd,
UINT  nHitTest,
CRect &  rcEdge 
) const
protected

◆ GetMinMaxSizes()

bool CRhinoUiDockBar::GetMinMaxSizes ( LPSIZE  szMin,
LPSIZE  szMax,
int  at_location 
) const
protected

◆ GripperSize()

int CRhinoUiDockBar::GripperSize ( ) const

Description:m Get current gripper size value. Returns: Current gripper size.

◆ InitialSizeDockedHorz()

CSize CRhinoUiDockBar::InitialSizeDockedHorz ( ) const

◆ InitialSizeDockedVert()

CSize CRhinoUiDockBar::InitialSizeDockedVert ( ) const

◆ InitialSizeFloating()

CSize CRhinoUiDockBar::InitialSizeFloating ( ) const

◆ IsAlmostRight()

bool CRhinoUiDockBar::IsAlmostRight ( ) const
protected

◆ IsCloseButtonVisible()

bool CRhinoUiDockBar::IsCloseButtonVisible ( ) const

◆ IsDelayFloat()

bool CRhinoUiDockBar::IsDelayFloat ( ) const
protected

◆ IsDockBar()

BOOL32 CRhinoUiDockBar::IsDockBar ( ) const
override

◆ IsDockBarFlagSet()

bool CRhinoUiDockBar::IsDockBarFlagSet ( control_bar_flags  flag) const

Description: Check to see if style flag is set. Parameters: flag [in] Flag to check Returns: true If flag is set otherwise false.

◆ IsDocked()

bool CRhinoUiDockBar::IsDocked ( ) const

Description: Check to see if this dock bar is docked. Returns: true If the dock bar is docked at the top, bottom, left or right.

◆ IsDockedBottom()

bool CRhinoUiDockBar::IsDockedBottom ( ) const

Description: Check to see if this dock bar is docked at the bottom of the Rhino main frame window. Returns: true If the dock bar is docked at the bottom.

◆ IsDockedHoriz()

bool CRhinoUiDockBar::IsDockedHoriz ( ) const

Description: Check to see if this dock bar is docked at the top or bottom of the Rhino main frame window. Returns: true If the dock bar is docked at the top or bottom.

◆ IsDockedLeft()

bool CRhinoUiDockBar::IsDockedLeft ( ) const

Description: Check to see if this dock bar is docked on the right sied of the Rhino main frame window. Returns: true If the dock bar is docked on the left side.

◆ IsDockedRight()

bool CRhinoUiDockBar::IsDockedRight ( ) const

Description: Check to see if this dock bar is docked on the right sied of the Rhino main frame window. Returns: true If the dock bar is docked on the right side.

◆ IsDockedTop()

bool CRhinoUiDockBar::IsDockedTop ( ) const

Description: Check to see if this dock bar is docked at the top of the Rhino main frame window. Returns: true If the dock bar is docked at the top.

◆ IsDockedVert()

bool CRhinoUiDockBar::IsDockedVert ( ) const

Description: Check to see if this dock bar is docked at the right or left side of the Rhino main frame window. Returns: true If the dock bar is docked on the right or left side.

◆ IsEdgeVisible()

bool CRhinoUiDockBar::IsEdgeVisible ( UINT  hit_test) const
protected

◆ IsGearButtonVisible()

bool CRhinoUiDockBar::IsGearButtonVisible ( ) const

◆ IsHiding()

static bool CRhinoUiDockBar::IsHiding ( IDockBarEventWatcher::ShowEventArgs  args)
static

Description: Check to see if ShowEventArgs is a hide event of some sort

◆ IsShowing()

static bool CRhinoUiDockBar::IsShowing ( IDockBarEventWatcher::ShowEventArgs  args)
static

Description: Check to see if ShowEventArgs is a show event of some sort

◆ IsSideTracking()

bool CRhinoUiDockBar::IsSideTracking ( ) const
protected

Description: Check to see if dock bar is being sized by dragging the size control seporating two dock bars docked at the same location. Returns: true If dragging the size control seporating two dock bars docked at the same location.

◆ IsSizable()

bool CRhinoUiDockBar::IsSizable ( int  at_location = -1) const
protected

◆ IsTracking()

bool CRhinoUiDockBar::IsTracking ( ) const
protected

Description: Check to see if a dock bar is docked and being sized. Returns: true If this dock bar is docked and sized by dragging an edge.

◆ IsVisible()

BOOL32 CRhinoUiDockBar::IsVisible ( ) const
override

◆ LoadState()

virtual void CRhinoUiDockBar::LoadState ( LPCTSTR  lpszProfileName = NULL)
virtual

Description: Called when dock bar position is being read. Parameters: lpszProfileName [in] Profile section being read

◆ NegociateSpace()

bool CRhinoUiDockBar::NegociateSpace ( int  length_available,
bool  is_horz 
)
protected

◆ OnActivateApp()

afx_msg void CRhinoUiDockBar::OnActivateApp ( BOOL32  bActive,
DWORD  dwThreadID 
)
protected

◆ OnBarStyleChange()

void CRhinoUiDockBar::OnBarStyleChange ( DWORD  dwOldStyle,
DWORD  dwNewStyle 
)
override

◆ OnCalcDynamicLayout()

virtual CSize CRhinoUiDockBar::OnCalcDynamicLayout ( CSize  size,
int  nLength,
DWORD  nMode 
)
virtual

Description: Called by CRhinoUiDockBar::CalcDynamicLayout just prior to committing size. Override if you want the size to snap at specific increments. Parameters: size [in] New calculated size. nLength [in] See CRhinoUiDockBar::CalcDynamicLayout[nLength] nMode [in] See CRhinoUiDockBar::CalcDynamicLayout[nMode] Returns; Return size to commit.

◆ OnCalcFixedLayout()

virtual CSize CRhinoUiDockBar::OnCalcFixedLayout ( CSize  size,
BOOL32  bStretch,
BOOL32  bHorz 
)
virtual

Description: Called by CRhinoUiDockBar::CalcFixedLayout just prior to committing size. Override if you want the size to snap at specific increments. Parameters: size [in] New calculated size. bStretch [in] See CRhinoUiDockBar::CalcFixedLayout[bStretch] bHorz [in] See CRhinoUiDockBar::CalcFixedLayout[bHorz] Returns; Return size to commit.

◆ OnCaptureChanged()

afx_msg void CRhinoUiDockBar::OnCaptureChanged ( CWnd *  pWnd)
protected

◆ OnCreate()

afx_msg int CRhinoUiDockBar::OnCreate ( LPCREATESTRUCT  lpCreateStruct)
protected

◆ OnDestroy()

afx_msg void CRhinoUiDockBar::OnDestroy ( )
protected

◆ OnDockBarPositionChanged()

virtual void CRhinoUiDockBar::OnDockBarPositionChanged ( DWORD  newLocation)
virtual

Description: Called when a dock bars docked location has changed. Parameters: newLocation [in] New dock location, can be one of the following: AFX_IDW_DOCKBAR_TOP AFX_IDW_DOCKBAR_BOTTOM AFX_IDW_DOCKBAR_LEFT AFX_IDW_DOCKBAR_RIGHT AFX_IDW_DOCKBAR_FLOAT

◆ OnDockContextStartDrag()

virtual bool CRhinoUiDockBar::OnDockContextStartDrag ( bool  dragActionStarting)
virtual

Description: Called when beginning to drag a control bar Parameters: dragActionStarting [in] true then drag action is starting; otherwise drag action is finishing. Returns: If dragActionStarting is true return true to allow drag action or false to stop. If dragActionStarting is false then the return value is ignored.

◆ OnEraseBkgnd()

afx_msg BOOL32 CRhinoUiDockBar::OnEraseBkgnd ( CDC *  pDC)
protected

◆ OnLButtonDown()

afx_msg void CRhinoUiDockBar::OnLButtonDown ( UINT  nFlags,
CPoint  point 
)
overrideprotected

◆ OnLButtonUp()

afx_msg void CRhinoUiDockBar::OnLButtonUp ( UINT  nFlags,
CPoint  point 
)
overrideprotected

◆ OnMouseMove()

afx_msg void CRhinoUiDockBar::OnMouseMove ( UINT  nFlags,
CPoint  point 
)
overrideprotected

◆ OnNcCalcSize()

afx_msg void CRhinoUiDockBar::OnNcCalcSize ( BOOL32  bCalcValidRects,
NCCALCSIZE_PARAMS *  lpncsp 
)
protected

◆ OnNcHitTest()

afx_msg LRESULT CRhinoUiDockBar::OnNcHitTest ( CPoint  point)
protected

◆ OnNcLButtonDblClk()

afx_msg void CRhinoUiDockBar::OnNcLButtonDblClk ( UINT  nHitTest,
CPoint  point 
)
protected

◆ OnNcLButtonDown()

afx_msg void CRhinoUiDockBar::OnNcLButtonDown ( UINT  nHitTest,
CPoint  point 
)
protected

◆ OnNcLButtonUp()

afx_msg void CRhinoUiDockBar::OnNcLButtonUp ( UINT  nHitTest,
CPoint  point 
)
protected

◆ OnNcMouseMove()

afx_msg void CRhinoUiDockBar::OnNcMouseMove ( UINT  nHitTest,
CPoint  point 
)
protected

◆ OnNcPaint()

afx_msg void CRhinoUiDockBar::OnNcPaint ( )
protected

◆ OnNcPaintFloat()

bool CRhinoUiDockBar::OnNcPaintFloat ( HWND  hwnd,
WPARAM  wParam,
LPARAM  lParam 
)
protected

◆ OnPaint()

afx_msg void CRhinoUiDockBar::OnPaint ( )
protected

◆ OnRButtonDown()

afx_msg void CRhinoUiDockBar::OnRButtonDown ( UINT  nFlags,
CPoint  point 
)
overrideprotected

◆ OnRButtonUp()

afx_msg void CRhinoUiDockBar::OnRButtonUp ( UINT  nFlags,
CPoint  point 
)
overrideprotected

◆ OnSetCursor()

afx_msg BOOL32 CRhinoUiDockBar::OnSetCursor ( CWnd *  pWnd,
UINT  nHitTest,
UINT  message 
)
protected

◆ OnShowDockBar() [1/2]

virtual void CRhinoUiDockBar::OnShowDockBar ( bool  show)
virtual

Description: Called when a dock bar has been shown or hidden. Parameters: show [in] If dock bar is to be shown this will be true otherwise it will be false.

Deprecated:
Replaced by CRhinoUiDockBar::OnShowDockBar(ShowEventArgs)

◆ OnShowDockBar() [2/2]

virtual void CRhinoUiDockBar::OnShowDockBar ( IDockBarEventWatcher::ShowEventArgs  args)
virtual

Description: Called when a dock bar has been shown or hidden. Parameters: show [in] If dock bar is to be shown this will be true otherwise it will be false.

◆ OnSize()

afx_msg void CRhinoUiDockBar::OnSize ( UINT  nType,
int  cx,
int  cy 
)
protected

◆ OnStartTracking()

virtual void CRhinoUiDockBar::OnStartTracking ( bool  bDoneTracking)
virtual

Description: Called just prior to and just after dock bar is stretched while docked. Parameters: bDoneTracking [in] If true then it stretching is complete; otherwise just just getting started.

◆ OnTimer()

afx_msg void CRhinoUiDockBar::OnTimer ( UINT_PTR  nIDEvent)
overrideprotected

◆ OnToggleDocking()

virtual void CRhinoUiDockBar::OnToggleDocking ( bool  priorToStateChange)
virtual

Description: Called just prior to and just after tool bars docking state is being toggled. Parameters: priorToStateChange [in] If true then it is being called prior to state changing; otherwise state has changed.

◆ OnTrackInvertTracker()

void CRhinoUiDockBar::OnTrackInvertTracker ( )
protected

◆ OnTrackUpdateSize()

void CRhinoUiDockBar::OnTrackUpdateSize ( CPoint &  point)
protected

◆ OnUpdateCmdUI()

void CRhinoUiDockBar::OnUpdateCmdUI ( CFrameWnd *  pTarget,
BOOL32  bDisableIfNoHndler 
)
override

CControlBar overrides.

◆ OnWindowPosChanged()

afx_msg void CRhinoUiDockBar::OnWindowPosChanged ( WINDOWPOS *  lpwndpos)
protected

◆ OnWindowPosChanging()

afx_msg void CRhinoUiDockBar::OnWindowPosChanging ( WINDOWPOS *  lpwndpos)
protected

◆ operator=()

const CRhinoUiDockBar& CRhinoUiDockBar::operator= ( const CRhinoUiDockBar )
protected

◆ PaintCaptionButtons()

void CRhinoUiDockBar::PaintCaptionButtons ( HWND  hWnd)
protected

◆ PlugInID()

ON_UUID CRhinoUiDockBar::PlugInID ( ) const

Description: If this dock bar was created by a plug-in this will return the plug-ins UUID otherwise it returns the Rhino UUID Returns: If this dock bar was created by a plug-in this will return the plug-ins UUID otherwise it returns the Rhino UUID

◆ PostNcDestroy()

void CRhinoUiDockBar::PostNcDestroy ( )
override

◆ PreCreateWindow()

BOOL32 CRhinoUiDockBar::PreCreateWindow ( CREATESTRUCT &  cs)
override

◆ PreTranslateMessage()

BOOL32 CRhinoUiDockBar::PreTranslateMessage ( MSG *  pMsg)
override

◆ RecalcDelayShow()

DWORD CRhinoUiDockBar::RecalcDelayShow ( AFX_SIZEPARENTPARAMS *  lpLayout)
override

◆ RedrawButton()

void CRhinoUiDockBar::RedrawButton ( const CRhinoUiDockBarCaptionButton btn)
protected

◆ ReleaseDockBarMouseCapture()

void CRhinoUiDockBar::ReleaseDockBarMouseCapture ( )
protected

◆ RhinoGetBarInfo()

virtual void CRhinoUiDockBar::RhinoGetBarInfo ( CControlBarInfo &  cbi)
virtual

Description: Call this method to get position and state information about the dock bar.

◆ SaveState()

virtual void CRhinoUiDockBar::SaveState ( LPCTSTR  lpszProfileName = NULL)
virtual

Description: Called when dock bar position is being saved. Parameters: lpszProfileName [in] Profile section being written

◆ SetDelayFloatInfo()

void CRhinoUiDockBar::SetDelayFloatInfo ( class CRhControlBarInfo )
protected

◆ SetDockBarClientWnd()

void CRhinoUiDockBar::SetDockBarClientWnd ( CWnd *  pWnd)

◆ SetDockBarFlag()

bool CRhinoUiDockBar::SetDockBarFlag ( control_bar_flags  flag,
bool  b 
)

Description: Set dock bar style flag. Parameters: flag [in] Flag to set b [in] New value for flag Returns: Previous flag value

◆ SetDockBarMouseCapture()

bool CRhinoUiDockBar::SetDockBarMouseCapture ( )
protected

◆ SetInitialSizeDockedHorz()

void CRhinoUiDockBar::SetInitialSizeDockedHorz ( CSize  size)

Description: Set initial dock bar size when docked on top or bottom of Rhino main frame window. Should be called prior to calling CRhinoUiDockBar::CreateRhinoDockBar(). Parameters: size [in] Initial size.

◆ SetInitialSizeDockedVert()

void CRhinoUiDockBar::SetInitialSizeDockedVert ( CSize  size)

Description: Set initial dock bar size when docked on right or left side of Rhino main frame window. Should be called prior to calling CRhinoUiDockBar::CreateRhinoDockBar(). Parameters: size [in] Initial size.

◆ SetInitialSizeFloating()

void CRhinoUiDockBar::SetInitialSizeFloating ( CSize  size)

Description: Set initial dock bar size when floating. Should be called prior to calling CRhinoUiDockBar::CreateRhinoDockBar(). Parameters: size [in] Initial size.

◆ SetStatusText()

BOOL32 CRhinoUiDockBar::SetStatusText ( INT_PTR  nHit)
override

◆ ShowCloseButton()

bool CRhinoUiDockBar::ShowCloseButton ( bool  show)

◆ ShowGearButton()

bool CRhinoUiDockBar::ShowGearButton ( bool  show)

◆ SortIndex()

int CRhinoUiDockBar::SortIndex ( ) const

Description: The dock bar manager is a collection of CRhinoUiDockBars. The dock bar manager includes methods for sorting and culling this list for display in Rhino GUI. This index is a runtime index used to get this sorted list. Returns: If less than 0 then this dock bar is not visible in the Rhino GUI ortherwise it identifies the display index of the dock bar in the GUI.

◆ StartTracking()

void CRhinoUiDockBar::StartTracking ( UINT  nHitTest)
protected

◆ StopTracking()

void CRhinoUiDockBar::StopTracking ( )
protected

◆ ToggleDocking()

void CRhinoUiDockBar::ToggleDocking ( )

Description: Toggle dock bars docked state. If docked then float otherwise if floating then return to most recent docked position.

◆ TrackButtons()

void CRhinoUiDockBar::TrackButtons ( CPoint  ptScreen)
protected

◆ TrackingLocation()

tracking CRhinoUiDockBar::TrackingLocation ( ) const
protected

Description: Current tracking mode when sizing a docked dock bar.

◆ WindowProc()

LRESULT CRhinoUiDockBar::WindowProc ( UINT  nMsg,
WPARAM  wParam,
LPARAM  lParam 
)
override

Friends And Related Function Documentation

◆ CRhControlBarInfo

friend class CRhControlBarInfo
friend

◆ CRhDockState

friend class CRhDockState
friend

◆ CRhinoUiDockBarManager

friend class CRhinoUiDockBarManager
friend

◆ CRhinoUiPageDockBar

friend class CRhinoUiPageDockBar
friend

◆ CRhinoUiPageDockBarManager

friend class CRhinoUiPageDockBarManager
friend

◆ CRhUiDockBar

friend class CRhUiDockBar
friend

◆ CRhUiDockBarManagerWnd

friend class CRhUiDockBarManagerWnd
friend

◆ CRhUiDockContext

friend class CRhUiDockContext
friend

◆ RhDockBarFloatingFrameWndProc

LRESULT CALLBACK RhDockBarFloatingFrameWndProc ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)
friend

◆ RhDockBarFloatingFrameWndProcB

LRESULT CALLBACK RhDockBarFloatingFrameWndProcB ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)
friend

◆ RhUiDockStatePlugInLoaded

void RhUiDockStatePlugInLoaded ( UUID  plug_in_id)
friend

Member Data Documentation

◆ m__control_bar_sdk_extension

class CRhDockBarExtension* CRhinoUiDockBar::m__control_bar_sdk_extension = nullptr

◆ m_bActiveApp

bool CRhinoUiDockBar::m_bActiveApp
protected

◆ m_bActiveFloating

bool CRhinoUiDockBar::m_bActiveFloating
protected

◆ m_bAutoDeleteRhinoDockBar

bool CRhinoUiDockBar::m_bAutoDeleteRhinoDockBar
protected

◆ m_bDockBarMouseCaptured

bool CRhinoUiDockBar::m_bDockBarMouseCaptured
protected

◆ m_bogus_rhino_control_bar_name

ON_wString CRhinoUiDockBar::m_bogus_rhino_control_bar_name
staticprotected

◆ m_bogus_rhino_control_bar_uuid

UUID CRhinoUiDockBar::m_bogus_rhino_control_bar_uuid
staticprotected

◆ m_border_size

int CRhinoUiDockBar::m_border_size
protected

◆ m_bReplaceDockContext

bool CRhinoUiDockBar::m_bReplaceDockContext
protected

◆ m_client_window

CWnd* CRhinoUiDockBar::m_client_window
protected

◆ m_cx_edge

int CRhinoUiDockBar::m_cx_edge
protected

◆ m_dock_location

int CRhinoUiDockBar::m_dock_location
protected

◆ m_is_maximized

bool CRhinoUiDockBar::m_is_maximized
protected

◆ m_is_parent_sizing

bool CRhinoUiDockBar::m_is_parent_sizing
protected

◆ m_is_single_in_row

bool CRhinoUiDockBar::m_is_single_in_row
protected

◆ m_keep_size

bool CRhinoUiDockBar::m_keep_size
protected

◆ m_max_tracking_size

CSize CRhinoUiDockBar::m_max_tracking_size
protected

◆ m_min_tracking_size

CSize CRhinoUiDockBar::m_min_tracking_size
protected

◆ m_over_button

int CRhinoUiDockBar::m_over_button
protected

◆ m_plug_in_id

UUID CRhinoUiDockBar::m_plug_in_id
protected

◆ m_pOldFloatFrameWndProc

WNDPROC CRhinoUiDockBar::m_pOldFloatFrameWndProc
protected

◆ m_pushed_button

int CRhinoUiDockBar::m_pushed_button
protected

◆ m_redraw_rect

CRect CRhinoUiDockBar::m_redraw_rect
protected

◆ m_rhino_cb_style

DWORD CRhinoUiDockBar::m_rhino_cb_style
protected

◆ m_rhino_flags

BYTE CRhinoUiDockBar::m_rhino_flags[cbf_invalid]
protected

◆ m_save_point

CPoint CRhinoUiDockBar::m_save_point
protected

◆ m_save_size

CSize CRhinoUiDockBar::m_save_size
protected

◆ m_sort_index

int CRhinoUiDockBar::m_sort_index
protected

◆ m_szFloat

CSize CRhinoUiDockBar::m_szFloat
protected

◆ m_szHorz

CSize CRhinoUiDockBar::m_szHorz
protected

◆ m_szMaxFloat

CSize CRhinoUiDockBar::m_szMaxFloat
protected

◆ m_szMaxHorz

CSize CRhinoUiDockBar::m_szMaxHorz
protected

◆ m_szMaxVert

CSize CRhinoUiDockBar::m_szMaxVert
protected

◆ m_szMinFloat

CSize CRhinoUiDockBar::m_szMinFloat
protected

◆ m_szMinHorz

CSize CRhinoUiDockBar::m_szMinHorz
protected

◆ m_szMinVert

CSize CRhinoUiDockBar::m_szMinVert
protected

◆ m_szVert

CSize CRhinoUiDockBar::m_szVert
protected

◆ m_track_max_size

CSize CRhinoUiDockBar::m_track_max_size
protected

◆ m_track_min_size

CSize CRhinoUiDockBar::m_track_min_size
protected

◆ m_tracking

int CRhinoUiDockBar::m_tracking
protected