summaryrefslogtreecommitdiff
path: root/src/dic-options/FieldsListModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dic-options/FieldsListModel.h')
-rw-r--r--src/dic-options/FieldsListModel.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/dic-options/FieldsListModel.h b/src/dic-options/FieldsListModel.h
new file mode 100644
index 0000000..1cc4534
--- /dev/null
+++ b/src/dic-options/FieldsListModel.h
@@ -0,0 +1,49 @@
+#ifndef FIELDSLISTMODEL_H
+#define FIELDSLISTMODEL_H
+
+#include <QAbstractTableModel>
+
+#include "DictionaryOptionsDialog.h"
+#include "../dictionary/Dictionary.h"
+
+class FieldsListModel : public QAbstractTableModel
+{
+ Q_OBJECT
+
+public:
+ enum
+ {
+ EStyleRole = Qt::UserRole
+ };
+
+ FieldsListModel( DictionaryOptionsDialog* aParent ):
+ QAbstractTableModel( aParent ), m_parent( aParent )
+ {}
+
+ int rowCount( const QModelIndex& /*parent*/ = QModelIndex() ) const
+ { return m_parent->m_dict.fieldsNum(); }
+ int columnCount( const QModelIndex& /*parent*/ = QModelIndex() ) const
+ { return 2; }
+ QVariant data( const QModelIndex &index, int role = Qt::DisplayRole ) const;
+ Qt::ItemFlags flags(const QModelIndex &index) const;
+ bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
+ bool insertRows(int position, int rows, const QModelIndex &/*parent*/);
+ bool removeRows(int position, int rows, const QModelIndex &/*parent*/);
+ void insertField(int aPos, Field *aField);
+ void removeField( int aPos );
+ Qt::DropActions supportedDropActions() const;
+ QStringList mimeTypes() const;
+ QMimeData* mimeData(const QModelIndexList &indexes) const;
+ bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column,
+ const QModelIndex &parent);
+ QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+ void moveIndexesUpDown(QModelIndexList aIndexes, int aDirection);
+
+signals:
+ void indexesDropped(QList<QPersistentModelIndex> aIndexes);
+
+private:
+ DictionaryOptionsDialog* m_parent;
+};
+
+#endif // FIELDSLISTMODEL_H