Rhino C++ API  8.6
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
CRhinoUiDockBarManager Class Reference

#include <RhinoSdkUiDockBarManager.h>

Inheritance diagram for CRhinoUiDockBarManager:
ON_SimpleArray< CRhinoUiDockBar * > CRhinoAppUiDockBarManager

Classes

class  CSortDockBarsByName
 

Public Member Functions

 CRhinoUiDockBarManager (void)
 
 ~CRhinoUiDockBarManager (void)
 
void CallOnActivateApp (BOOL32 bActive, DWORD dwThreadID)
 
bool CReateDefaultDockBars ()
 
CRhinoUiDockBarCreateDockBarObject (CRuntimeClass *pRC, UUID plug_in_id) const
 
bool CreateRhinoDockBar (CRhinoUiDockBar *pCB, UUID plug_in_id, bool show_control_bar=true, DWORD default_dock_location=AFX_IDW_DOCKBAR_FLOAT, DWORD dock_style=CBRS_ALIGN_ANY, LPPOINT float_point=NULL, DWORD styles=CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_LEFT)
 
CRhinoUiDockBarCreateRhinoDockBar (CRuntimeClass *pRC, UUID plug_in_id, bool show_control_bar=true, DWORD default_dock_location=AFX_IDW_DOCKBAR_FLOAT, DWORD dock_style=CBRS_ALIGN_ANY, LPPOINT float_point=NULL, DWORD styles=CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_LEFT)
 
void DestroyDockBarCollection (void) const
 
void DisableHideOnDeactivate (bool b)
 
CRhinoUiDockBarDockBar (int index) const
 
int DockBarCount () const
 
void DockDockBar (const CRhinoUiDockBar *dock_bar, UINT dock_location=0, LPCRECT lpRect=NULL)
 
void DockDockBar (int index, UINT dock_location=0, LPCRECT lpRect=NULL)
 
void DockDockBar (UUID uuid, UINT dock_location=0, LPCRECT lpRect=NULL)
 
bool DockingLocationLocked () const
 
CRhinoUiDockBarFindDockBar (const wchar_t *control_bar_name, int language_id=1033)
 
CRhinoUiDockBarFindDockBar (UUID uuid) const
 
void FloatDockBar (const CRhinoUiDockBar *dock_bar, CPoint point)
 
void FloatDockBar (int index, CPoint point)
 
void FloatDockBar (UUID uuid, CPoint point)
 
unsigned int GetNextDockBarID ()
 
void GetSortedList (ON_SimpleArray< CRhinoUiDockBar * > &sorted_list, bool ignore_not_created=false) const
 
bool HideOnDeactivateEnabled () const
 
int IndexFromPointer (CRhinoUiDockBar *pCB) const
 
bool InitialMainFrameWindowPos (WINDOWPLACEMENT &wp) const
 
bool IsDockBarVisible (CRhinoUiDockBar *dock_bar) const
 
bool IsDockBarVisible (int index) const
 
bool IsDockBarVisible (UUID uuid) const
 
void LoadToolBarsAndRestoreDockBarPositionAndStates ()
 
bool LockDockingLocation (bool b)
 
void MainFrameOnSize (UINT nType)
 
bool OnCWinAppSaveAllModified (bool bSaveCollections=true)
 
void OnExitInstance ()
 
CRhinoUiDockBaroperator[] (int index) const
 
bool RestoreMainFrameWindowPos ()
 
CFrameWnd * RhinoMainFrame () const
 
bool ShowDockBar (const CRhinoUiDockBar *dock_bar, bool show_dock_bar, bool delay_recalc_layout) const
 
bool ShowDockBar (int index, bool show_control_bar, bool delay_recalc_layout) const
 
bool ShowDockBar (UUID uuid, bool show_control_bar, bool delay_recalc_layout) const
 
void Sort (int(*compar)(CRhinoUiDockBar *const *, CRhinoUiDockBar *const *, void *), int(*cull)(const CRhinoUiDockBar *, void *), void *p=0)
 
RhinoTabbedDockBar::CCollection * TabbedDockBarCollection (void) const
 
bool UnhookDeleteAndDestroyDockBar (CRhinoUiDockBar *dock_bar)
 
bool UnhookDeleteAndDestroyDockBar (int dock_bar_index)
 
bool UnhookDeleteAndDestroyDockBar (UUID dock_bar_id)
 

Static Public Member Functions

static int CullNotCreatedDockBars (const CRhinoUiDockBar *, void *)
 
static int SortDockBarsByName (CRhinoUiDockBar *const *, CRhinoUiDockBar *const *, void *)
 

Public Attributes

class CRhDockBarManagerExtension * m__control_bar_manager_sdk_extension
 Reserved for future use. More...
 

Friends

class CRhinoUiDockBar
 
bool CRhinoUiDockBar::CreateRhinoDockBar (UUID, bool, DWORD, DWORD, LPPOINT, DWORD)
 
void CRhinoUiDockBar::OnDestroy ()
 
void CRhinoUiDockBar::PostNcDestroy ()
 
class CRhinoUiManager
 
class CRhinoUiToolBar
 friend bool CRhinoUiToolBar::DestroyCascadeToolBar(); More...
 
class CRhinoUiToolBarCollection
 
class CRhinoUiToolBarManager
 
class CRhUiDockBarManagerWnd
 
bool RhMainFrameOnCreate (CFrameWnd *)
 

Constructor & Destructor Documentation

◆ CRhinoUiDockBarManager()

CRhinoUiDockBarManager::CRhinoUiDockBarManager ( void  )

◆ ~CRhinoUiDockBarManager()

CRhinoUiDockBarManager::~CRhinoUiDockBarManager ( void  )

Member Function Documentation

◆ CallOnActivateApp()

void CRhinoUiDockBarManager::CallOnActivateApp ( BOOL32  bActive,
DWORD  dwThreadID 
)

Description: FOR INTERNAL USE ONLY!!! Call this method when the applications main frame window gets WM_SIZE notification.

◆ CReateDefaultDockBars()

bool CRhinoUiDockBarManager::CReateDefaultDockBars ( )

Description: Called one time during initialization when it is time to create default dock and tool bars.

Returns: Returns true if dock/tool bars were created successfully otherwise; false

◆ CreateDockBarObject()

CRhinoUiDockBar* CRhinoUiDockBarManager::CreateDockBarObject ( CRuntimeClass *  pRC,
UUID  plug_in_id 
) const

Description: Create pointer to derived CRhinoUiDockBar class assuring that it belongs to the correct module state so it can safely interact with the Rhino main frame window. Your derived class definition must include the DECLARE_SERIAL macro and the implementation file must include DECLARE_SERIAL.

For example: MyDockBar.h file class CMyDockBar : public CRhinoUiDockBar { DECLARE_SERIAL( CMyDockBar) public: CMyDockBar(void); ~CMyDockBar(void); UUID DockBarID() const; const wchar_t* DockBarName( int language_id); bool CreateDockBarControls(); };

MyDockBar.cpp file IMPLEMENT_DYNCREATE( CMyDockBar, CRhinoUiDockBar);

CMyDockBar::CMyDockBar(void) { }

CMyDockBar::~CMyDockBar(void) { }

UUID CMyDockBar::DockBarID() const { ///<TODO: This UUID must be unique. If you copy this code you MUST change the UUID UUID uuid = { 0xf719d329, 0xbb9e, 0x4afd, { 0x84, 0x11, 0x7c, 0x95, 0x1, 0xfb, 0x2a, 0x7f } }; return uuid; }

const wchar_t* CMyDockBar::DockBarName( int language_id) { return L"My Custom Dock Bar"; }

bool CMyDockBar::CreateDockBarControls() { ///< create child windows here return true; }

Parameters: pRC [in] Pointer to a CRuntimeClass object which describes the class to be created.

Returns: Pointer to dock bar if successfully allocated.

Note: Do NOT call delete on pointer returned by this method. The dock bar manager will take care of that when appropriate.

See Also: CRhinoUiDockBar::CreateRhinoDockBar() CRhinoUiDockBar::CreateDockBarControls(); CRuntimeClass DECLARE_SERIAL IMPLEMENT_DYNCREATE

◆ CreateRhinoDockBar() [1/2]

bool CRhinoUiDockBarManager::CreateRhinoDockBar ( CRhinoUiDockBar pCB,
UUID  plug_in_id,
bool  show_control_bar = true,
DWORD  default_dock_location = AFX_IDW_DOCKBAR_FLOAT,
DWORD  dock_style = CBRS_ALIGN_ANY,
LPPOINT  float_point = NULL,
DWORD  styles = CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_LEFT 
)

Description: Call to create and display dock bar in default location.

Parameters: show_control_bar [in] Display dock bar if created successfully. default_dock_location [in] Default display location of dock bar. Valid values are: AFX_IDW_DOCKBAR_FLOAT - float the dock bar AFX_IDW_DOCKBAR_TOP - dock the dock bar at the top of the Rhino main frame AFX_IDW_DOCKBAR_BOTTOM - dock the dock bar at the bottom of the Rhino main frame AFX_IDW_DOCKBAR_LEFT - dock the dock bar at the left side of the Rhino main frame AFX_IDW_DOCKBAR_RIGHT - dock the dock bar at the right side of the Rhino main frame dock_style [in] - Areas this dock bar is allowed to be docked. float_point [in] - Only used if default_dock_location==AFX_IDW_DOCKBAR_FLOAT. If floating dock bar then this is the top left cornner of the dock bar. If this is NULL then dock bar is cascaded. styles [in] Dock bar styles used when creating this dock bar.

See Also: CControlBar::EnableDocking CControlBar::FloatControlBar

◆ CreateRhinoDockBar() [2/2]

CRhinoUiDockBar* CRhinoUiDockBarManager::CreateRhinoDockBar ( CRuntimeClass *  pRC,
UUID  plug_in_id,
bool  show_control_bar = true,
DWORD  default_dock_location = AFX_IDW_DOCKBAR_FLOAT,
DWORD  dock_style = CBRS_ALIGN_ANY,
LPPOINT  float_point = NULL,
DWORD  styles = CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_LEFT 
)

Description: Call to create and display dock bar in default location.

Parameters: show_control_bar [in] Display dock bar if created successfully. default_dock_location [in] Default display location of dock bar. Valid values are: AFX_IDW_DOCKBAR_FLOAT - float the dock bar AFX_IDW_DOCKBAR_TOP - dock the dock bar at the top of the Rhino main frame AFX_IDW_DOCKBAR_BOTTOM - dock the dock bar at the bottom of the Rhino main frame AFX_IDW_DOCKBAR_LEFT - dock the dock bar at the left side of the Rhino main frame AFX_IDW_DOCKBAR_RIGHT - dock the dock bar at the right side of the Rhino main frame dock_style [in] - Areas this dock bar is allowed to be docked. float_point [in] - Only used if default_dock_location==AFX_IDW_DOCKBAR_FLOAT. If floating dock bar then this is the top left cornner of the dock bar. If this is NULL then dock bar is cascaded. styles [in] Dock bar styles used when creating this dock bar.

See Also: CControlBar::EnableDocking CControlBar::FloatControlBar

◆ CullNotCreatedDockBars()

static int CRhinoUiDockBarManager::CullNotCreatedDockBars ( const CRhinoUiDockBar ,
void *   
)
static

◆ DestroyDockBarCollection()

void CRhinoUiDockBarManager::DestroyDockBarCollection ( void  ) const

◆ DisableHideOnDeactivate()

void CRhinoUiDockBarManager::DisableHideOnDeactivate ( bool  b)

Description: The CRhinoUiDockBarManager calls this method to determine if it should hide floating, visible CRhinoUiDockBars and floating Rhino views when the application is deactivated. This should only be called by CWinApp::SaveAllModified() prior to hiding the application and saving values when shutting down.

Parameters: b [in] If true then dock bars and views will not be hidden otherwise they will.

◆ DockBar()

CRhinoUiDockBar* CRhinoUiDockBarManager::DockBar ( int  index) const

Description: The dock bar manager is a collection of CRhinoUiDockBars. This function may be used to iterate the dock bar collection.

Parameters: index [in] Zero based index for dock bar to return.

Returns: Pointer to dock bar if index is valid otherwise NULL.

See Also: int CRhinoUiDockBarManager::DockBarCount() const CRhinoUiDockBar* CRhinoUiDockBarManager::operator[]( int index)

◆ DockBarCount()

int CRhinoUiDockBarManager::DockBarCount ( ) const

Description: Get number of dock bars associated with Rhino.

Returns: Number of dock bars associated with Rhino.

See Also: CRhinoUiDockBar* CRhinoUiDockBarManager::DockBar( int index) CRhinoUiDockBar* CRhinoUiDockBarManager::operator[]( int index)

◆ DockDockBar() [1/3]

void CRhinoUiDockBarManager::DockDockBar ( const CRhinoUiDockBar dock_bar,
UINT  dock_location = 0,
LPCRECT  lpRect = NULL 
)

Description: Call this method to cause a dock bar to be docked to the main frame window. DO NOT call RhinoUiMainFrame().DockControlBar(), use this method instead.

Parameters: dock_bar [in] Dock bar to show or hide. dock_location [in] Determines which sides of the frame window to consider for docking. It can be 0, or one or more of the following: AFX_IDW_DOCKBAR_TOP Dock to the top side of the frame window. AFX_IDW_DOCKBAR_BOTTOM Dock to the bottom side of the frame window. AFX_IDW_DOCKBAR_LEFT Dock to the left side of the frame window. AFX_IDW_DOCKBAR_RIGHT Dock to the right side of the frame window. If 0, the dock bar can be docked to any side enabled for docking in the destination frame window. lpRect [in] Determines, in screen coordinates, where the dock bar will be docked in the nonclient area of the destination frame window.

See Also: CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::DockControlBar()

◆ DockDockBar() [2/3]

void CRhinoUiDockBarManager::DockDockBar ( int  index,
UINT  dock_location = 0,
LPCRECT  lpRect = NULL 
)

Description: Call this method to cause a dock bar to be docked to the main frame window. DO NOT call RhinoUiMainFrame().DockControlBar(), use this method instead.

Parameters: uuid [in] ID for dock bar to dock. dock_location [in] Determines which sides of the frame window to consider for docking. It can be 0, or one or more of the following: AFX_IDW_DOCKBAR_TOP Dock to the top side of the frame window. AFX_IDW_DOCKBAR_BOTTOM Dock to the bottom side of the frame window. AFX_IDW_DOCKBAR_LEFT Dock to the left side of the frame window. AFX_IDW_DOCKBAR_RIGHT Dock to the right side of the frame window. If 0, the dock bar can be docked to any side enabled for docking in the destination frame window. lpRect [in] Determines, in screen coordinates, where the dock bar will be docked in the nonclient area of the destination frame window.

See Also: CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::DockControlBar()

◆ DockDockBar() [3/3]

void CRhinoUiDockBarManager::DockDockBar ( UUID  uuid,
UINT  dock_location = 0,
LPCRECT  lpRect = NULL 
)

Description: Call this method to cause a dock bar to be docked to the main frame window. DO NOT call RhinoUiMainFrame().DockControlBar(), use this method instead.

Parameters: uuid [in] ID for dock bar to dock. dock_location [in] Determines which sides of the frame window to consider for docking. It can be 0, or one or more of the following: AFX_IDW_DOCKBAR_TOP Dock to the top side of the frame window. AFX_IDW_DOCKBAR_BOTTOM Dock to the bottom side of the frame window. AFX_IDW_DOCKBAR_LEFT Dock to the left side of the frame window. AFX_IDW_DOCKBAR_RIGHT Dock to the right side of the frame window. If 0, the dock bar can be docked to any side enabled for docking in the destination frame window. lpRect [in] Determines, in screen coordinates, where the dock bar will be docked in the nonclient area of the destination frame window.

See Also: /// CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::DockControlBar()

◆ DockingLocationLocked()

bool CRhinoUiDockBarManager::DockingLocationLocked ( ) const

Description: Docking location locked means any dock bar that is currently docked can not be moved and any floating dock bar may be moved around but not docked. This does not preclude a dock bars visibility state from changing.

Returns: Returns true if dock bars current docked/floating state is locked otherwise false

See Also: CRhinoUiDockBar::LockDockingLocation

◆ FindDockBar() [1/2]

CRhinoUiDockBar* CRhinoUiDockBarManager::FindDockBar ( const wchar_t *  control_bar_name,
int  language_id = 1033 
)

Description: The dock bar manager is a collection of CRhinoUiDockBars. Each dock bar must have a name. There is no requirement for names to be unique. This function may be used to find a dock bar with the specified name. To get a specific dock bar you should use FindDockBar( UUID uuid).

Parameters: control_bar_name [in] Name of dock bar to search for language_id [in] Localized language version control_bar_name is using

Returns: Pointer to first dock bar with control_bar name or NULL if name is not found.

◆ FindDockBar() [2/2]

CRhinoUiDockBar* CRhinoUiDockBarManager::FindDockBar ( UUID  uuid) const

Description: The dock bar manager is a collection of CRhinoUiDockBars. Each dock bar has a unique UUID. This function may be used to see if a dock bar with the specified UUID is currently in the collection.

Parameters: uuid [in] UUID of dock bar to search for

Returns: Pointer to dock bar if UUID is found otherwise NULL.

◆ FloatDockBar() [1/3]

void CRhinoUiDockBarManager::FloatDockBar ( const CRhinoUiDockBar dock_bar,
CPoint  point 
)

Description: Call this method to cause a dock bar to not be docked to the frame window. DO NOT call RhinoUiMainFrame().FloatDockBar(), use this method instead.

Parameters: dock_bar [in] Dock bar to show or hide. point [in] The location, in screen coordinates, where the top left corner of the dock bar will be placed.

See Also: CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::FloatControlBar()

◆ FloatDockBar() [2/3]

void CRhinoUiDockBarManager::FloatDockBar ( int  index,
CPoint  point 
)

Description: Call this method to cause a dock bar to not be docked to the frame window. DO NOT call RhinoUiMainFrame().FloatDockBar(), use this method instead.

Parameters: index [in] Index of dock bar to float. point [in] The location, in screen coordinates, where the top left corner of the dock bar will be placed.

See Also: CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::FloatControlBar() MSDN help for CFrameWnd::FloatControlBar

◆ FloatDockBar() [3/3]

void CRhinoUiDockBarManager::FloatDockBar ( UUID  uuid,
CPoint  point 
)

Description: Call this method to cause a dock bar to not be docked to the frame window. DO NOT call RhinoUiMainFrame().FloatDockBar(), use this method instead.

Parameters: uuid [in] ID for dock bar to float. point [in] The location, in screen coordinates, where the top left corner of the dock bar will be placed.

See Also: CRhinoUiDockBarManager::FindDockBar() MSDN help for CFrameWnd::FloatControlBar() MSDN help for CFrameWnd::FloatControlBar

◆ GetNextDockBarID()

unsigned int CRhinoUiDockBarManager::GetNextDockBarID ( )

Description: Get the next available dock bar ID. Is used by CRhinoUiDockBar::CreateRhinoDockBar to get next available dock bar ID.

Returns: ID to be used when creating a dock bar.

Remarks: Call this cautiously, it inceremtns the ID counter each time it is called.

◆ GetSortedList()

void CRhinoUiDockBarManager::GetSortedList ( ON_SimpleArray< CRhinoUiDockBar * > &  sorted_list,
bool  ignore_not_created = false 
) const

Description: Gets an array of pointers to dock bars that is sorted by the values of CRhinoUiDockBar::SortIndex().

Parameters: sorted_list - [out] this array is returned sorted by the values of CRhinoUiDockBar::SortIndex(). This list may be a different length than the dock bar list if ignore_not_created is true and/or a cull function was used by Sort(). ignore_not_created - [in] TRUE means don't include dock bars that have not been created.

Remarks: Use CRhinoUiDockBar::Sort() to set the values of m_sort_index.

See Also: CRhinoUiDockBarManager::Sort(); CRhinoUiDockBar::SortIndex();

◆ HideOnDeactivateEnabled()

bool CRhinoUiDockBarManager::HideOnDeactivateEnabled ( ) const

Description: The CRhinoUiDockBarManager calls this method to determine if it should hide floating, visible CRhinoUiDockBars and floating Rhino views when the application is deactivated.

Returns: Return true if it bars and views should be temporarily hidden.

◆ IndexFromPointer()

int CRhinoUiDockBarManager::IndexFromPointer ( CRhinoUiDockBar pCB) const

Description: Get index for specified CRhinoUiDockBar object

Parameters: pCB [in] Dock bar to search for

Returns: -1 If dock bar not in list otherwise zero based index for dock bar.

◆ InitialMainFrameWindowPos()

bool CRhinoUiDockBarManager::InitialMainFrameWindowPos ( WINDOWPLACEMENT &  wp) const

Description: Reads saved information about how to attempt to show the main frame when it is first created by using saved position information based on the current scheme Returns: false if the information could not successfully be retrieved

◆ IsDockBarVisible() [1/3]

bool CRhinoUiDockBarManager::IsDockBarVisible ( CRhinoUiDockBar dock_bar) const

Description: Call this method to determine if a dock bar is currently visible.

Parameters: dock_bar [in] Dock bar to check visibility state.

Returns: Returns true if dock bar is currently visible or false if it is not.

◆ IsDockBarVisible() [2/3]

bool CRhinoUiDockBarManager::IsDockBarVisible ( int  index) const

Description: Call this method to determine if a dock bar is currently visible.

Parameters: index [in] Index of dock bar to check visibility state.

Returns: Returns true if dock bar is currently visible or false if it is not.

◆ IsDockBarVisible() [3/3]

bool CRhinoUiDockBarManager::IsDockBarVisible ( UUID  uuid) const

Description: Call this method to determine if a dock bar is currently visible.

Parameters: uuid [in] ID for dock bar to check visibility state.

Returns: Returns true if dock bar is currently visible or false if it is not.

◆ LoadToolBarsAndRestoreDockBarPositionAndStates()

void CRhinoUiDockBarManager::LoadToolBarsAndRestoreDockBarPositionAndStates ( )

Description: /// This should only be called one time from CMyWinApp::InitInstance() right after loading the main frame. It will load the MRU tool bar collection list and restore dock and tool bar position and state.

◆ LockDockingLocation()

bool CRhinoUiDockBarManager::LockDockingLocation ( bool  b)

Description: Docking location locked means any dock bar that is currently docked can not be moved and any floating dock bar may be moved around but not docked. This does not preclude a dock bars visibility state from changing.

Parameters: b [in] New value for locked state.

Returns: Returns previous locked state.

See Also: CRhinoUiDockBar::DockingLocationLocked

◆ MainFrameOnSize()

void CRhinoUiDockBarManager::MainFrameOnSize ( UINT  nType)

Description: FOR INTERNAL USE ONLY!!! Call this method when the applications main frame window gets WM_SIZE notification.

◆ OnCWinAppSaveAllModified()

bool CRhinoUiDockBarManager::OnCWinAppSaveAllModified ( bool  bSaveCollections = true)

Description: This should only be called one time from CMyWinApp::OnSaveAllModified. It will save current dock and tool bar positions and states.

Returns: Return true if it is safe to continue closing application; otherwise false.

◆ OnExitInstance()

void CRhinoUiDockBarManager::OnExitInstance ( )

Description: This should only be called one time from CMyWinApp::ExitInstance. It will clean up dock bar memory.

◆ operator[]()

CRhinoUiDockBar* CRhinoUiDockBarManager::operator[] ( int  index) const

Description: The dock bar manager is a collection of CRhinoUiDockBars. This function may be used to iterate the dock bar collection.

Parameters: index [in] Zero based index for dock bar to return.

Returns: Pointer to dock bar if index is valid otherwise NULL.

See Also: int CRhinoUiDockBarManager::DockBarCount() const CRhinoUiDockBar* CRhinoUiDockBarManager::DockBar( int index)

◆ RestoreMainFrameWindowPos()

bool CRhinoUiDockBarManager::RestoreMainFrameWindowPos ( )

Description: This should only be called one time from CMyWinApp::InitInstance() right after loading the main frame. It will load the MRU tool bar collection list and restore dock and tool bar position and state.

◆ RhinoMainFrame()

CFrameWnd* CRhinoUiDockBarManager::RhinoMainFrame ( ) const

Description: Pointer to Rhino main frame window used by the dock bar manager.

Returns: Pointer to Rhino main frame window used by the dock bar manager.

◆ ShowDockBar() [1/3]

bool CRhinoUiDockBarManager::ShowDockBar ( const CRhinoUiDockBar dock_bar,
bool  show_dock_bar,
bool  delay_recalc_layout 
) const

Description: Show or hide specified dock bar. DO NOT call RhinoUiMainFrame().ShowDockBar(), use this method instead.

Parameters: dock_bar [in] Dock bar to show or hide. show_dock_bar [in] If true show dock bar otherwise hide it delay_recalc_layout [in] See MSDN help for CFrameWnd::ShowControlBar

Returns: True if successful, false otherwise.

See Also: CRhinoUiDockBarManager::FindDockBar() CFrameWnd::ShowControlBar()

◆ ShowDockBar() [2/3]

bool CRhinoUiDockBarManager::ShowDockBar ( int  index,
bool  show_control_bar,
bool  delay_recalc_layout 
) const

Description: Show or hide specified dock bar. DO NOT call RhinoUiMainFrame().ShowDockBar(), use this method instead.

Parameters: index [in] Index of dock bar to show or hide. show_control_bar [in] If true show dock bar otherwise hide it delay_recalc_layout [in] See MSDN help for CFrameWnd::ShowControlBar

Returns: True if successful, false otherwise.

See Also: CRhinoUiDockBarManager::FindDockBar() CFrameWnd::ShowControlBar()

◆ ShowDockBar() [3/3]

bool CRhinoUiDockBarManager::ShowDockBar ( UUID  uuid,
bool  show_control_bar,
bool  delay_recalc_layout 
) const

Description: Show or hide specified dock bar. DO NOT call RhinoUiMainFrame().ShowDockBar(), use this method instead.

Parameters: uuid [in] ID for dock bar to show or hide. show_control_bar [in] If true show dock bar otherwise hide it delay_recalc_layout [in] See MSDN help for CFrameWnd::ShowDockBar

Returns: True if successful, false otherwise.

See Also: CRhinoUiDockBarManager::FindDockBar() CFrameWnd::ShowDockBar()

◆ Sort()

void CRhinoUiDockBarManager::Sort ( int(*)(CRhinoUiDockBar *const *, CRhinoUiDockBar *const *, void *)  compar,
int(*)(const CRhinoUiDockBar *, void *)  cull,
void *  p = 0 
)

Description: Use this to set CRhinoUiDockBar::m_sort_index so that the values of m_sort_index run from 0 to DockBarCount()-1 and compare(control_bar_list[i], control_bar_list[j]) < 0) implies control_bar_list[i].m_sort_index < control_bar_list[j].m_sort_index.

Parameters: compar - [in] compare function with prototype int compare(const CRhinoUiDockBar* arg1, const CRhinoUiDockBar* arg2,void* p). that returns <0 if arg1<arg2, 0 if arg1=arg2, and >0 if arg1>arg2. cull - [in] optional filter function with prototype BOOL32 cull(const CRhinoUiDockBar* arg,void* p). that returns TRUE if the dock bar should be ignored when sorting. Dock bars that are ignored are not included in the list returned by GetSortedList(). Pass 0 if you do not need to cull the dock bar list. p - [in] pointer passed as last argument to compare() and cull().

Remarks: After calling Sort(), you can repeatedly call GetSortedList() to get a sorted list of CRhinoUiDockBar pointers. Sort() and GetSortedList() do not modify the order or persistent information in the dock bar manager. They are intended to be used to get sorted lists of dock bars for dialogs, etc.

See Also: CRhinoUiDockBarManager::GetSortedList

◆ SortDockBarsByName()

static int CRhinoUiDockBarManager::SortDockBarsByName ( CRhinoUiDockBar *const *  ,
CRhinoUiDockBar *const *  ,
void *   
)
static

◆ TabbedDockBarCollection()

RhinoTabbedDockBar::CCollection* CRhinoUiDockBarManager::TabbedDockBarCollection ( void  ) const

◆ UnhookDeleteAndDestroyDockBar() [1/3]

bool CRhinoUiDockBarManager::UnhookDeleteAndDestroyDockBar ( CRhinoUiDockBar dock_bar)

Description: FOR EXPERT USERS ONLY! Call this method if you want to unhook, destroy and delete a control bar at runtime.

Parameters: dock_bar [in] Dock bar to unhook, destroy and delete

Returns: Returns true if successful otherwise returns false.

◆ UnhookDeleteAndDestroyDockBar() [2/3]

bool CRhinoUiDockBarManager::UnhookDeleteAndDestroyDockBar ( int  dock_bar_index)

Description: FOR EXPERT USERS ONLY! Call this method if you want to unhook, destroy and delete a control bar at runtime.

Parameters: dock_bar_index [in] Index of dock bar to unhook, destroy and delete

Returns: Returns true if successful otherwise returns false.

◆ UnhookDeleteAndDestroyDockBar() [3/3]

bool CRhinoUiDockBarManager::UnhookDeleteAndDestroyDockBar ( UUID  dock_bar_id)

Description: FOR EXPERT USERS ONLY! Call this method if you want to unhook, destroy and delete a control bar at runtime.

Parameters: dock_bar_id [in] ID of dock bar to unhook, destroy and delete

Returns: Returns true if successful otherwise returns false.

Friends And Related Function Documentation

◆ CRhinoUiDockBar

friend class CRhinoUiDockBar
friend

◆ CRhinoUiDockBar::CreateRhinoDockBar

bool CRhinoUiDockBar::CreateRhinoDockBar ( UUID  ,
bool  ,
DWORD  ,
DWORD  ,
LPPOINT  ,
DWORD   
)
friend

◆ CRhinoUiDockBar::OnDestroy

void CRhinoUiDockBar::OnDestroy ( )
friend

◆ CRhinoUiDockBar::PostNcDestroy

◆ CRhinoUiManager

friend class CRhinoUiManager
friend

FOR INTERNAL USE ONLY

◆ CRhinoUiToolBar

friend class CRhinoUiToolBar
friend

friend bool CRhinoUiToolBar::DestroyCascadeToolBar();

◆ CRhinoUiToolBarCollection

friend class CRhinoUiToolBarCollection
friend

◆ CRhinoUiToolBarManager

friend class CRhinoUiToolBarManager
friend

◆ CRhUiDockBarManagerWnd

friend class CRhUiDockBarManagerWnd
friend

◆ RhMainFrameOnCreate

bool RhMainFrameOnCreate ( CFrameWnd *  )
friend

Member Data Documentation

◆ m__control_bar_manager_sdk_extension

class CRhDockBarManagerExtension* CRhinoUiDockBarManager::m__control_bar_manager_sdk_extension

Reserved for future use.