NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkMultiViewerEditor.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkMultiViewerEditor_h
16 #define niftkMultiViewerEditor_h
17 
18 #include <berryQtEditorPart.h>
19 #include <berryIPartListener.h>
20 #include <berryIPreferences.h>
21 
22 #include <berryIPreferencesService.h>
23 #include <berryIBerryPreferences.h>
24 #include <berryISelection.h>
25 #include <berryISelectionProvider.h>
26 #include <berryISelectionListener.h>
27 
28 #include <mitkILinkedRenderWindowPart.h>
29 
30 #include <QmitkAbstractRenderEditor.h>
31 #include <mitkDataStorage.h>
32 #include <mitkRenderingManager.h>
33 #include <mitkIRenderingManager.h>
34 
35 #include <uk_ac_ucl_cmic_dnddisplay_Export.h>
36 
37 
38 namespace mitk
39 {
40 class DataNode;
41 }
42 
43 class QmitkRenderWindow;
44 
45 namespace niftk
46 {
47 
61 class MultiViewerEditorPrivate;
62 class MultiViewerWidget;
63 
64 class DNDDISPLAY_EXPORT MultiViewerEditor :
65  public QmitkAbstractRenderEditor, public mitk::ILinkedRenderWindowPart
66 {
67  Q_OBJECT
68 
69 public:
70 
71  berryObjectMacro(MultiViewerEditor)
72 
75 
76  static const QString EDITOR_ID;
77 
79  MultiViewerWidget* GetMultiViewer();
80 
81  // ------------------- mitk::IRenderWindowPart ----------------------
82 
86  virtual QmitkRenderWindow* GetActiveQmitkRenderWindow() const;
87 
91  virtual QHash<QString,QmitkRenderWindow*> GetQmitkRenderWindows() const;
92 
96  virtual QmitkRenderWindow* GetQmitkRenderWindow(const QString& id) const;
97 
101  virtual mitk::Point3D GetSelectedPosition(const QString& id = QString()) const;
102 
106  virtual void SetSelectedPosition(const mitk::Point3D& position, const QString& id = QString());
107 
111  virtual void EnableDecorations(bool enable, const QStringList& decorations = QStringList());
112 
116  virtual bool IsDecorationEnabled(const QString& decoration) const;
117 
121  virtual QStringList GetDecorations() const;
122 
129  virtual mitk::IRenderingManager* GetRenderingManager() const;
130 
131  // ------------------- mitk::ILinkedRenderWindowPart ----------------------
132 
136  mitk::SlicesRotator* GetSlicesRotator() const;
137 
141  mitk::SlicesSwiveller* GetSlicesSwiveller() const;
142 
146  void EnableSlicingPlanes(bool enable);
147 
151  bool IsSlicingPlanesEnabled() const;
152 
156  void EnableLinkedNavigation(bool enable);
157 
161  bool IsLinkedNavigationEnabled() const;
162 
163 protected:
164 
166  virtual void SetFocus();
167 
169  virtual void OnPreferencesChanged(const berry::IBerryPreferences*);
170 
172  virtual void CreateQtPartControl(QWidget* parent);
173 
174 private slots:
175 
176  void ProcessCommandLineArguments();
177 
178 private:
179 
180  const QScopedPointer<MultiViewerEditorPrivate> d;
181 
183 };
184 
185 }
186 
187 #endif
GLboolean enable
Definition: glew.h:2642
static const QString EDITOR_ID
Definition: niftkMultiViewerEditor.h:76
Definition: ReceptorMemberCommandTest.cxx:25
Provides up to 5 x 5 image viewing panes, arranged as rows and columns.
Definition: niftkMultiViewerWidget.h:70
Definition: niftkMultiViewerEditor.cxx:44
Provides a display with with multiple image viewers on up to 5 x 5 panes of equal size in a grid layo...
Definition: niftkMultiViewerEditor.h:64
Definition: niftkExceptionObject.h:21