FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
CAdUiDockControlBar.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
19#include <afxext.h>
20
21#include <memory>
22
23#include "Global Enums.h"
24
25class CAdUiTheme;
26class CDC;
27class CFrameWnd;
28class CObArray;
29class CPen;
30class CPoint;
31class CRect;
32class CSize;
33class CWnd;
34class CAdUiDockControlBar_Impl;
35class MfcEmbeddingWindow;
36
37
38class ARX_API CAdUiDockControlBar : public CControlBar
39{
40 DECLARE_DYNAMIC( CAdUiDockControlBar );
41public:
43
44private:
45 static bool m_bToolsRestartMode;
46 static CObArray * m_paBars;
47 static int m_nLastBarID;
48 _GUID m_toolId;
49 CButton m_closeBtn;
50
51public:
52 bool Anchored(bool);
53 CSize const & GetHorzDockSize(void);
54 CSize const & GetVertDockSize(void);
55 void SetHorzDockSize( CSize const &);
56 void SetVertDockSize( CSize const &);
61 bool Anchored(void);
64 int Create(CWnd *, wchar_t const *, unsigned int, unsigned long = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, tagRECT const & = CFrameWnd::rectDefault);
65 int IsFloating(void);
66 long GetTitleBarSize(void);
67 static bool __cdecl GetToolsRestartMode(void);
68 static bool __cdecl HidePalettes(void);
69 static bool __cdecl ShowPalettes(void);
70 static void __cdecl SetToolsRestartMode(bool);
72 unsigned long GetDockStyle(void);
73 virtual ~CAdUiDockControlBar(void);
74 virtual bool CanFrameworkTakeFocus(void);
75 virtual CSize CalcFixedLayout(int, int);
76 virtual int Create(ACHAR const *, ACHAR const *, unsigned long, tagRECT const &, CWnd *, unsigned int, CCreateContext * pContext = NULL);
77 virtual int Load(IUnknown *);
78 virtual int Save(IUnknown *);
79 void DockControlBar(unsigned int, tagRECT *);
80 void EnableDocking(unsigned long);
89 void TileInRow(void);
90 virtual void DelayShow(BOOL bShow);
96
97#ifdef _DEBUG
98 void AssertValid() const;
99#endif
100
101protected:
106 virtual bool OnClosing(void);
110 virtual void GetFloatingMinSize(long *, long *);
111 virtual void OnUserSizing(unsigned int, tagRECT *);
112 virtual void PaintControlBar(CDC *);
113 virtual void SizeChanged(CRect *, int, int);
115 void OnAllowDock(void);
116 void OnAnchor(void);
117 void OnAnchorLeft(void);
118 void OnAnchorRight(void);
119 void OnContextMenu(CWnd *, CPoint);
120 void OnHideBar(void);
121 void OnPaint(void);
124 void ShowCloseButton(bool);
127
129
130private:
131 __int64 AddMenuItems(unsigned __int64,__int64);
132 long AddMenuItems(unsigned int, long);
133 static void __cdecl RemoveBars(void);
134 LRESULT WindowProc(UINT nMsg, WPARAM wParam, LPARAM lParam) override;
135 void OnUpdateCmdUI(CFrameWnd *, int);
136 void Draw3DRect(CDC *, tagRECT *, CPen *);
137 void LoadDefaultLocation(unsigned int, tagRECT *);
138 void PaintBar(CDC *);
139 void Resized(int, int, int, int);
140 void SetDockFlag(unsigned long);
141 std::unique_ptr<MfcEmbeddingWindow> m_mfcEmbeddingWindow;
142 bool m_implBeingDestroyed;
143 CSize m_horizontalDockSize;
144 CSize m_verticalDockSize;
145
146protected:
147 void OnSettingChange(unsigned int,wchar_t const *);
148 CAdUiDockControlBar_Impl* m_pDockCtrlBarImpl;
149 friend class CAdUiDockControlBar_Impl;
150 friend class CAdUiPalette;
152};
AdUiThemeElement
unsigned long GetDockStyle(void)
void OnWindowPosChanged(tagWINDOWPOS *)
CSize const & GetHorzDockSize(void)
void DockControlBar(unsigned int, tagRECT *)
virtual CSize CalcFixedLayout(int, int)
virtual void SizeChanged(CRect *, int, int)
CAdUiTheme * GetTheme(void)
void OnAllowDock(void)
void OnSettingChange(unsigned int, wchar_t const *)
afx_msg void OnDestroy()
static bool __cdecl ShowPalettes(void)
bool AllowDockingMenuItemState(void)
int Create(CWnd *, wchar_t const *, unsigned int, unsigned long=WS_CHILD|WS_VISIBLE|CBRS_BOTTOM, tagRECT const &=CFrameWnd::rectDefault)
void GetPersistedFloatingRect(CRect *)
bool AdjustVertDockedBarHeight(int)
void InvalidateRect(LPCRECT lpRect, BOOL bErase=TRUE)
virtual ~CAdUiDockControlBar(void)
virtual void GetFloatingMinSize(long *, long *)
virtual bool OnClosing(void)
virtual bool CanFrameworkTakeFocus(void)
void GetUsedRect(CRect &)
void callDataExchange(CDataExchange *pDX)
virtual void PaintControlBar(CDC *)
void OnHideBar(void)
void OnAnchorLeft(void)
virtual int Create(ACHAR const *, ACHAR const *, unsigned long, tagRECT const &, CWnd *, unsigned int, CCreateContext *pContext=NULL)
void RestoreControlBar(unsigned int=AFX_IDW_DOCKBAR_LEFT, CRect *=NULL)
long GetTitleBarSize(void)
_GUID * GetToolID(void)
virtual int Load(IUnknown *)
void SetToolID(LPCGUID)
int OnEraseBkgnd(CDC *)
void SetVertDockSize(CSize const &)
void SetAllowDockingMenuItemState(bool)
CAdUiTheme * SetTheme(CAdUiTheme *)
void RepositionOrHideButtons(void)
void InitFloatingPosition(CRect *)
void EnableDocking(unsigned long)
static LRESULT __stdcall MouseProc(int, WPARAM, LPARAM)
virtual int Save(IUnknown *)
bool CloseButtonVisible(void)
static bool __cdecl HidePalettes(void)
virtual BOOL OnCommand(WPARAM, LPARAM)
BOOL UpdateData(BOOL bSaveAndValidate=TRUE)
void GetFloatingRect(CRect *)
void OnContextMenu(CWnd *, CPoint)
virtual void DelayShow(BOOL bShow)
int OnCreate(tagCREATESTRUCTW *)
void GetPersistedDockingRect(CRect *)
void ShowCloseButton(bool)
virtual int CreateControlBar(tagCREATESTRUCTW *)
CAdUiDockControlBar_Impl * m_pDockCtrlBarImpl
virtual void OnUserSizing(unsigned int, tagRECT *)
virtual void ThemeModified(AdUiThemeElement)
void InvalidateRgn(CRgn *pRgn, BOOL bErase=TRUE)
void SetHorzDockSize(CSize const &)
CSize const & GetVertDockSize(void)
void OnAnchorRight(void)
virtual int AddCustomMenuItems(LPARAM hMenu)
void TileInRow(void)
static void __cdecl SetToolsRestartMode(bool)
void Invalidate(BOOL bErase=TRUE)
static bool __cdecl GetToolsRestartMode(void)