diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-09-03 14:20:19 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-10-30 10:36:49 -0700 |
commit | e49d6213ad129284a45d53c3fcdc03249e84efe2 (patch) | |
tree | 2946a666ab38af3375e7bb2b8c5dd887d4a7f9a1 /desktop-widgets/tableview.h | |
parent | 588abd019fb2ed3f607682f2b6c7fe86a7a5bb90 (diff) | |
download | subsurface-e49d6213ad129284a45d53c3fcdc03249e84efe2.tar.gz |
Move qt-ui to desktop-widgets
Since we have now destkop and mobile versions, 'qt-ui' was a very
poor name choice for a folder that contains only destkop-enabled
widgets.
Also, move the graphicsview-common.h/cpp to subsurface-core because
it doesn't depend on qgraphicsview, it merely implements all the
colors that we use throughout Subsurface, and we will use colors on both
desktop and mobile versions
Same thing applies for metrics.h/cpp
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'desktop-widgets/tableview.h')
-rw-r--r-- | desktop-widgets/tableview.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/desktop-widgets/tableview.h b/desktop-widgets/tableview.h new file mode 100644 index 000000000..f72b256ea --- /dev/null +++ b/desktop-widgets/tableview.h @@ -0,0 +1,54 @@ +#ifndef TABLEVIEW_H +#define TABLEVIEW_H + +/* This TableView is prepared to have the CSS, + * the methods to restore / save the state of + * the column widths and the 'plus' button. + */ +#include <QWidget> + +#include "ui_tableview.h" + +#include "metrics.h" + +class QPushButton; +class QAbstractItemModel; +class QModelIndex; +class QTableView; + +class TableView : public QGroupBox { + Q_OBJECT + + struct TableMetrics { + const IconMetrics* icon; // icon metrics + int rm_col_width; // column width of REMOVE column + int header_ht; // height of the header + }; +public: + TableView(QWidget *parent = 0); + virtual ~TableView(); + /* The model is expected to have a 'remove' slot, that takes a QModelIndex as parameter. + * It's also expected to have the column '1' as a trash icon. I most probably should create a + * proxy model and add that column, will mark that as TODO. see? marked. + */ + void setModel(QAbstractItemModel *model); + void setBtnToolTip(const QString &tooltip); + void fixPlusPosition(); + void edit(const QModelIndex &index); + int defaultColumnWidth(int col); // default column width for column col + QTableView *view(); + +protected: + virtual void showEvent(QShowEvent *); + virtual void resizeEvent(QResizeEvent *); + +signals: + void addButtonClicked(); + +private: + Ui::TableView ui; + QPushButton *plusBtn; + TableMetrics metrics; +}; + +#endif // TABLEVIEW_H |