mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-12-01 14:15:53 +01:00
198 lines
6.4 KiB
C++
198 lines
6.4 KiB
C++
/* 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
|