NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkMultiViewerControls.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 niftkMultiViewerControls_p_h
16 #define niftkMultiViewerControls_p_h
17 
18 #include <QWidget>
19 
20 #include <niftkDnDDisplayExports.h>
21 
22 #include "niftkDnDDisplayEnums.h"
24 
25 #include "ui_niftkMultiViewerControls.h"
26 
27 
28 namespace niftk
29 {
30 
35 class NIFTKDNDDISPLAY_EXPORT MultiViewerControls : public SingleViewerControls, private Ui_niftkMultiViewerControls
36 {
37  Q_OBJECT
38 
39 public:
40 
42  explicit MultiViewerControls(QWidget *parent = 0);
43 
45  virtual ~MultiViewerControls();
46 
48  bool AreViewerNumberControlsVisible() const;
49 
51  void SetViewerNumberControlsVisible(bool visible);
52 
54  bool AreDropTypeControlsVisible() const;
55 
57  void SetDropTypeControlsVisible(bool visible);
58 
60  bool AreSingleViewerControlsEnabled() const;
61 
63  void SetSingleViewerControlsEnabled(bool enabled);
64 
66  bool AreMultiViewerControlsEnabled() const;
67 
69  void SetMultiViewerControlsEnabled(bool enabled);
70 
72  int GetViewerRows() const;
73 
75  int GetViewerColumns() const;
76 
78  void SetViewerNumber(int rows, int columns);
79 
81  int GetMaxViewerRows() const;
82 
84  int GetMaxViewerColumns() const;
85 
87  void SetMaxViewerNumber(int rows, int columns);
88 
90  bool AreViewerPositionsBound() const;
91 
93  void SetViewerPositionsBound(bool bound);
94 
96  bool AreViewerCursorsBound() const;
97 
99  void SetViewerCursorsBound(bool bound);
100 
102  bool AreViewerMagnificationsBound() const;
103 
105  void SetViewerMagnificationsBound(bool bound);
106 
108  bool AreViewerWindowLayoutsBound() const;
109 
111  void SetViewerWindowLayoutsBound(bool bound);
112 
114  bool AreViewerGeometriesBound() const;
115 
117  void SetViewerGeometriesBound(bool bound);
118 
120  DnDDisplayDropType GetDropType() const;
121 
123  void SetDropType(DnDDisplayDropType dropType);
124 
125 signals:
126 
128  void ViewerNumberChanged(int rows, int columns);
129 
131  void ViewerPositionBindingChanged(bool bound);
132 
134  void ViewerCursorBindingChanged(bool bound);
135 
137  void ViewerMagnificationBindingChanged(bool bound);
138 
140  void ViewerWindowLayoutBindingChanged(bool bound);
141 
143  void ViewerGeometryBindingChanged(bool bound);
144 
146  void DropTypeChanged(DnDDisplayDropType dropType);
147 
149  void DropAccumulateChanged(bool accumulate);
150 
151 private slots:
152 
153  void On1x1ViewerButtonClicked();
154  void On1x2ViewersButtonClicked();
155  void On1x3ViewersButtonClicked();
156  void On2x1ViewersButtonClicked();
157  void On2x2ViewersButtonClicked();
158  void On2x3ViewersButtonClicked();
159  void OnViewerRowsSpinBoxValueChanged(int rows);
160  void OnViewerColumnsSpinBoxValueChanged(int columns);
161 
162  void OnViewerPositionBindingChanged(bool bound);
163  void OnViewerCursorBindingChanged(bool bound);
164  void OnViewerWindowLayoutBindingChanged(bool bound);
165 
166  void OnDropSingleRadioButtonToggled(bool bound);
167  void OnDropMultipleRadioButtonToggled(bool bound);
168  void OnDropThumbnailRadioButtonToggled(bool bound);
169 
170 private:
171 
172  bool m_ShowViewerNumberControls;
173  bool m_ShowDropTypeControls;
174 };
175 
176 }
177 
178 #endif
DnDDisplayDropType
Describes the different modes that can be used when drag and dropping into the DnD Display window...
Definition: niftkDnDDisplayEnums.h:163
GLenum GLsizei const GLuint GLboolean enabled
Definition: glew.h:2537
Control panel for the DnD display.
Definition: niftkMultiViewerControls.h:35
Control panel for the DnD display.
Definition: niftkSingleViewerControls.h:38
Definition: niftkExceptionObject.h:21