From d24f813f3f2a05c112e803e4256b53535895fc98 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 14 Jul 2021 11:49:10 +1200 Subject: Initial mirror commit --- src/main-view/DictTableModel.h | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main-view/DictTableModel.h (limited to 'src/main-view/DictTableModel.h') diff --git a/src/main-view/DictTableModel.h b/src/main-view/DictTableModel.h new file mode 100644 index 0000000..0293ace --- /dev/null +++ b/src/main-view/DictTableModel.h @@ -0,0 +1,52 @@ +#ifndef DICTTABLEMODEL_H +#define DICTTABLEMODEL_H + +#include +#include + +class Dictionary; +class DicRecord; + +class DictTableModel: public QAbstractTableModel +{ + Q_OBJECT + +public: + enum + { + DicRecordRole = Qt::UserRole + }; + + DictTableModel( Dictionary* aDict, QObject *parent = 0 ); + + // Getters + + const Dictionary* dictionary() const { return m_dictionary; } + QUndoStack* undoStack() const { return m_undoStack; } + + Qt::ItemFlags flags( const QModelIndex& index ) const { return QAbstractItemModel::flags( index ) | Qt::ItemIsEditable; } + int rowCount( const QModelIndex& parent = QModelIndex() ) const; + int columnCount( const QModelIndex& parent = QModelIndex() ) const; + QVariant data(const QModelIndex& index, int role) const; + QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; + + // Setters + + bool setData( const QModelIndex &index, const QVariant& value, int role = Qt::EditRole ); + bool insertRows( int position, int rows, const QModelIndex& index = QModelIndex() ); + bool addFields( QStringList aFields ); + bool removeRows( int position, int rows, const QModelIndex& index = QModelIndex() ); + +public slots: + void resetData(); + +private slots: + void discardCurDictionary(); + +private: + static const int ThumbnailSize = 25; ///< Size of image thumbnails + + Dictionary* m_dictionary; // not own + QUndoStack* m_undoStack; +}; +#endif -- cgit