subsurface/qt-ui/tableview.h
Tomaz Canabrava b98157a519 Partially revert d72c69db7a and fix its errors
In the offending commit a QWidget was changed to QTableView, but
only in the header - and thus making avaliable all method calls,
but the initialization of the widgets was still a QWidget, and
nothing of QTableView was used besides an incorrect call to
setColumnHidden.

This commit fixes that by using the view() method provided by the
TableView implementation which returns the true QTableView that should be
used for specific nitpicking, like hidding columns. :)

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2013-11-13 11:58:47 +09:00

44 lines
1.1 KiB
C++

#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"
class QPushButton;
class QAbstractItemModel;
class QModelIndex;
class QTableView;
class TableView : public QWidget {
Q_OBJECT
public:
TableView(QWidget *parent = 0);
virtual ~TableView();
void setTitle(const QString& title);
/* 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);
QTableView *view();
protected:
virtual void showEvent(QShowEvent* );
virtual void resizeEvent(QResizeEvent* );
signals:
void addButtonClicked();
private:
Ui::TableView ui;
QPushButton *plusBtn;
};
#endif