1 #ifndef STD_APPLICATION_H
2 #define STD_APPLICATION_H
6 #include <SUIT_Application.h>
8 #include <SUIT_Desktop.h>
9 #include <SUIT_ViewManager.h>
18 class SUIT_ViewWindow;
19 class SUIT_ToolWindow;
21 typedef QPtrList<SUIT_ViewManager> ViewManagerList;
24 #pragma warning( disable: 4251 )
27 class STD_EXPORT STD_Application : public SUIT_Application
33 virtual ~STD_Application();
35 virtual QString applicationName() const;
37 virtual bool isPossibleToClose();
38 virtual bool useFile( const QString& );
40 virtual void createEmptyStudy();
42 void setEditEnabled( const bool );
43 bool isEditEnabled() const { return myEditEnabled; }
45 void clearViewManagers();
46 virtual void addViewManager( SUIT_ViewManager* );
47 virtual void removeViewManager( SUIT_ViewManager* );
49 SUIT_ViewManager* activeViewManager() const;
50 SUIT_ViewManager* viewManager( const QString& ) const;
52 bool containsViewManager( SUIT_ViewManager* ) const;
54 ViewManagerList viewManagers() const;
55 void viewManagers( ViewManagerList& ) const;
56 void viewManagers( const QString&, ViewManagerList& ) const;
58 virtual QString getFileFilter() const { return QString::null; }
59 virtual QString getFileName( bool open, const QString& initial, const QString& filters,
60 const QString& caption, QWidget* parent );
61 QString getDirectory( const QString& initial, const QString& caption, QWidget* parent );
65 virtual void contextMenuPopup( const QString&, QPopupMenu*, QString& ) {}
68 /*!emit that view manager added*/
69 void viewManagerAdded( SUIT_ViewManager* );
70 /*!emit that view manager removed*/
71 void viewManagerRemoved( SUIT_ViewManager* );
72 /*!emit that view manager activated*/
73 void viewManagerActivated( SUIT_ViewManager* );
76 virtual void onNewDoc();
77 virtual void onCloseDoc( bool ask = true );
78 virtual void onSaveDoc();
79 virtual bool onSaveAsDoc();
81 virtual void onOpenDoc();
82 virtual bool onOpenDoc( const QString& );
84 virtual void onLoadDoc();
85 virtual bool onLoadDoc( const QString& );
87 virtual void onExit();
89 virtual void onCopy();
90 virtual void onPaste();
92 virtual void onViewStatusBar( bool );
94 virtual void onHelpAbout();
96 virtual void onDesktopClosing( SUIT_Desktop*, QCloseEvent* );
97 virtual void onConnectPopupRequest( SUIT_PopupClient*, QContextMenuEvent* );
100 virtual void onViewManagerActivated( SUIT_ViewManager* );
103 enum { FileNewId, FileOpenId, FileCloseId, FileSaveId, FileSaveAsId,
104 FileExitId, EditCutId, EditCopyId, EditPasteId, ViewStatusBarId,
105 NewWindowId, HelpAboutId, ViewWindowsId, FileLoadId, UserID };
108 virtual void createActions();
109 virtual void updateDesktopTitle();
110 virtual void updateCommandsStatus();
112 virtual void setDesktop( SUIT_Desktop* );
114 virtual void beforeCloseDoc( SUIT_Study* theDoc );
115 virtual void afterCloseDoc();
117 virtual void setActiveViewManager( SUIT_ViewManager* );
120 ViewManagerList myViewMgrs;
121 SUIT_ViewManager* myActiveViewMgr;
125 bool myClosePermanently;
129 #pragma warning( default: 4251 )