Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
QmitkBoundingObjectWidget.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 #ifndef QmitkBoundingObjectWidget_h
14 #define QmitkBoundingObjectWidget_h
15 
16 // includes
18 #include <QComboBox>
19 #include <QPushButton>
20 #include <QTreeWidget>
21 #include <mitkBoundingObject.h>
23 #include <mitkDataNode.h>
24 #include <mitkDataStorage.h>
25 #include <QWidget>
26 
28 {
29  Q_OBJECT
30 
31 public:
32  QmitkBoundingObjectWidget(QWidget *parent = nullptr, Qt::WindowFlags f = {});
34 
35  void SetDataStorage(mitk::DataStorage *dataStorage);
37  mitk::BoundingObject::Pointer GetSelectedBoundingObject();
38  mitk::DataNode::Pointer GetSelectedBoundingObjectNode();
39 
40  mitk::DataNode::Pointer GetAllBoundingObjects();
41 
42  void setEnabled(bool flag);
43 
44  void OnBoundingObjectModified(const itk::EventObject &e);
45 
47 
48 signals:
49  // signal when bo has changed
51 
52 protected slots:
53  void CreateBoundingObject(int type);
56  void OnItemDoubleClicked(QTreeWidgetItem *item, int col);
57  void OnItemDataChanged(QTreeWidgetItem *item, int col);
58 
59 protected:
60  void AddItem(mitk::DataNode *node);
61  void RemoveItem();
62 
64  QTreeWidget *m_TreeWidget;
65  QComboBox *m_addComboBox;
66  QPushButton *m_DelButton;
67  QPushButton *m_SaveButton;
68  QPushButton *m_LoadButton;
69  QTreeWidgetItem *m_lastSelectedItem;
70  unsigned long m_lastAffineObserver;
71 
72  typedef std::map<QTreeWidgetItem *, mitk::DataNode *> ItemNodeMapType;
74 
76 
78  {
83  };
84 };
85 #endif
#define MITKQTWIDGETSEXT_EXPORT
mitk::BoundingObject::Pointer GetSelectedBoundingObject()
void setEnabled(bool flag)
void CreateBoundingObject(int type)
void AddItem(mitk::DataNode *node)
QmitkBoundingObjectWidget(QWidget *parent=nullptr, Qt::WindowFlags f={})
mitk::DataStorage * GetDataStorage()
void OnBoundingObjectModified(const itk::EventObject &e)
~QmitkBoundingObjectWidget() override
void SetDataStorage(mitk::DataStorage *dataStorage)
mitk::DataNode::Pointer GetSelectedBoundingObjectNode()
void OnItemDataChanged(QTreeWidgetItem *item, int col)
void OnItemDoubleClicked(QTreeWidgetItem *item, int col)
std::map< QTreeWidgetItem *, mitk::DataNode * > ItemNodeMapType
mitk::DataNode::Pointer GetAllBoundingObjects()
Class for nodes of the DataTree.
Definition: mitkDataNode.h:64
Data management class that handles 'was created by' relations.