summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/tableview.h
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2015-09-03 14:20:19 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-10-30 10:36:49 -0700
commite49d6213ad129284a45d53c3fcdc03249e84efe2 (patch)
tree2946a666ab38af3375e7bb2b8c5dd887d4a7f9a1 /desktop-widgets/tableview.h
parent588abd019fb2ed3f607682f2b6c7fe86a7a5bb90 (diff)
downloadsubsurface-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.h54
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