33 #ifndef CXMAINWINDOW_H_ 34 #define CXMAINWINDOW_H_ 36 #include "cxGuiExport.h" 38 #include <QMainWindow> 41 #include "boost/shared_ptr.hpp" 55 class GUIExtenderService;
57 class DynamicMainWindowWidgets;
58 class MainWindowActions;
84 virtual QMenu* createPopupMenu();
87 void patientChangedSlot();
92 void preferencesSlot();
93 void toggleFullScreenSlot();
95 void showControlPanelActionSlot();
96 void showSecondaryViewLayoutWindowActionSlot();
99 void onApplicationStateChangedSlot();
102 void onWorkflowStateChangedSlot();
103 void saveDesktopSlot();
104 void resetDesktopSlot();
107 void onShowContextSentitiveHelp();
109 void dockWidgetVisibilityChanged(
bool val);
110 void focusChanged(QWidget * old, QWidget * now);
117 void changeEvent(QEvent * event);
120 void focusInsideDockWidget(QObject* dockWidget);
121 LayoutInteractorPtr mLayoutInteractor;
122 void updateWindowTitle();
123 void createActions();
125 void createToolBars();
127 QToolBar *registerToolBar(QString name, QString groupname=
"Toolbars");
128 void setupGUIExtenders();
130 void closeEvent(QCloseEvent *event);
131 QDockWidget* addAsDockWidget(QWidget* widget, QString groupname);
135 QMenu* mWorkflowMenu;
138 QMenu* mNavigationMenu;
140 QAction* mHelpMenuAction;
143 QAction* mAboutAction;
144 QAction* mPreferencesAction;
145 QAction* mFullScreenAction;
146 QAction* mQuitAction;
148 QAction* mShowControlPanelAction;
149 QAction* mSecondaryViewLayoutWindowAction;
151 QActionGroup* mStandard3DViewActions;
153 QAction* mShowContextSensitiveHelpAction;
154 QActionGroup* mInteractorStyleActionGroup;
157 QAction* mSaveDesktopAction;
158 QAction* mResetDesktopAction;
161 QToolBar* mDataToolBar;
162 QToolBar* mToolToolBar;
163 QToolBar* mNavigationToolBar;
164 QToolBar* mInteractorStyleToolBar;
165 QToolBar* mWorkflowToolBar;
166 QToolBar* mDesktopToolBar;
167 QToolBar* mHelpToolBar;
168 QToolBar* mScreenshotToolBar;
170 boost::shared_ptr<ServiceTrackerListener<GUIExtenderService> > mServiceListener;
173 QPointer<class SecondaryMainWindow> mControlPanel;
174 QPointer<class SecondaryViewLayoutWindow> mSecondaryViewLayoutWindow;
175 QMap<QString, QPointer<class SecondaryMainWindow> > mSecondaryMainWindows;
176 QMap<QString, QPointer<QAction> > mSecondaryMainWindowsActions;
181 VisServicesPtr mServices;
182 void createActionForWidgetInSeparateWindow(QWidget *widget);
boost::shared_ptr< class VisServices > VisServicesPtr
This is the main gui class which controls the workflow.
boost::shared_ptr< class LayoutInteractor > LayoutInteractorPtr
boost::shared_ptr< class ProcessWrapper > ProcessWrapperPtr
Namespace for all CustusX production code.