File indexing completed on 2024-04-14 03:49:04
0001 /* 0002 SPDX-FileCopyrightText: 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef VOCABULARYMIMEDATA_H 0007 #define VOCABULARYMIMEDATA_H 0008 0009 #include <KEduVocExpression> 0010 #include <KEduVocWordtype> 0011 #include <QMimeData> 0012 0013 class KEduVocTranslation; 0014 0015 class VocabularyMimeData : public QMimeData 0016 { 0017 Q_OBJECT 0018 public: 0019 struct MimeExpression { 0020 struct WordTypeStrings { 0021 QStringList wordType; // better have this hierarchical 0022 KEduVocWordFlags grammarType; 0023 }; 0024 0025 // all data as deep copy 0026 KEduVocExpression expression; 0027 // the word types cannot be copied, thus per translation (int) save parent types and the type 0028 QMap<int, WordTypeStrings> wordTypes; 0029 }; 0030 0031 void setTranslations(const QList<KEduVocTranslation *> &translation); 0032 QList<KEduVocTranslation *> translationList() const; 0033 QList<VocabularyMimeData::MimeExpression> expressionList() const; 0034 0035 QVariant retrieveData(const QString &mimeType, QMetaType type) const override; 0036 0037 QStringList formats() const override; 0038 0039 private: 0040 QList<KEduVocTranslation *> m_translations; 0041 QList<MimeExpression> m_expressions; 0042 QString m_text; 0043 }; 0044 0045 #endif