#ifndef _ALADIN_MAINFRAME_HPP_ #define _ALADIN_MAINFRAME_HPP_ #ifndef _COMMON_MDIFRM_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _STATBAR_STATUSBAREX_HPP_ #include #endif #ifndef _TOOLBAR_TOOLBAR_HPP_ #include #endif #ifndef _COMMCTRL_COMMCONTROL_HPP_ #include #endif class MainFrame : public FrameWindow { public: MainFrame(void); virtual ~MainFrame(); static String className(void); void splash(void); protected: virtual void mdiDestroy(MDIWindow &mdiWindow); virtual void mdiActivate(MDIWindow &mdiWindow); virtual void mdiDeactivate(MDIWindow &mdiWindow); private: enum {StatusBarID=500,ToolBarID=501,StartDynamicID=30000}; enum{SinglePart=1,DoublePart=2,FirstPartWidth=340,SecondPartWidth=420}; enum{MenuFileSave=SBCMENU_FILESAVE,MenuFileQuit=SBCMENU_FILEQUIT,MenuFilePrint=SBCMENU_FILEPRINT, MenuSettingsSerial=SBCMENU_SETTINGSSERIAL,MenuHelpContents=SBCMENU_HELPCONTENTS, MenuHelpSearch=SBCMENU_HELPSEARCH,MenuRegistration=SBCMENU_REGISTRATION,MenuFileNew=SBCMENU_FILENEW, MenuFileOpen=SBCMENU_FILEOPEN,MenuHelpAbout=SBCMENU_HELPABOUT,MenuFileClose=SBCMENU_FILECLOSE, MenuFileSaveAs=SBCMENU_FILESAVEAS,MenuCascade=IDM_CASCADE,MenuTile=IDM_TILE,MenuArrange=IDM_ARRANGE, MenuCloseAll=IDM_CLOSEALL,MenuMinimizeAll=IDM_MINIMIZEALL,MenuRestoreAll=IDM_RESTOREALL, MenuEditCut=SBCMENU_EDITCUT,MenuEditCopy=SBCMENU_EDITCOPY,MenuEditPaste=SBCMENU_EDITPASTE, MenuEditFind=SBCMENU_EDITFIND,MenuCodeCompile=SBCMENU_CODECOMPILE, MenuCodeCompileAndLoad=SBCMENU_CODECOMPILEANDLOAD}; CallbackData::ReturnType queryEndSessionHandler(CallbackData &someCallbackData); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType commandHandler(CallbackData &someCallbackData); CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData); CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData); CallbackData::ReturnType timerHandler(CallbackData &someCallbackData); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); CallbackData::ReturnType activateAppHandler(CallbackData &someCallbackData); CallbackData::ReturnType displayChangeHandler(CallbackData &someCallbackData); void createToolBar(void); void handleCommunications(void); void handleEditCut(void); void handleEditCopy(void); void handleEditPaste(void); void handleEditFind(void); void handleFileNew(void); void handleFileOpen(void); void handleFileOpen(CallbackData &someCallbackData); void handleFileOpen(const String &strPathFileName); void handleFileClose(void); void handleFilePrint(void); void handleHelp(void); BOOL handleFileSave(void); BOOL handleFileSaveAs(void); void registerClass(void)const; void insertHandlers(void); void removeHandlers(void); void setParts(int numParts); void applyHistory(PureMenu &pureMenu); void updateHistory(const String &pathFileName); void removeHistory(PureMenu &pureMenu); BOOL bringDocumentToFront(const String &strTitle); Callback mQueryEndSessionHandler; Callback mPaintHandler; Callback mDestroyHandler; Callback mCommandHandler; Callback mSizeHandler; Callback mCreateHandler; SmartPointer mStatusBar; CommControl mCommControl; ToolBar mToolBar; // SerialSettings mSerialSettings; static char szClassName[]; static char szMenuName[]; }; inline String MainFrame::className(void) { return String(szClassName); } #endif