#ifndef APPLICATION_H #define APPLICATION_H #include "Document.h" #include #include #include #include #include #include class ApplicationWindow: public QMainWindow { Q_OBJECT public: enum { FileNewId, FileCloseId, FileQuitId, ViewToolId, ViewStatusId, HelpAboutId }; enum { ToolWireframeId, ToolShadingId, ToolColorId, ToolMaterialId, ToolTransparencyId, ToolDeleteId }; ApplicationWindow(); ~ApplicationWindow(); static QWorkspace* getWorkspace(); static ApplicationWindow* getApplication(); static QString getResourceDir(); void updateFileActions(); QList* getToolActions(); QList* getMaterialActions(); public slots: Document* onNewDoc(); void onCloseWindow(); void onCloseDocument( Document* theDoc ); void onViewToolBar(); void onViewStatusBar(); void onAbout(); void onToolAction(); void onSelectionChanged(); void onCreateNewView(); void onWindowActivated ( QWidget * w ); void windowsMenuAboutToShow(); void windowsMenuActivated( int id ); void onMakeBottleAction(); void onSetMaterial( int theMaterial ); protected: virtual void resizeEvent( QResizeEvent* ); private: void createStandardOperations(); void createCasCadeOperations(); void createMakeBottleOperation(); void createWindowPopup(); private: int myNbDocuments; bool myIsDocuments; QList myStdActions; QList myToolActions; QList myMaterialActions; QList myDocuments; QToolBar* myStdToolBar; QToolBar* myCasCadeBar; QToolBar* myMakeBottleBar; QPopupMenu* myFilePopup; QPopupMenu* myWindowPopup; }; #endif