157 lines
4.7 KiB
C++
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__
|