Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkNodeSelectionButton.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 
14 #ifndef QMITK_NODE_SELECTION_BUTTON_H
15 #define QMITK_NODE_SELECTION_BUTTON_H
16 
17 #include <mitkWeakPointer.h>
18 #include <mitkDataNode.h>
19 
21 
22 #include "QPushButton"
23 #include "QPixmap"
24 
25 
30 class MITK_QT_COMMON QmitkNodeSelectionButton : public QPushButton
31 {
32  Q_OBJECT
33 
34 public:
35  explicit QmitkNodeSelectionButton(QWidget *parent = nullptr);
36  ~QmitkNodeSelectionButton() override;
37 
38  const mitk::DataNode* GetSelectedNode() const;
39  bool GetSelectionIsOptional() const;
40 
41 public Q_SLOTS :
42  virtual void SetSelectedNode(const mitk::DataNode* node);
43  virtual void SetNodeInfo(QString info);
44 
49  void SetSelectionIsOptional(bool isOptional);
50 
51 protected:
52  void paintEvent(QPaintEvent *p) override;
53  void changeEvent(QEvent *event) override;
54 
55  void AddNodeObserver();
56  void RemoveNodeObserver();
57  void OnNodeModified(const itk::Object * /*caller*/, const itk::EventObject &);
58 
60  QString m_Info;
62  QPixmap m_ThumbNail;
63  itk::ModifiedTimeType m_DataMTime;
64  itk::ModifiedTimeType m_SelectionPropMTime;
65 
67 
70 };
71 
72 
73 #endif // QmitkSingleNodeSelectionWidget_H
itk::ModifiedTimeType m_SelectionPropMTime
itk::ModifiedTimeType m_DataMTime
static void info(const char *fmt,...)
Definition: svm.cpp:86
mitk::DataNode::ConstPointer m_SelectedNode
#define MITK_QT_COMMON
Class for nodes of the DataTree.
Definition: mitkDataNode.h:57