/* Copyright (c) 2002-2012 Croteam Ltd. This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ // MainFrm.h : interface of the CMainFrame class // ///////////////////////////////////////////////////////////////////////////// #ifndef MAINFRAME_H #define MAINFRAME_H 1 #define STATUS_LINE_PANE 0 #define EDITING_MODE_ICON_PANE 1 #define EDITING_MODE_PANE 2 #define GRID_PANE 3 #define POSITION_PANE 4 #define DOCK_UP 0 #define DOCK_DOWN 1 #define DOCK_LEFT 2 #define DOCK_RIGHT 3 // get pressed key buffer (keys 0-9) extern INDEX TestKeyBuffers(void); // macro used for writing text into status line #define STATUS_LINE_MESASGE( message) if(theApp.m_bShowStatusInfo){\ CMainFrame* pMainFrame = STATIC_DOWNCAST(CMainFrame, AfxGetMainWnd()); \ ASSERT( pMainFrame != NULL); \ pMainFrame->m_wndStatusBar.SetPaneText( STATUS_LINE_PANE, message, TRUE);}; class CMainFrame : public CMDIFrameWnd { DECLARE_DYNAMIC(CMainFrame) public: CMainFrame(); // Attributes public: // old window position and styles before full screen mode WINDOWPLACEMENT m_OldPlacement; LONG m_OldStyleEx; LONG m_OldStyle; // main menu HMENU m_hMenu; // Tool bars CStatusBar m_wndStatusBar; CToolBar m_wndToolBar; CToolBar m_wndWorkTools; CToolBar m_wndCSGTools; CToolBar m_wndMipTools; CToolBar m_wndProjections; CToolBar m_wndSettingsAndUtility; CToolBar m_wndShadowsAndTexture; CToolBar m_wndSelectEntity; CToolBar m_wndViewTools; CToolBar m_wndViewTools2; // CSG destination combo box CCSGDesitnationCombo m_CSGDesitnationCombo; // Triangularisation type combo box CTriangularisationCombo m_TriangularisationCombo; // Edit control for editing mip switch distance CEditMipSwitchDistance m_ctrlEditMipSwitchDistance; // Tool dialogs CBrowser m_Browser; CPropertyComboBar m_PropertyComboBar; // mini frame used to hold property sheet with dialog pages CInfoFrame *m_pInfoFrame; CTFileName m_fnLastVirtualTree; // color palette CColorPaletteWnd *m_pColorPalette; CToolTipWnd *m_pwndToolTip; // Operations public: void DockControlBarRelativeTo(CControlBar* Bar,CControlBar* LeftOf, ULONG ulDockDirection = DOCK_RIGHT); BOOL OnIdle(LONG lCount); // toggle info window void ToggleInfoWindow(); // shows info window void ShowInfoWindow(); // reset info window pos void ResetInfoWindowPos(); // hides info window void HideInfoWindow(); // startes application void StartApplication( CTString strApplicationToRun); // store or restore given virtual shortcut void ApplyTreeShortcut( INDEX iVDirBuffer, BOOL bCtrl); // call custom color picker at given coordinates void CustomColorPicker( PIX pixX, PIX pixY); void ManualToolTipOn( PIX pixManualX, PIX pixManualY); void ManualToolTipUpdate( void); void SetStatusBarMessage( CTString strMessage, INDEX iPane, FLOAT fTime); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMainFrame) public: virtual BOOL PreCreateWindow(CREATESTRUCT& cs); virtual BOOL DestroyWindow(); virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam); //}}AFX_VIRTUAL // Implementation public: virtual ~CMainFrame(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions public: //{{AFX_MSG(CMainFrame) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnVirtualTree(); afx_msg void OnClose(); afx_msg void OnCancelMode(); afx_msg void OnInitMenu(CMenu* pMenu); afx_msg void OnViewInfowindow(); afx_msg void OnUpdateViewInfowindow(CCmdUI* pCmdUI); afx_msg void OnViewCsgtools(); afx_msg void OnUpdateViewCsgtools(CCmdUI* pCmdUI); afx_msg void OnViewProjectionsBar(); afx_msg void OnUpdateViewProjectionsBar(CCmdUI* pCmdUI); afx_msg void OnViewWorkBar(); afx_msg void OnUpdateViewWorkBar(CCmdUI* pCmdUI); afx_msg void OnActivateApp(BOOL bActive, DWORD hTask); afx_msg void OnCreateTexture(); afx_msg void OnCallModeler(); afx_msg void OnCallTexmaker(); afx_msg void OnViewSettingsAndUtilityBar(); afx_msg void OnUpdateViewSettingsAndUtilityBar(CCmdUI* pCmdUI); afx_msg void OnViewShadowsAndTextureBar(); afx_msg void OnUpdateViewShadowsAndTextureBar(CCmdUI* pCmdUI); afx_msg void OnViewSelectEntityBar(); afx_msg void OnUpdateViewSelectEntityBar(CCmdUI* pCmdUI); afx_msg void OnViewViewToolsBar(); afx_msg void OnUpdateViewViewToolsBar(CCmdUI* pCmdUI); afx_msg void OnViewViewToolsBar2(); afx_msg void OnUpdateViewViewToolsBar2(CCmdUI* pCmdUI); afx_msg void OnGameAudio(); afx_msg void OnGameVideo(); afx_msg void OnGamePlayer(); afx_msg void OnGameSelectPlayer(); afx_msg void OnShowTreeShortcuts(); afx_msg void OnMenuShortcut01(); afx_msg void OnMenuShortcut02(); afx_msg void OnMenuShortcut03(); afx_msg void OnMenuShortcut04(); afx_msg void OnMenuShortcut05(); afx_msg void OnMenuShortcut06(); afx_msg void OnMenuShortcut07(); afx_msg void OnMenuShortcut08(); afx_msg void OnMenuShortcut09(); afx_msg void OnMenuShortcut10(); afx_msg void OnStoreMenuShortcut01(); afx_msg void OnStoreMenuShortcut02(); afx_msg void OnStoreMenuShortcut03(); afx_msg void OnStoreMenuShortcut04(); afx_msg void OnStoreMenuShortcut05(); afx_msg void OnStoreMenuShortcut06(); afx_msg void OnStoreMenuShortcut07(); afx_msg void OnStoreMenuShortcut08(); afx_msg void OnStoreMenuShortcut09(); afx_msg void OnStoreMenuShortcut10(); afx_msg void OnConsole(); afx_msg void OnViewMipToolsBar(); afx_msg void OnUpdateViewMipToolsBar(CCmdUI* pCmdUI); afx_msg void OnToolRecreateTexture(); afx_msg void OnRecreateCurrentTexture(); afx_msg void OnLightAnimation(); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnHelpFinder(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// #endif // MAINFRAME_H