1 /***************************************************************************
2 kerfassen.h - description
4 begin : Sat Dec 15 2001
5 copyright : (C) 2001 by Arnold Kraschinski
6 email : arnold.k67@gmx.de
7 ***************************************************************************/
9 /***************************************************************************
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. *
16 ***************************************************************************/
23 #include "qerfassen.h"
24 #include "verbspanish.h"
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
{
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);
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
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();
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
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.
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.
77 /** In dem Dialog sollen ein Teil der Eingabefelder oder aber alle
78 * Eingabefelder gelöscht werden.
80 void clearPage(int s
);
83 /** Es wird geprüft, ob der Inhalt des Eingabefensters verändert wurde.
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
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
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();
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. */
144 /** Are pointers to the GUI elements for an easier use */
145 QLineEdit
* formEdit
[6][MAX_TIEMPOS
];