wfview/tablewidget.h

61 wiersze
1.8 KiB
C
Czysty Zwykły widok Historia

2023-04-19 13:51:23 +00:00
#ifndef TABLEWIDGET_H
#define TABLEWIDGET_H
#include <QTableWidget>
#include <QMenu>
#include <QMouseEvent>
#include <QItemDelegate>
#include <QComboBox>
#include <QCheckBox>
2023-05-01 20:56:52 +00:00
#include <QRegularExpression>
2023-04-19 13:51:23 +00:00
class tableWidget : public QTableWidget
{
2023-05-01 20:56:52 +00:00
Q_OBJECT
2023-04-19 13:51:23 +00:00
public:
2023-05-01 20:56:52 +00:00
explicit tableWidget(QWidget* parent = 0);
signals:
void rowAdded(int row);
void rowDeleted(quint16 num);
2023-04-19 13:51:23 +00:00
protected:
void mouseReleaseEvent(QMouseEvent *event);
};
class tableCombobox : public QItemDelegate
{
2023-05-01 20:56:52 +00:00
Q_OBJECT
2023-04-19 13:51:23 +00:00
public:
2023-04-23 20:29:44 +00:00
explicit tableCombobox(QAbstractItemModel* model, bool sort=false, QObject *parent = 0);
2023-04-19 13:51:23 +00:00
QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
void setEditorData(QWidget *combo, const QModelIndex &index) const override;
void setModelData(QWidget *combo, QAbstractItemModel *model, const QModelIndex &index) const override;
void updateEditorGeometry(QWidget *combo, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
2023-05-01 20:56:52 +00:00
mutable QComboBox *combo;
mutable QComboBox *modelCombo = Q_NULLPTR;
private slots:
void setData(int val);
2023-04-19 13:51:23 +00:00
private:
QAbstractItemModel* modelData;
};
class tableCheckbox : public QItemDelegate
{
2023-05-01 20:56:52 +00:00
Q_OBJECT
2023-04-19 13:51:23 +00:00
public:
explicit tableCheckbox(QObject *parent = 0);
QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
void setEditorData(QWidget *combo, const QModelIndex &index) const override;
void setModelData(QWidget *combo, QAbstractItemModel *model, const QModelIndex &index) const override;
void updateEditorGeometry(QWidget *combo, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
};
#endif // TABLEWIDGET_H