moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kverbos / kverbos / kerfassen.h
blob7a8f2fc6c5e01e0dd6d8fe6c2b1bf3a41b0a5aa0
1 /***************************************************************************
2 kerfassen.h - description
3 -------------------
4 begin : Sat Dec 15 2001
5 copyright : (C) 2001 by Arnold Kraschinski
6 email : arnold.k67@gmx.de
7 ***************************************************************************/
9 /***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
18 #ifndef KERFASSEN_H
19 #define KERFASSEN_H
21 #include <klocale.h>
23 #include "qerfassen.h"
24 #include "verbspanish.h"
26 class QLineEdit;
29 /** This class overloads the class QErfassen which was created with the Qt-designer.
30 * The dialog is used to edit existing verbs and to add new verbs.
32 *@author Arnold Kraschinski
35 class KErfassen : public QErfassen {
36 public:
37 /** An die Dialogklasse wird ein Zeiger auf eine Verbliste übergeben, damit
38 * Verben in die Liste eingefügt werden können. Es wird auch ein Iterator übergeben, der
39 * anzeigt, wo mit dem editieren begonnen werden soll.
41 KErfassen(spanishVerbList& l, int pos = -1, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
42 /** der Destruktor */
43 virtual ~KErfassen();
44 /** Gibt zurück, ob durch den Ablauf des Dialoges eine Änderung an der
45 * bearbeiteten Verbliste entstanden ist (list = true).
46 * Wird als Parameter false übergeben, erfährt man, ob das Fenster des Dialoges
47 * geändert wurde.
49 bool wasChanged();
50 /** The dialog works on his own copy of the verblist. So after the end of the dialog
51 * the caling function has to fetch the list from the dialog with this function.
53 spanishVerbList getList();
55 private:
56 /** Ein Verb befindet sich in den Eingabefeldern des Dialoges und
57 * dieses soll nun in die Liste aufgenommen werden.
59 spanishVerbList::Iterator verbErfassen();
60 /** The verb in the edit boxes is transfered to a verbSpanish object
62 verbSpanish verbFromWidget();
63 /** Ein Verb aus der aktuellen Listenposition soll in dem Dialog dargestellt
64 * werden.
66 void verbToWidget();
67 /** Deaktiviert die Eingabefelder für die Gerund-Form und für das Partizip
68 * und die Karteikarten für die ganzen Formen. Außerdem wird der Radiobutton
69 * wieder auf den Ausgangszustand zurückgesetzt.
71 void deaktivieren();
72 /** Aktiviert die Eingabefelder für die Gerund-Form und für das Partizip
73 * und die Karteikarten für die ganzen Formen. Außerdem wird der Radiobutton
74 * in den gesetzten Zustand gebracht.
76 void aktivieren();
77 /** In dem Dialog sollen ein Teil der Eingabefelder oder aber alle
78 * Eingabefelder gelöscht werden.
80 void clearPage(int s);
81 void clearAllPages();
82 void clearAll();
83 /** Es wird geprüft, ob der Inhalt des Eingabefensters verändert wurde.
85 bool widgetChanged();
87 public slots:
88 /** Dieser Slot bearbeitet den Wechsel am RadioButtonIrregular
89 * Wird der Knopf ausgewählt, dann müssen alle Felder für die
90 * unregelmäßigen Formen aktiviert werden.
91 * Wird der Button gelöscht, dann müssen die Felder deaktiviert
92 * werden.
94 // virtual void slotToggleIrregular(bool b);
95 virtual void slotTypChanged(int);
96 /** Die folgenden Slots werden von den einzelnen Löschen-Buttons des
97 * Dialoges aufgerufen.
99 virtual void slotClearPage1();
100 virtual void slotClearPage2();
101 virtual void slotClearPage3();
102 virtual void slotClearPage4();
103 virtual void slotClearPage5();
104 virtual void slotClearPage6();
105 virtual void slotClearPage7();
106 virtual void slotClearPage8();
107 virtual void slotClearAll();
108 /** Wird aufgerufen, wenn der 'beenden'-Button gedrückt wurde.
110 virtual void slotDlgEnde();
111 /** Die Eingabe eines Verbes wurde abgeschlossen und es wurde der
112 * weiter Button gedrückt, um weitere Verben einzugeben.
114 virtual void slotWeiter();
115 /** Es wurde an einer Position in der Liste der zurück-Button betätigt.
116 * Das gerade eingegebene Verb muss in die Liste übernommen werden und der
117 * Positionszeiger in der Liste muss eine Position nach hinten rücken, falls
118 * es ein Verb weiter vorne in der Liste gibt. Dieses Verb muss eventuell in
119 * den Dialog geladen werden.
121 virtual void slotZurueck();
122 /** The dilog shows a verb but this verb shouldn't be changed. The user wants to
123 * enter a new verb. So he can use this button to get an empty dialog window for his
124 * new verb
126 virtual void slotNewVerb();
127 /** Die folgenden Slots werden aufgerufen, wenn ein Button mit einem
128 * spanischen Sonderzeichen gedrückt wird.
129 * Das Zeichen wird dann dem Eingabefeld, das den Focus hat zugefügt.
131 virtual void slotN();
132 virtual void slotA();
133 virtual void slotE();
134 virtual void slotI();
135 virtual void slotO();
136 virtual void slotU();
138 private:
139 /** Der Zeiger auf das Dokumenten-Objekt des Programmes. */
140 spanishVerbList liste;
141 spanishVerbList::Iterator position;
142 /** changed zeigt an, ob etwas geändert wurde. */
143 bool changed;
144 /** Are pointers to the GUI elements for an easier use */
145 QLineEdit* formEdit[6][MAX_TIEMPOS];
148 #endif