12 #ifndef CXMAINWINDOW_H_ 13 #define CXMAINWINDOW_H_ 15 #include "cxGuiExport.h" 17 #include <QMainWindow> 20 #include "boost/shared_ptr.hpp" 34 class GUIExtenderService;
36 class DynamicMainWindowWidgets;
37 class MainWindowActions;
63 virtual QMenu* createPopupMenu();
66 void patientChangedSlot();
71 void preferencesSlot();
72 void toggleFullScreenSlot();
74 void showControlPanelActionSlot();
75 void showSecondaryViewLayoutWindowActionSlot();
78 void onApplicationStateChangedSlot();
81 void onWorkflowStateChangedSlot();
82 void saveDesktopSlot();
83 void resetDesktopSlot();
86 void onShowContextSentitiveHelp();
88 void dockWidgetVisibilityChanged(
bool val);
89 void focusChanged(QWidget * old, QWidget * now);
96 void changeEvent(QEvent * event);
99 void focusInsideDockWidget(QObject* dockWidget);
100 LayoutInteractorPtr mLayoutInteractor;
101 void updateWindowTitle();
102 void createActions();
104 void createToolBars();
106 QToolBar *registerToolBar(QString name, QString groupname=
"Toolbars");
107 void setupGUIExtenders();
109 void closeEvent(QCloseEvent *event);
110 QDockWidget* addAsDockWidget(QWidget* widget, QString groupname);
114 QMenu* mWorkflowMenu;
117 QMenu* mNavigationMenu;
119 QAction* mHelpMenuAction;
122 QAction* mAboutAction;
123 QAction* mPreferencesAction;
124 QAction* mFullScreenAction;
125 QAction* mQuitAction;
127 QAction* mShowControlPanelAction;
128 QAction* mSecondaryViewLayoutWindowAction;
130 QActionGroup* mStandard3DViewActions;
132 QAction* mShowContextSensitiveHelpAction;
133 QActionGroup* mInteractorStyleActionGroup;
136 QAction* mSaveDesktopAction;
137 QAction* mResetDesktopAction;
140 QToolBar* mDataToolBar;
141 QToolBar* mToolToolBar;
142 QToolBar* mNavigationToolBar;
143 QToolBar* mInteractorStyleToolBar;
144 QToolBar* mWorkflowToolBar;
145 QToolBar* mDesktopToolBar;
146 QToolBar* mHelpToolBar;
147 QToolBar* mScreenshotToolBar;
149 boost::shared_ptr<ServiceTrackerListener<GUIExtenderService> > mServiceListener;
152 QPointer<class SecondaryMainWindow> mControlPanel;
153 QPointer<class SecondaryViewLayoutWindow> mSecondaryViewLayoutWindow;
154 QMap<QString, QPointer<class SecondaryMainWindow> > mSecondaryMainWindows;
155 QMap<QString, QPointer<QAction> > mSecondaryMainWindowsActions;
160 VisServicesPtr mServices;
161 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.