NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkBaseView.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 niftkBaseView_h
16 #define niftkBaseView_h
17 
18 #include <uk_ac_ucl_cmic_common_Export.h>
19 
20 #include <mitkDataNode.h>
21 #include <mitkILifecycleAwarePart.h>
22 #include <QmitkAbstractView.h>
23 
24 #include <niftkIBaseView.h>
26 
27 namespace mitk
28 {
29 class DataNode;
30 class SliceNavigationController;
31 class BaseRenderer;
32 }
33 
34 
35 namespace niftk
36 {
37 
38 class BaseViewPrivate;
39 
47 class COMMON_EXPORT BaseView
48  : public QmitkAbstractView,
49  public virtual IBaseView,
51  public mitk::ILifecycleAwarePart
52 {
53  Q_OBJECT
54 
55 public:
56 
57  typedef QmitkAbstractView SuperClass;
58 
59  explicit BaseView();
60  virtual ~BaseView();
61 
66  virtual void onVisibilityChanged(const mitk::DataNode* node) override;
67 
71  virtual void OnFocusChanged();
72 
77  virtual bool IsExclusiveFunctionality() const;
78 
84  virtual bool IsActivated();
85 
91  virtual bool IsVisible();
92 
96  mitk::DataStorage::Pointer GetDataStorage() const override;
97 
104  virtual void SetCurrentSelection(mitk::DataNode::Pointer dataNode) override;
105 
107  virtual void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList<mitk::DataNode::Pointer> &nodes) override;
108 
114  virtual QmitkRenderWindow* GetRenderWindow(QString id);
115 
120  virtual QmitkRenderWindow* GetSelectedRenderWindow() const override;
121 
123  virtual bool IsActiveEditorCursorVisible() const override;
124 
126  virtual void SetActiveEditorCursorVisible(bool visible) const override;
127 
131  virtual void RequestRenderWindowUpdate(mitk::RenderingManager::RequestType requestType = mitk::RenderingManager::REQUEST_UPDATE_ALL) override;
132 
136  QList<mitk::DataNode::Pointer> GetDataManagerSelection() const override;
137 
142  virtual void FireNodeSelected(mitk::DataNode::Pointer node) override;
143 
146  virtual mitk::SliceNavigationController* GetSliceNavigationController() override;
147 
149  virtual void FocusOnCurrentWindow() const override;
150 
152  virtual mitk::Point3D GetSelectedPosition() const override;
153 
155  virtual void SetSelectedPosition(const mitk::Point3D& selectedPosition) override;
156 
157 protected:
158 
162  virtual void Activated() override;
163 
167  virtual void Deactivated() override;
168 
172  virtual void Visible() override;
173 
177  virtual void Hidden() override;
178 
184  virtual QWidget* GetParent();
185 
191  virtual void SetParent(QWidget*);
192 
197  void SetViewToCoordinate(const mitk::Point3D &coordinate);
198 
199 private:
200 
201  void onNodeAddedInternal(const mitk::DataNode*);
202  void onNodeRemovedInternal(const mitk::DataNode*);
203 
204  QScopedPointer<BaseViewPrivate> d_ptr;
205 
206  Q_DECLARE_PRIVATE(BaseView);
207  Q_DISABLE_COPY(BaseView);
208 };
209 
210 }
211 
212 #endif
Definition: ReceptorMemberCommandTest.cxx:25
Public interface to QmitkBaseView.
Definition: niftkIBaseView.h:39
Base view component for plugins listening to visibility change events, focus changed events and so on...
Definition: niftkBaseView.h:47
Definition: niftkVisibilityChangeObserver.h:26
QmitkAbstractView SuperClass
Definition: niftkBaseView.h:57
Definition: niftkExceptionObject.h:21