| 75 | } |
| 76 | |
| 77 | void MainWindow::setupViews() |
| 78 | { |
| 79 | m_chart = new Chart(); |
| 80 | |
| 81 | m_tableView = new QTableView; |
| 82 | |
| 83 | auto *splitter = new QSplitter(Qt::Vertical); |
| 84 | splitter->addWidget(m_tableView); |
| 85 | splitter->addWidget(m_chart); |
| 86 | splitter->setStretchFactor(0, 0); |
| 87 | splitter->setStretchFactor(1, 1); |
| 88 | |
| 89 | // Set up the diagram |
| 90 | m_diagramView = new BarDiagram(); |
| 91 | |
| 92 | DatasetDescriptionVector columnConfig(m_model->columnCount() - 1); |
| 93 | for (int iC = 1; iC <= columnConfig.size(); ++iC) |
| 94 | columnConfig[iC - 1] = iC; |
| 95 | |
| 96 | qDebug() << "(" << m_model->rowCount() << "," << m_model->columnCount() << ")"; |
| 97 | |
| 98 | auto *dproxy = new KDChart::DatasetProxyModel(this); |
| 99 | dproxy->setSourceModel(m_model); |
| 100 | dproxy->setDatasetColumnDescriptionVector(columnConfig); |
| 101 | m_diagramView->setModel(dproxy); |
| 102 | |
| 103 | auto *headerFooter = new KDChart::HeaderFooter(m_chart); |
| 104 | headerFooter->setText(tr("You can edit the table data, or select table cells with keyboard/mouse.")); |
| 105 | headerFooter->setType(HeaderFooter::Header); |
| 106 | headerFooter->setPosition(Position::North); |
| 107 | m_chart->addHeaderFooter(headerFooter); |
| 108 | m_chart->coordinatePlane()->replaceDiagram(m_diagramView); |
| 109 | |
| 110 | m_tableView->setModel(m_model); |
| 111 | |
| 112 | m_selectionModel = new QItemSelectionModel(m_model); |
| 113 | m_tableView->setSelectionModel(m_selectionModel); |
| 114 | |
| 115 | setCentralWidget(splitter); |
| 116 | } |
| 117 | |
| 118 | void MainWindow::itemClicked(const QModelIndex &index) |
| 119 | { |
nothing calls this directly
no test coverage detected