mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
statistics: implement a statistics widget on desktop
Implement a widget that shows the statistics state as comboboxes and the statistics chart. Calls into the statistics code if any of the comboboxes changes. The hardest part here is the formatting of the charts list with its icons and with headings. Sadly, it is not trivial to arrange icons horizontally. Therefore we would have to fully reimplement the ComboBox view, which is probably not fun. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
319a7af31a
commit
165dce4a0e
3 changed files with 377 additions and 0 deletions
38
desktop-widgets/statswidget.h
Normal file
38
desktop-widgets/statswidget.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#ifndef STATSWIDGET_H
|
||||
#define STATSWIDGET_H
|
||||
|
||||
#include "stats/statsstate.h"
|
||||
#include "stats/chartlistmodel.h"
|
||||
#include "ui_statswidget.h"
|
||||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
class QCheckBox;
|
||||
|
||||
class StatsWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
StatsWidget(QWidget *parent = 0);
|
||||
private
|
||||
slots:
|
||||
void closeStats();
|
||||
void chartTypeChanged(int);
|
||||
void var1Changed(int);
|
||||
void var2Changed(int);
|
||||
void var1BinnerChanged(int);
|
||||
void var2BinnerChanged(int);
|
||||
void var2OperationChanged(int);
|
||||
void featureChanged(int, bool);
|
||||
private:
|
||||
Ui::StatsWidget ui;
|
||||
StatsState state;
|
||||
void updateUi();
|
||||
std::vector<std::unique_ptr<QCheckBox>> features;
|
||||
|
||||
ChartListModel charts;
|
||||
//QStringListModel charts;
|
||||
void showEvent(QShowEvent *) override;
|
||||
};
|
||||
|
||||
#endif // STATSWIDGET_H
|
Loading…
Add table
Add a link
Reference in a new issue