reman3/Rayman_X/cpa/public/ITF/frmbsmn.hpp

157 lines
4.7 KiB
C++

#ifndef __FRMBSMN_HPP__
#define __FRMBSMN_HPP__
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
#ifdef ACTIVE_EDITOR
class EDT_SubMenu;
class CPA_DLLBase;
class CPA_EditorBase;
class CPA_KeyActionConfiguration;
#include "FRMBase.hpp"
#include "Lst.hpp"
#include "CPADgBar.hpp"
class DEV_MultiDevice;
class CPA_Interface;
/**/
/* Constants for status bar.*/
/**/
#define C_STATUS_WARNING 1 /* blue background*/
#define C_STATUS_ERROR 2 /* red background*/
#define C_STATUS_NORMAL 3 /* normal background*/
#define C_STATUSPANE_EDITOR 0
#define C_STATUSPANE_INFOS 1
class FRMbaseMenu;
/**/
/* Splitter.*/
/**/
class FRMSplitter : public CSplitterWnd
{
public:
DECLARE_DYNCREATE(FRMSplitter)
public:
virtual BOOL CreateView(int, int, CRuntimeClass *, SIZE, CCreateContext *);
virtual void DeleteView(int, int);
virtual void DeleteRow(int);
virtual void DeleteColumn(int);
virtual void SetActivePane(int, int, CWnd *pWnd = NULL);
virtual void RecalcLayout(void);
virtual int HitTest(CPoint pt) const;
void DrawObject(CWnd *);
BOOL CreateScrollBarCtrl(DWORD, UINT);
void MakeSplit(int);
FRMBaseMenu * GetParentFrame() { return (FRMBaseMenu *) GetParent(); }
protected:
afx_msg void OnLButtonDown(UINT, CPoint);
afx_msg void OnPaint();
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
DECLARE_MESSAGE_MAP()
};
/**/
/* Frame.*/
/**/
class CPA_EXPORT FRMBaseMenu : public FRMBase
{
protected:
public:
BOOL mbWantSplit;
BOOL mbWantNew;
BOOL mbWantTile;
BOOL mbWantClose;
FRMSplitter m_oSplitter;
CMenu m_oGeneralMenu; /* Starting menu*/
EDT_SubMenu *m_p_oEditSubMenu;
EDT_SubMenu *m_p_oEditorSubMenu;
EDT_SubMenu *m_p_oToolSubMenu;
/*ANNECY Shaitan NewInterface 24/03/98 {*/
EDT_SubMenu *m_p_oLoadSubMenu;
EDT_SubMenu *m_p_o3DViewSubMenu;
EDT_SubMenu *m_p_oSpecificSubMenu;
/*ENDANNECY Shaitan NewInterface }*/
EDT_SubMenu *m_p_oPrefSubMenu;
CPA_DialogBar m_oGeneralDialogBar; /* General dialog bar of application*/
CStatusBar m_oStatusBar;
BOOL m_bEnableEditors;
public:
FRMBaseMenu();
~FRMBaseMenu();
DECLARE_DYNCREATE(FRMBaseMenu)
virtual void UpdateStatus(char *, int, int);
virtual void fn_vInitGeneralMenuWithContext(void);
virtual BOOL OnCommand( WPARAM wParam, LPARAM lParam );
virtual BOOL CreateBase(LPCTSTR, int, int, CPA_MainWorld*);
virtual BOOL CreateBase(LPCTSTR, CPA_MainWorld*);
virtual void fn_vInitGeneralDialogBarWithContext(void);
virtual void mfn_vUpdateDeviceToolBar(void);
virtual void fn_vShowGeneralInterface(BOOL);
virtual void fn_vEnableEditors(BOOL);
void fn_vUpdateCurrentEditor (CPA_EditorBase *pNewCurrentEditor);
virtual void fn_vOnActivate(void);
virtual BOOL OnCreateClient(LPCREATESTRUCT, CCreateContext *);
DEV_MultiDevice * GetMultiDevice() { return (DEV_MultiDevice *) GetActiveView(); }
CPA_Interface * GetInterface();
BOOL fn_bCanClose(void);
/*Mircea Dunka - Dialog Bar Buttons for Editors*/
protected:
void fn_vUpdateEditorButtonsToolbar(void);
/*end Mircea Dunka - Dialog Bar Buttons for Editors */
protected:
/*{{AFX_MSG(FRMBaseMenu)*/
afx_msg void OnNcLButtonDblClk(UINT, CPoint);
afx_msg void OnSysCommand(UINT, LPARAM);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnInitMenu(CMenu *_pMenu);
afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu);
afx_msg void OnSaveAll(void);
afx_msg void OnOptions(void);
afx_msg void OnInitMap(void);
afx_msg void OnUndo(void);
afx_msg void OnRedo(void);
afx_msg void OnDrawItem(int, LPDRAWITEMSTRUCT);
afx_msg void OnActivate(UINT State, CWnd *pOther, BOOL bMini);
afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);
afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
/*}}AFX_MSG*/
DECLARE_MESSAGE_MAP()
/*Mircea Dunka - I need this function for dialog bar buittons initialization*/
public:
BOOL AddItemToPopupMenu(EDT_SubMenu* _pSubMenu, CPA_List<CPA_DLLBase>* _p_oListOfDLL);
/*end Mircea Dunka*/
protected:
void fn_vActivateHelp(UINT IDCmdMsg);
void fn_vFillHelpMenu(CMenu *pPopupMenu);
};
#endif ACTIVE_EDITOR
#endif __FRMBSMN_HPP__