// MainFrm.h // // (c)1998-2025 Codejock Software, All Rights Reserved. // // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN // CONSENT OF CODEJOCK SOFTWARE. // // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A // SINGLE COMPUTER. // // CONTACT INFORMATION: // support@codejock.com // http://www.codejock.com // ///////////////////////////////////////////////////////////////////////////// #pragma once #include "ClassViewPane.h" #include "SolutionExplorerPane.h" #include "ResourceViewPane.h" #include "OutputPane.h" #include "PropertiesPane.h" #include "ToolboxViewPane.h" class CGUI_VisualStudioView; class CMainFrame : public CXTPMDIFrameWndEx , CXTPCommandBarsFrameHook { DECLARE_DYNCREATE(CMainFrame); // Construction public: CMainFrame(); // Operations public: // Overrides public: virtual ~CMainFrame(); virtual BOOL PreCreateWindow(CREATESTRUCT& cs); virtual void OnSetPreviewMode(BOOL bPreview, CPrintPreviewState* pState); virtual CXTPDockingPaneManager* GetDockingPaneManager(); virtual CXTPTabClientWnd* GetTabClientWnd(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Implementation private: BOOL CreateStatusBar(); BOOL CreateToolbars(); BOOL UpdateMenuBar(XTPPaintTheme nTheme); BOOL CreateTabClient(); BOOL UpdateTabClient(XTPPaintTheme nTheme); BOOL CreateDockingPanes(); BOOL CreateMessageBar(); void LoadRasterIcons(); void LoadVectorIcons(); void InitTooltips(); void InitThemeDlg(); void EnableTheme(XTPPaintTheme nTheme, LPCTSTR lpzThemeSettings, BOOL bEnable = TRUE); void UpdateTheme(); void SetTooltipStyle(XTPToolTipStyle nStyle); void SetFrameIcon(CSize szIcon); void UpdateChildrenTheme(); void DisableStyle(); void EnableNoStyle(BOOL bEnable = TRUE); void EnableStyleVisualStudio98(BOOL bEnable = TRUE); void EnableStyleVisualStudio2005(BOOL bEnable = TRUE); void EnableStyleVisualStudio2008(BOOL bEnable = TRUE); void EnableStyleVisualStudio2010(BOOL bEnable = TRUE); void EnableStyleVisualStudio2012(BOOL bLight, BOOL bEnable = TRUE); void EnableStyleVisualStudio2015(BOOL bEnable = TRUE); void EnableStyleVisualStudio2017(BOOL bEnable = TRUE); void EnableStyleVisualStudio2019(BOOL bEnable = TRUE); void EnableStyleVisualStudio2022(BOOL bEnable = TRUE); void ShowDockingPanePopupMenu(CXTPDockingPane* pPopupPane, CPoint pt, LPRECT lprcExclude); void InitLayout(); void ExchangeLayout(CXTPPropExchange* pPX, BOOL bSerializeControls = TRUE); protected: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnClose(); afx_msg void OnDestroy(); afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI); afx_msg int OnCreateControl(LPCREATECONTROLSTRUCT lpCreateControl); afx_msg void OnSettingChange(UINT uFlags, LPCTSTR lpszSection); afx_msg LRESULT OnDockingPaneNotify(WPARAM wParam, LPARAM lParam); afx_msg void OnCustomize(); afx_msg void OnViewMessageBar(); afx_msg void OnUpdateViewMessageBar(CCmdUI* pCmdUI); afx_msg void OnEmptyCommand(UINT nID); afx_msg void OnUpdateEmptyCommand(CCmdUI* pCmdUI); afx_msg void OnWindowAutohideall(); afx_msg void OnWindowCloseAll(); afx_msg void OnWindowMore(); afx_msg void OnThemeDlg(); afx_msg LRESULT OnThemeChanged(WPARAM wParam, LPARAM lParam); afx_msg void OnStateColor(UINT nID); afx_msg void OnUpdateStateColor(CCmdUI* pCmdUI); afx_msg LRESULT OnTabToDockpane(WPARAM wParam, LPARAM lParam); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); afx_msg void OnEditConfiguration(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnUpdateEditConfiguration(CCmdUI* pCmdUI); afx_msg void OnEditPlatform(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnUpdateEditPlatform(CCmdUI* pCmdUI); afx_msg void OnView(UINT nID); afx_msg void OnUpdateView(CCmdUI* pCmdUI); afx_msg void OnFullScreen(); afx_msg void OnUpdateFullScreen(CCmdUI* pCmdUI); DECLARE_MESSAGE_MAP() // Attributes protected: BOOL m_bThemeApplied; XTPPaintTheme m_nAppliedTheme; CThemeDlg m_dlgTheme; CString m_strAppliedThemeSettings; int m_nConfiguration; int m_nPlatform; BOOL m_bFullScreen; CRect m_rcMainFrame; CString m_strIniFileName; CXTPPropExchangeXMLNode* m_pFullScreenLayout; CXTPStatusBar m_wndStatusBar; UINT m_nStateColor; CXTPMenuBar* m_pMenuBar; CXTPMenuTitleBar* m_pMenuTitleBar; CXTPToolBar* m_pToolBarStandart; CXTPToolBar* m_pToolBarWeb; CXTPToolBar* m_pToolBarState; CXTPToolBar* m_pFullScreen; CClassViewPane m_wndClassView; CToolboxViewPane m_wndToolbox; CSolutionExplorerPane m_wndSolutionExplorer; CResourceViewPane m_wndResourceView; CScrollablePaneViewOutput m_wndOutput; CPropertiesPane m_wndProperties; CXTPMessageBar m_wndMessageBar; CXTPDockingPaneManager m_wndPaneManager; CXTPTabClientWnd m_wndTabClient; };