Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkImageStatisticsWidget.cpp
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 
14 
17 
18 #include <QSortFilterProxyModel>
19 #include <QClipboard>
20 
22 {
23  m_Controls.setupUi(this);
24  m_imageStatisticsModel = new QmitkImageStatisticsTreeModel(parent);
25  CreateConnections();
26  m_ProxyModel = new QSortFilterProxyModel(this);
27  m_Controls.treeViewStatistics->setEnabled(false);
28  m_Controls.treeViewStatistics->setModel(m_ProxyModel);
29  m_ProxyModel->setSourceModel(m_imageStatisticsModel);
30  connect(m_imageStatisticsModel, &QmitkImageStatisticsTreeModel::dataAvailable, this, &QmitkImageStatisticsWidget::OnDataAvailable);
31  connect(m_imageStatisticsModel,
33  m_Controls.treeViewStatistics,
34  &QTreeView::expandAll);
35 }
36 
38 {
39  m_imageStatisticsModel->SetDataStorage(newDataStorage);
40 }
41 
42 void QmitkImageStatisticsWidget::SetImageNodes(const std::vector<mitk::DataNode::ConstPointer>& nodes)
43 {
44  m_imageStatisticsModel->SetImageNodes(nodes);
45 }
46 
47 void QmitkImageStatisticsWidget::SetMaskNodes(const std::vector<mitk::DataNode::ConstPointer>& nodes)
48 {
49  m_imageStatisticsModel->SetMaskNodes(nodes);
50 }
51 
53 {
54  m_imageStatisticsModel->Clear();
55  m_Controls.treeViewStatistics->setEnabled(false);
56  m_Controls.buttonCopyImageStatisticsToClipboard->setEnabled(false);
57 }
58 
59 void QmitkImageStatisticsWidget::CreateConnections()
60 {
61  connect(m_Controls.buttonCopyImageStatisticsToClipboard, &QPushButton::clicked, this, &QmitkImageStatisticsWidget::OnClipboardButtonClicked);
62 }
63 
64 void QmitkImageStatisticsWidget::OnDataAvailable()
65 {
66  m_Controls.buttonCopyImageStatisticsToClipboard->setEnabled(true);
67  m_Controls.treeViewStatistics->setEnabled(true);
68 }
69 
70 void QmitkImageStatisticsWidget::OnClipboardButtonClicked()
71 {
73  converter.SetTableModel(m_imageStatisticsModel);
74  converter.SetRootIndex(m_Controls.treeViewStatistics->rootIndex());
75  converter.SetIncludeHeaderData(true);
76 
77  QString clipboardAsString = converter.GetString();
78  QApplication::clipboard()->setText(clipboardAsString, QClipboard::Clipboard);
79 }
Data management class that handles &#39;was created by&#39; relations.
QmitkImageStatisticsWidget(QWidget *parent=nullptr)
void SetDataStorage(mitk::DataStorage *dataStorage)
void SetMaskNodes(const std::vector< mitk::DataNode::ConstPointer > &nodes)
void SetDataStorage(mitk::DataStorage *newDataStorage)
Converts the content of the statistics model to a string.
void SetImageNodes(const std::vector< mitk::DataNode::ConstPointer > &nodes)
void SetMaskNodes(const std::vector< mitk::DataNode::ConstPointer > &nodes)
void SetImageNodes(const std::vector< mitk::DataNode::ConstPointer > &nodes)
void SetIncludeHeaderData(bool includeHeaderData)
If header data (column/row captions) are exported.