Index: mitk/Modules/QmitkExt/QmitkVtkHistogramWidget.cpp =================================================================== --- mitk/Modules/QmitkExt/QmitkVtkHistogramWidget.cpp (revision 21768) +++ mitk/Modules/QmitkExt/QmitkVtkHistogramWidget.cpp (working copy) @@ -36,8 +36,9 @@ #include #include #include +#include +#include - //#include QmitkVtkHistogramWidget::QmitkVtkHistogramWidget( QWidget *parent ) @@ -75,6 +76,13 @@ m_BarChart = new vtkQtBarChart(); area->insertLayer( area->getAxisLayerIndex(), m_BarChart ); + // Set up the legend. + vtkQtChartLegend *legend = new vtkQtChartLegend(); + vtkQtChartLegendManager *manager = new vtkQtChartLegendManager(legend); + manager->setChartLegend(legend); + manager->setChartArea(area); + m_ChartWidget->setLegend(legend); + // Set up the default interactor. vtkQtChartMouseSelection *selector = vtkQtChartInteractorSetup::createDefault( area ); @@ -98,9 +106,78 @@ yAxis->getOptions()->setNotation( vtkQtChartAxisOptions::Standard ); // Set up the model for the bar chart. - m_ItemModel = new QStandardItemModel( m_BarChart ); + m_ItemModel = new QStandardItemModel( 9, 2, m_BarChart ); m_ItemModel->setItemPrototype( new QStandardItem() ); m_ItemModel->setHorizontalHeaderItem( 0, new QStandardItem("Histogram") ); + + m_ItemModel->setVerticalHeaderItem(0, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(1, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(2, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(3, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(4, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(5, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(6, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(7, new QStandardItem()); + m_ItemModel->setVerticalHeaderItem(8, new QStandardItem()); + m_ItemModel->verticalHeaderItem(0)->setData(QVariant((int)0), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(1)->setData(QVariant((int)10), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(2)->setData(QVariant((int)20), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(3)->setData(QVariant((int)30), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(4)->setData(QVariant((int)40), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(5)->setData(QVariant((int)50), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(6)->setData(QVariant((int)60), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(7)->setData(QVariant((int)70), Qt::DisplayRole); + m_ItemModel->verticalHeaderItem(8)->setData(QVariant((int)80), Qt::DisplayRole); + + m_ItemModel->setHorizontalHeaderItem(0, new QStandardItem("series 1")); + m_ItemModel->setHorizontalHeaderItem(1, new QStandardItem("series 2")); + + m_ItemModel->setItem(0, 0, new QStandardItem()); + m_ItemModel->setItem(1, 0, new QStandardItem()); + m_ItemModel->setItem(2, 0, new QStandardItem()); + m_ItemModel->setItem(3, 0, new QStandardItem()); + m_ItemModel->setItem(4, 0, new QStandardItem()); + m_ItemModel->setItem(5, 0, new QStandardItem()); + m_ItemModel->setItem(6, 0, new QStandardItem()); + m_ItemModel->setItem(7, 0, new QStandardItem()); + m_ItemModel->setItem(8, 0, new QStandardItem()); + m_ItemModel->item(0, 0)->setData(1.35, Qt::DisplayRole); + m_ItemModel->item(1, 0)->setData(1.40, Qt::DisplayRole); + m_ItemModel->item(2, 0)->setData(1.60, Qt::DisplayRole); + m_ItemModel->item(3, 0)->setData(2.00, Qt::DisplayRole); + m_ItemModel->item(4, 0)->setData(1.50, Qt::DisplayRole); + m_ItemModel->item(5, 0)->setData(1.80, Qt::DisplayRole); + m_ItemModel->item(6, 0)->setData(1.40, Qt::DisplayRole); + m_ItemModel->item(7, 0)->setData(1.30, Qt::DisplayRole); + m_ItemModel->item(8, 0)->setData(1.20, Qt::DisplayRole); + + m_ItemModel->setItem(0, 1, new QStandardItem()); + m_ItemModel->setItem(1, 1, new QStandardItem()); + m_ItemModel->setItem(2, 1, new QStandardItem()); + m_ItemModel->setItem(3, 1, new QStandardItem()); + m_ItemModel->setItem(4, 1, new QStandardItem()); + m_ItemModel->setItem(5, 1, new QStandardItem()); + m_ItemModel->setItem(6, 1, new QStandardItem()); + m_ItemModel->setItem(7, 1, new QStandardItem()); + m_ItemModel->setItem(8, 1, new QStandardItem()); + m_ItemModel->item(0, 1)->setData(1.65, Qt::DisplayRole); + m_ItemModel->item(1, 1)->setData(1.60, Qt::DisplayRole); + m_ItemModel->item(2, 1)->setData(1.40, Qt::DisplayRole); + m_ItemModel->item(3, 1)->setData(1.00, Qt::DisplayRole); + m_ItemModel->item(4, 1)->setData(1.50, Qt::DisplayRole); + m_ItemModel->item(5, 1)->setData(1.20, Qt::DisplayRole); + m_ItemModel->item(6, 1)->setData(1.60, Qt::DisplayRole); + m_ItemModel->item(7, 1)->setData(1.70, Qt::DisplayRole); + m_ItemModel->item(8, 1)->setData(1.80, Qt::DisplayRole); + + MITK_INFO << "HALLO"; + + vtkQtChartTableSeriesModel *table = + new vtkQtChartTableSeriesModel( m_ItemModel, m_BarChart ); + m_BarChart->setModel( table ); + + m_ChartWidget->show(); + } @@ -213,19 +290,12 @@ m_ItemModel->setItem( i, 0, new QStandardItem() ); m_ItemModel->item( i, 0 )->setData( frequency, Qt::DisplayRole ); } - - vtkQtChartTableSeriesModel *table = - new vtkQtChartTableSeriesModel( m_ItemModel, m_BarChart ); - m_BarChart->setModel( table ); } void QmitkVtkHistogramWidget::ClearItemModel() { m_ItemModel->setRowCount( 0 ); - vtkQtChartTableSeriesModel *table = - new vtkQtChartTableSeriesModel( m_ItemModel, m_BarChart ); - m_BarChart->setModel( table ); }