diff --git a/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsWidget.cpp b/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsWidget.cpp index fccfc2a93b..8c4625a82c 100644 --- a/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsWidget.cpp +++ b/Modules/ImageStatisticsUI/Qmitk/QmitkImageStatisticsWidget.cpp @@ -1,82 +1,92 @@ /*=================================================================== The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center, Division of Medical and Biological Informatics. All rights reserved. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE.txt or http://www.mitk.org for details. ===================================================================*/ #include "QmitkImageStatisticsWidget.h" +#include "QmitkTableModelToStringConverter.h" + #include +#include QmitkImageStatisticsWidget::QmitkImageStatisticsWidget(QWidget* parent) : QWidget(parent) { m_Controls.setupUi(this); m_imageStatisticsModel = new QmitkImageStatisticsTableModel(parent); m_Controls.checkBox4dCompleteTable->setVisible(false); CreateConnections(); } void QmitkImageStatisticsWidget::SetStatistics(const std::vector& sc) { m_imageStatisticsModel->SetStatistics(sc); QSortFilterProxyModel *proxyModel = new QSortFilterProxyModel(this); proxyModel->setSourceModel(m_imageStatisticsModel); m_Controls.tableViewStatistics->setModel(proxyModel); m_Controls.tableViewStatistics->resizeColumnsToContents(); m_Controls.tableViewStatistics->resizeRowsToContents(); EnableAllGUIElements(); } void QmitkImageStatisticsWidget::SetImageNodes(const std::vector& nodes) { m_imageStatisticsModel->SetImageNodes(nodes); } void QmitkImageStatisticsWidget::SetMaskNodes(const std::vector& nodes) { m_imageStatisticsModel->SetMaskNodes(nodes); } void QmitkImageStatisticsWidget::Reset() { DisableAllGUIElements(); m_imageStatisticsModel->Clear(); } void QmitkImageStatisticsWidget::CreateConnections() { connect(m_Controls.buttonCopyImageStatisticsToClipboard, &QPushButton::clicked, this, &QmitkImageStatisticsWidget::OnClipboardButtonClicked); } void QmitkImageStatisticsWidget::EnableAllGUIElements() { this->setEnabled(true); - //temporarily disabled because clipboard functionality is not implemented yet - //m_Controls.buttonCopyImageStatisticsToClipboard->setEnabled(true); + m_Controls.buttonCopyImageStatisticsToClipboard->setEnabled(true); + //temporarily disabled because 4D clipboard functionality is not implemented yet //m_Controls.checkBox4dCompleteTable->setEnabled(true); m_Controls.tableViewStatistics->setEnabled(true); m_Controls.groupBoxStatistics->setEnabled(true); } void QmitkImageStatisticsWidget::DisableAllGUIElements() { this->setEnabled(false); m_Controls.buttonCopyImageStatisticsToClipboard->setEnabled(false); m_Controls.checkBox4dCompleteTable->setEnabled(false); m_Controls.tableViewStatistics->setEnabled(false); m_Controls.groupBoxStatistics->setEnabled(false); } void QmitkImageStatisticsWidget::OnClipboardButtonClicked() { + QmitkTableModelToStringConverter converter; + converter.SetTableModel(m_imageStatisticsModel); + converter.SetIncludeHeaderData(true); + converter.SetColumnDelimiter('\t'); + + QString clipboardAsString = converter.GetString(); + QApplication::clipboard()->setText(clipboardAsString, QClipboard::Clipboard); }