File indexing completed on 2024-04-21 03:51:03

0001 /*
0002     SPDX-FileCopyrightText: 2008 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef WORDTYPEVIEW_H
0007 #define WORDTYPEVIEW_H
0008 
0009 #include "containerview.h"
0010 
0011 class QAction;
0012 class KSelectAction;
0013 class KEduVocWordType;
0014 class KEduVocExpression;
0015 namespace Editor
0016 {
0017 class EditorWindow;
0018 
0019 class WordTypeView : public ContainerView
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit WordTypeView(EditorWindow *parent);
0025 
0026 public Q_SLOTS:
0027     /** Append a word type to the model and automatically set an edit up so the user can change "New lesson" into something meaningful.*/
0028     void slotCreateNewWordType();
0029 
0030     /** Remove a word type. */
0031     void slotDeleteWordType();
0032 
0033     void setTranslation(KEduVocExpression *entry, int translationId);
0034 
0035 Q_SIGNALS:
0036     void selectedWordTypeChanged(KEduVocWordType *wordType);
0037 
0038 protected:
0039     void contextMenuEvent(QContextMenuEvent *event) override;
0040 
0041 private Q_SLOTS:
0042     void setWordTypeNone();
0043     void setWordTypeNoun();
0044     void setWordTypeNounMale();
0045     void setWordTypeNounFemale();
0046     void setWordTypeNounNeutral();
0047     void setWordTypeAdjective();
0048     void setWordTypeAdverb();
0049     void setWordTypeVerb();
0050     void setWordTypeConjunction();
0051 
0052 private:
0053     QAction *m_actionNewWordType{nullptr};
0054     QAction *m_actionDeleteWordType{nullptr};
0055     QAction *m_actionRenameWordType{nullptr};
0056     KSelectAction *m_actionSpecialTypeMenu{nullptr};
0057 
0058     QAction *m_noneAction{nullptr};
0059     QAction *m_separator{nullptr};
0060     QAction *m_nounAction{nullptr};
0061     QAction *m_nounMaleAction{nullptr};
0062     QAction *m_nounFemaleAction{nullptr};
0063     QAction *m_nounNeutralAction{nullptr};
0064     QAction *m_adjectiveAction{nullptr};
0065     QAction *m_adverbAction{nullptr};
0066     QAction *m_verbAction{nullptr};
0067     QAction *m_conjunctionAction{nullptr};
0068 };
0069 }
0070 
0071 #endif