-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwtwidget.h
60 lines (45 loc) · 1.1 KB
/
wtwidget.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ifndef WTWIDGET_H
#define WTWIDGET_H
#include <QWidget>
#include <QDate>
namespace Ui {
class WtWidget;
}
class QUndoStack;
namespace weighttracker {
class WeightTableModel;
class AddDataDialog;
enum class TableChange;
class WtWidget : public QWidget
{
Q_OBJECT
public:
explicit WtWidget(QWidget *parent = 0);
~WtWidget();
bool readFile(const QString& fileName);
bool writeFile(const QString& fileName);
void clearModel();
QUndoStack* undoStack() const {return undoStack_;}
void writeSettings();
void readSettings();
signals:
void dataReset();
void trendUpdated();
void weightAltered(int pos, TableChange change);
void shiftChanged(int shift);
protected:
bool eventFilter(QObject *object, QEvent *event);
private slots:
void updateTrend();
void removeSelectedRows();
void invokeAddDataDialog();
void addRow(QDate date, double weight);
private:
void setupTableView();
void establishConnections();
Ui::WtWidget* ui;
WeightTableModel* model_;
QUndoStack* undoStack_;
};
} // namespace weighttracker
#endif // WTWIDGET_H