Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qSlicerTerminologySelectorDialog.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
6  Queen's University, Kingston, ON, Canada. All Rights Reserved.
7 
8  See COPYRIGHT.txt
9  or http://www.slicer.org/copyright/copyright.txt for details.
10 
11  Unless required by applicable law or agreed to in writing, software
12  distributed under the License is distributed on an "AS IS" BASIS,
13  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  See the License for the specific language governing permissions and
15  limitations under the License.
16 
17  This file was originally developed by Csaba Pinter, PerkLab, Queen's University
18  and was supported through the Applied Cancer Research Unit program of Cancer Care
19  Ontario with funds provided by the Ontario Ministry of Health and Long-Term Care
20 
21 ==============================================================================*/
22 
23 #ifndef __qSlicerTerminologySelectorDialog_h
24 #define __qSlicerTerminologySelectorDialog_h
25 
26 // Qt includes
27 #include <QObject>
28 
29 // Terminologies includes
30 #include "qSlicerTerminologiesModuleWidgetsExport.h"
31 
33 
34 class qSlicerTerminologySelectorDialogPrivate;
36 
39 class Q_SLICER_MODULE_TERMINOLOGIES_WIDGETS_EXPORT qSlicerTerminologySelectorDialog : public QObject
40 {
41 public:
42  Q_OBJECT
43  Q_PROPERTY(bool overrideSectionVisible READ overrideSectionVisible WRITE setOverrideSectionVisible)
44 
45 public:
46  typedef QObject Superclass;
47  qSlicerTerminologySelectorDialog(QObject* parent = nullptr);
48 #ifndef __VTK_WRAP__
50  qSlicerTerminologyNavigatorWidget::TerminologyInfoBundle &initialTerminologyInfo, QObject* parent = nullptr );
51 #endif
53 
54 public:
55 #ifndef __VTK_WRAP__
56  static bool getTerminology(
62  qSlicerTerminologyNavigatorWidget::TerminologyInfoBundle &terminologyInfo, QObject* parent );
63 
65  void terminologyInfo(qSlicerTerminologyNavigatorWidget::TerminologyInfoBundle &terminologyInfo);
66 #endif
67 
72  static bool getTerminology(vtkSlicerTerminologyEntry* terminologyEntry, QObject* parent);
73 
75  bool overrideSectionVisible() const;
76 
80  virtual bool exec();
81 
83  Q_INVOKABLE bool execDialog() { return this->exec(); };
84 
85 protected slots:
86  void setSelectButtonEnabled(bool);
87 
89  void setOverrideSectionVisible(bool);
90 
91 protected:
92  QScopedPointer<qSlicerTerminologySelectorDialogPrivate> d_ptr;
93 
94 private:
95  Q_DECLARE_PRIVATE(qSlicerTerminologySelectorDialog);
96  Q_DISABLE_COPY(qSlicerTerminologySelectorDialog);
97 };
98 
99 #endif
Q_INVOKABLE bool execDialog()
Python compatibility function for showing dialog (calls exec)
QScopedPointer< qSlicerTerminologySelectorDialogPrivate > d_ptr
Qt dialog for selecting a terminology entry.