Rhino C++ API  7.24
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
CRhinoTabbedDockBarDialog Class Referenceabstract

#include <RhinoSdkDialog.h>

Inheritance diagram for CRhinoTabbedDockBarDialog:
CRhinoDialog ITabbedDockBarEventWatcher CRhinoUiDialog IDockBarEventWatcher

Public Member Functions

 CRhinoTabbedDockBarDialog ()
virtual const wchar_t * Caption (void) const =0
 Required overrides. More...
CRhinoUiDockBarDockBar (void) const
 Returns the dockbar that this tab is currently on. More...
void OnDockBarPositionChanged (DWORD dwNewLocation) override
bool OnDockContextStartDrag (bool bStart) override
 Events, forwarded from CRhinoUiDockBar. More...
virtual void OnShowDockBar (bool bShowDockBar)
void OnShowDockBar (IDockBarEventWatcher::ShowEventArgs args) override
void OnShowTab (const class CRhinoUiPanel &db, bool bShowTab, const ON_UUID &dockBarId) override
void OnStartTracking (bool bDoneTracking) override
void OnToggleDocking (bool bStart) override
virtual ON_UUID PlugInId (void) const =0
virtual ON_UUID TabId (void) const =0
 Generate a unique ID for your tab and return it here. More...
- Public Member Functions inherited from CRhinoDialog
 CRhinoDialog (LPCTSTR lpszTemplateName, CWnd *pParentWnd=nullptr)
 Modal construct. More...
 CRhinoDialog (UINT nIDTemplate, CWnd *pParentWnd=nullptr)
virtual ~CRhinoDialog ()
CSize CalcDialogSize (INT nResourceId)
BOOL Create (LPCTSTR lpszTemplateName, CWnd *pParentWnd=nullptr) override
 Modeless construct. More...
BOOL Create (UINT nIDTemplate, CWnd *pParentWnd=nullptr) override
UINT DialogID ()
LPCTSTR DialogStringID ()
unsigned int DocumentSerialNumber () const
virtual INT_PTR DoModal ()
bool EnableDisplayCommands () const
void EnableSaveDialogPositionAndSize (bool bEnable=true, const wchar_t *wRegistryTitle=nullptr)
bool IsSaveDialogPositionAndSizeEnabled () const
void Localize ()
virtual void OnColorButtonClicked (UINT nBtnID)
 Called by CRhColorButton if button clicked and color changed;. More...
void OnRhinoHelpButton ()
 Dialog Utilities. More...
bool PushPickButton (bool hide_this_dialog)
void SetEnableDisplayCommands (bool b)
void SetEnableDisplayCommands (bool b, unsigned int documentRuntimeSerialNumber)
- Public Member Functions inherited from CRhinoUiDialog
 CRhinoUiDialog (LPCTSTR lpszTemplateName=NULL, CWnd *pParentWnd=NULL)
 CRhinoUiDialog (UINT nIDTemplate, CWnd *pParentWnd=NULL)
virtual ~CRhinoUiDialog ()
bool AddResizeControl (bool b)
bool AllowEscapeAndEnter () const
void CallOnUpdateUi ()
virtual BOOL CreateIndirect (HGLOBAL hDialogTemplate, CWnd *pParentWnd=NULL)
virtual BOOL CreateIndirect (LPCDLGTEMPLATE lpDialogTemplate, CWnd *pParentWnd=NULL, void *lpDialogInit=NULL)
AFX_MODULE_STATE * DialogModuleState ()
UINT DialogTemplateID () const
LPCTSTR DialogTemplateName () const
void DisableAllDialogItems ()
INT_PTR DoModal ()
void EnableAllDlgControls (bool bEnable)
bool EnableDialogItem (UINT nItemID, bool bEnable)
int EnableDialogItems (CUIntArray &nItemIDArray, bool bEnable)
int EnableDialogItems (UINT *nItemIDArray, int iArraySize, bool bEnable)
virtual bool ForwardLMouseDblClickMessagesToParent (CPoint point)
virtual bool ForwardLMouseDownMessagesToParent (CPoint point)
bool GetDlgItemRect (UINT nID, CRect &rc)
bool IsDialogItemEnabled (UINT nItemID) const
bool IsResizable ()
bool IsRhinoFlagSet (rhino_dialog_flags flag) const
afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct)
afx_msg HBRUSH OnCtlColor (CDC *pDC, CWnd *pWnd, UINT nCtlColor)
afx_msg void OnDestroy ()
afx_msg void OnGetMinMaxInfo (MINMAXINFO *lpMMI)
afx_msg void OnLButtonDblClk (UINT nFlags, CPoint point)
afx_msg void OnLButtonDown (UINT nFlags, CPoint point)
afx_msg LRESULT OnNcHitTest (CPoint point)
afx_msg void OnPaint ()
afx_msg void OnSize (UINT nType, int cx, int cy)
virtual void OnUnhandledEscapeAndEnter (UINT nChar)
virtual bool OverrideAllowEscapeAndEnter (MSG *msg)
void PaintGradientTitleRect (CDC *pDC, LPRECT lpRect, const char *lpsCaption=0, bool bActiveWindow=TRUE)
void PaintGradientTitleRect (CDC *pDC, LPRECT lpRect, const wchar_t *lpsCaption=0, bool bActiveWindow=TRUE)
void RestoreAllDisabledDialogItems ()
int RhinoFlags () const
bool SetAllowEscapeAndEnter (bool b)
bool SetDlgItemToolTip (CWnd *pWndCtrl, const char *lpsToolTip)
bool SetDlgItemToolTip (CWnd *pWndCtrl, const wchar_t *lpsToolTip)
bool SetDlgItemToolTip (UINT nID, const char *lpsToolTip)
bool SetDlgItemToolTip (UINT nID, const wchar_t *lpsToolTip)
bool SetMinSizeToCurrentSize ()
bool SetRhinoFlag (rhino_dialog_flags flag, bool b)
int SetRhinoFlags (int iFlags)
void SetToolTipOwner (CWnd *pWnd)
 Ported from CRhinoUiDialog. More...
- Public Member Functions inherited from ITabbedDockBarEventWatcher
virtual ~ITabbedDockBarEventWatcher ()
- Public Member Functions inherited from IDockBarEventWatcher
virtual ~IDockBarEventWatcher ()

Static Public Member Functions

static void CloseDockbarTab (const CRhinoDoc &doc, const ON_UUID &uuidPanelId, const ON_UUID *uuidDockBar)
static void CreateTabQuietly (const CRhinoDoc &doc, const ON_UUID &uuidPanelId)
static CRhinoUiDockBarDockBarForTab (const CRhinoDoc &doc, const ON_UUID &uuidPanelId)
static void DockBarsForTab (const CRhinoDoc &doc, const ON_UUID &uuidPanelId, ON_SimpleArray< CRhinoUiDockBar * > &dockbars)
static void GetOpenTabIds (ON_SimpleArray< ON_UUID > &tabIds)
static bool IsTabVisible (const CRhinoDoc &doc, const ON_UUID &uuidPanelId, bool bIsSelectedTab=false)
static void OpenDockbarTab (const CRhinoDoc &doc, const ON_UUID &uuidPanelId, bool bSelect=true, const ON_UUID *uuidDockBar=nullptr)
 Utility functions to manipulate the tabs. More...
static bool OpenTabOnDockBar (CRhinoUiDockBar *pDockbar, const CRhinoDoc &doc, const ON_UUID &uuidPanelId, bool makeSelectedTab=true)
 If nullptr == pDockbar, a new dockbar is created for the tab. More...
static bool Register (CRuntimeClass *pRTC, LPCTSTR lpszTemplateName, UINT idi, AFX_MODULE_STATE *pms)
static bool Register (CRuntimeClass *pRTC, UINT nIDTemplate, UINT idi, AFX_MODULE_STATE *pms)
static void ShowDockbarTab (const CRhinoDoc &doc, const ON_UUID &uuidPanelId, bool bShow, bool bMakeSelected, const ON_UUID *uuidDockBar)
- Static Public Member Functions inherited from CRhinoDialog
static int CheckSemiModalMessagePump ()
static bool InDoSemiModal ()

Public Attributes

class CRhTabbedDockBarDialogSdkExtension * m__rhino_dialog_sdk_extension
ON_UUID m_dockbar_id = ON_nil_uuid
- Public Attributes inherited from CRhinoDialog
class CRhDialogSdkExtension * m__rhino_dialog_sdk_extension
- Public Attributes inherited from CRhinoUiDialog
bool m_allow_auto_resize
CRhinoUiLocalizeDialog m_localize
 For internal use only. More...
CRhinoUiDialogItemResizer m_Resize

Protected Member Functions

virtual void * EVF (const wchar_t *wszFunc, const void *pvData)
virtual BOOL OnInitDialog ()
virtual BOOL PreTranslateMessage (MSG *pMsg)
 Overrides. More...
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
- Protected Member Functions inherited from CRhinoDialog
virtual BOOL ContinueModal ()
 Implementation. More...
void DoDataExchange (CDataExchange *pDX) override
 DDX/DDV support. More...
virtual void OnCancel ()
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam)
 override; ///<not an override on OSX More...
afx_msg void OnDestroy ()
afx_msg BOOL OnHelpInfo (HELPINFO *pHelpInfo)
virtual void OnOK ()
- Protected Member Functions inherited from CRhinoUiDialog
bool _SetDlgItemToolTip (CWnd *pWndCtrl, LPCTSTR lpsToolTip)
void Construct ()
BOOL RhCreateDlgIndirect (LPCDLGTEMPLATE lpDialogTemplate, CWnd *pParentWnd, HINSTANCE hInst)
BOOL RhCreateIndirect (HGLOBAL hDialogTemplate, CWnd *pParentWnd, HINSTANCE hInst)
BOOL RhCreateIndirect (LPCDLGTEMPLATE lpDialogTemplate, CWnd *pParentWnd, void *lpDialogInit, HINSTANCE hInst)
INT_PTR RhDoModal ()

Additional Inherited Members

- Public Types inherited from CRhinoUiDialog
enum  rhino_dialog_flags { is_dockbar_dialog = 1, force_32bit_rhino_flag = 0xFFFFFFFF }
 Reserved for future use. More...
- Public Types inherited from IDockBarEventWatcher
enum  ShowEventArgs : int { ShowEventArgs::Show, ShowEventArgs::Hide, ShowEventArgs::HideOnDeactivate, ShowEventArgs::ShowOnDeactivate }
 OnShowDockbar event type More...
- Protected Attributes inherited from CRhinoUiDialog
bool m_activate_tool_tip
bool m_allow_escape_and_enter
bool m_bAddResizer
UUID m_plugin_id
CRect m_rcGripper
CRect m_rcPage
int m_rhino_flags
CSize m_sizeGripper
CSize m_sizeMax
 Defaults to 0,0 which means no clamp, if other than 0,0 use this instead. More...
CSize m_sizeMin
 Defaults to 0,0 which means no clamp, if other than 0,0 use this instead. More...
UINT m_template_name_id
CString m_template_name_string
CToolTipCtrl m_tool_tip
CWnd * m_tool_tip_owner

Detailed Description

Derive from this class for dialogs that will appear as a tabbed dock bar. Ensure you call one of the static Register functions during your CRhinoPlugIn::OnLoadPlugIn method. Note - your dialog must implement MFC dynamic creation using the DECLARE_DYNCREATE(MyDialog) macro in the header, and IMPLEMENT_DYNCREATE(MyDialog, CRhinoTabbedDockBarDialog) in the implementation file.

Constructor & Destructor Documentation

◆ CRhinoTabbedDockBarDialog()

CRhinoTabbedDockBarDialog::CRhinoTabbedDockBarDialog ( )

Member Function Documentation

◆ Caption()

virtual const wchar_t* CRhinoTabbedDockBarDialog::Caption ( void  ) const
pure virtual

Required overrides.

◆ CloseDockbarTab()

static void CRhinoTabbedDockBarDialog::CloseDockbarTab ( const CRhinoDoc doc,
const ON_UUID uuidPanelId,
const ON_UUID uuidDockBar 

◆ CreateTabQuietly()

static void CRhinoTabbedDockBarDialog::CreateTabQuietly ( const CRhinoDoc doc,
const ON_UUID uuidPanelId 

◆ DockBar()

CRhinoUiDockBar* CRhinoTabbedDockBarDialog::DockBar ( void  ) const

Returns the dockbar that this tab is currently on.

◆ DockBarForTab()

static CRhinoUiDockBar* CRhinoTabbedDockBarDialog::DockBarForTab ( const CRhinoDoc doc,
const ON_UUID uuidPanelId 

◆ DockBarsForTab()

static void CRhinoTabbedDockBarDialog::DockBarsForTab ( const CRhinoDoc doc,
const ON_UUID uuidPanelId,
ON_SimpleArray< CRhinoUiDockBar * > &  dockbars 

◆ EVF()

virtual void* CRhinoTabbedDockBarDialog::EVF ( const wchar_t *  wszFunc,
const void *  pvData 

◆ GetOpenTabIds()

static void CRhinoTabbedDockBarDialog::GetOpenTabIds ( ON_SimpleArray< ON_UUID > &  tabIds)

◆ IsTabVisible()

static bool CRhinoTabbedDockBarDialog::IsTabVisible ( const CRhinoDoc doc,
const ON_UUID uuidPanelId,
bool  bIsSelectedTab = false 

◆ OnDockBarPositionChanged()

void CRhinoTabbedDockBarDialog::OnDockBarPositionChanged ( DWORD  dwNewLocation)

Implements IDockBarEventWatcher.

◆ OnDockContextStartDrag()

bool CRhinoTabbedDockBarDialog::OnDockContextStartDrag ( bool  bStart)

Events, forwarded from CRhinoUiDockBar.

Implements IDockBarEventWatcher.

◆ OnInitDialog()

virtual BOOL CRhinoTabbedDockBarDialog::OnInitDialog ( )

Generated message map functions {{AFX_MSG(CRhinoDialog)

Reimplemented from CRhinoDialog.

◆ OnShowDockBar() [1/2]

virtual void CRhinoTabbedDockBarDialog::OnShowDockBar ( bool  bShowDockBar)

◆ OnShowDockBar() [2/2]

void CRhinoTabbedDockBarDialog::OnShowDockBar ( IDockBarEventWatcher::ShowEventArgs  args)

Implements IDockBarEventWatcher.

◆ OnShowTab()

void CRhinoTabbedDockBarDialog::OnShowTab ( const class CRhinoUiPanel db,
bool  bShowTab,
const ON_UUID dockBarId 

◆ OnStartTracking()

void CRhinoTabbedDockBarDialog::OnStartTracking ( bool  bDoneTracking)

Implements IDockBarEventWatcher.

◆ OnToggleDocking()

void CRhinoTabbedDockBarDialog::OnToggleDocking ( bool  bStart)

Implements IDockBarEventWatcher.

◆ OpenDockbarTab()

static void CRhinoTabbedDockBarDialog::OpenDockbarTab ( const CRhinoDoc doc,
const ON_UUID uuidPanelId,
bool  bSelect = true,
const ON_UUID uuidDockBar = nullptr 

Utility functions to manipulate the tabs.

◆ OpenTabOnDockBar()

static bool CRhinoTabbedDockBarDialog::OpenTabOnDockBar ( CRhinoUiDockBar pDockbar,
const CRhinoDoc doc,
const ON_UUID uuidPanelId,
bool  makeSelectedTab = true 

If nullptr == pDockbar, a new dockbar is created for the tab.

◆ PlugInId()

virtual ON_UUID CRhinoTabbedDockBarDialog::PlugInId ( void  ) const
pure virtual

◆ PreTranslateMessage()

virtual BOOL CRhinoTabbedDockBarDialog::PreTranslateMessage ( MSG *  pMsg)


Reimplemented from CRhinoDialog.

◆ Register() [1/2]

static bool CRhinoTabbedDockBarDialog::Register ( CRuntimeClass *  pRTC,
LPCTSTR  lpszTemplateName,
UINT  idi,

◆ Register() [2/2]

static bool CRhinoTabbedDockBarDialog::Register ( CRuntimeClass *  pRTC,
UINT  nIDTemplate,
UINT  idi,

Register your tab dialog with like this: CRhinoTabbedDockBarDialog::Register(RUNTIME_CLASS(CMyTabDialog), IID, IDI_ICON, AfxGetStaticModuleState());

◆ ShowDockbarTab()

static void CRhinoTabbedDockBarDialog::ShowDockbarTab ( const CRhinoDoc doc,
const ON_UUID uuidPanelId,
bool  bShow,
bool  bMakeSelected,
const ON_UUID uuidDockBar 
Use the version with bMakeSelected static void ShowDockbarTab(const CRhinoDoc& doc, const ON_UUID& uuidPanelId, bool bShow, const ON_UUID* uuidDockBar);

◆ TabId()

virtual ON_UUID CRhinoTabbedDockBarDialog::TabId ( void  ) const
pure virtual

Generate a unique ID for your tab and return it here.

◆ WindowProc()

virtual LRESULT CRhinoTabbedDockBarDialog::WindowProc ( UINT  message,
WPARAM  wParam,
LPARAM  lParam 

Reimplemented from CRhinoDialog.

Member Data Documentation

◆ m__rhino_dialog_sdk_extension

class CRhTabbedDockBarDialogSdkExtension* CRhinoTabbedDockBarDialog::m__rhino_dialog_sdk_extension

◆ m_dockbar_id

ON_UUID CRhinoTabbedDockBarDialog::m_dockbar_id = ON_nil_uuid