Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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_INCLUDED
14 #define _QMITKBOUNDINGOBJECTWIDGET_H_INCLUDED
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.h>
26 
28 {
29  Q_OBJECT
30 
31 public:
32  QmitkBoundingObjectWidget(QWidget *parent = nullptr, Qt::WindowFlags f = nullptr);
33  ~QmitkBoundingObjectWidget() override;
34 
35  void SetDataStorage(mitk::DataStorage *dataStorage);
36  mitk::DataStorage *GetDataStorage();
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 
46  void RemoveAllItems();
47 
48 signals:
49  // signal when bo has changed
50  void BoundingObjectsChanged();
51 
52 protected slots:
53  void CreateBoundingObject(int type);
54  void OnDelButtonClicked();
55  void SelectionChanged();
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;
73  ItemNodeMapType m_ItemNodeMap;
74 
76 
78  {
83  };
84 };
85 #endif
std::map< QTreeWidgetItem *, mitk::DataNode * > ItemNodeMapType
Data management class that handles &#39;was created by&#39; relations.
#define MITKQTWIDGETSEXT_EXPORT
Class for nodes of the DataTree.
Definition: mitkDataNode.h:57