|
|
/***************************************************************************
|
|
|
kerfassen.h - description
|
|
|
-------------------
|
|
|
begin : Sat Dec 15 2001
|
|
|
copyright : (C) 2001 by Arnold Kraschinski
|
|
|
email : arnold.k67@gmx.de
|
|
|
***************************************************************************/
|
|
|
|
|
|
/***************************************************************************
|
|
|
* *
|
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
|
* it under the terms of the GNU General Public License as published by *
|
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
|
* (at your option) any later version. *
|
|
|
* *
|
|
|
***************************************************************************/
|
|
|
|
|
|
#ifndef KERFASSEN_H
|
|
|
#define KERFASSEN_H
|
|
|
|
|
|
#include <tdelocale.h>
|
|
|
|
|
|
#include "qerfassen.h"
|
|
|
#include "verbspanish.h"
|
|
|
|
|
|
class TQLineEdit;
|
|
|
|
|
|
|
|
|
/** This class overloads the class QErfassen which was created with the TQt-designer.
|
|
|
* The dialog is used to edit existing verbs and to add new verbs.
|
|
|
*
|
|
|
*@author Arnold Kraschinski
|
|
|
*/
|
|
|
|
|
|
class KErfassen : public QErfassen {
|
|
|
public:
|
|
|
/** An die Dialogklasse wird ein Zeiger auf eine Verbliste <20>bergeben, damit
|
|
|
* Verben in die Liste eingef<65>gt werden k<>nnen. Es wird auch ein Iterator <20>bergeben, der
|
|
|
* anzeigt, wo mit dem editieren begonnen werden soll.
|
|
|
*/
|
|
|
KErfassen(spanishVerbList& l, int pos = -1, TQWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
|
|
|
/** der Destruktor */
|
|
|
virtual ~KErfassen();
|
|
|
/** Gibt zur<75>ck, ob durch den Ablauf des Dialoges eine <20>nderung an der
|
|
|
* bearbeiteten Verbliste entstanden ist (list = true).
|
|
|
* Wird als Parameter false <20>bergeben, erf<72>hrt man, ob das Fenster des Dialoges
|
|
|
* ge<67>ndert wurde.
|
|
|
*/
|
|
|
bool wasChanged();
|
|
|
/** The dialog works on his own copy of the verblist. So after the end of the dialog
|
|
|
* the caling function has to fetch the list from the dialog with this function.
|
|
|
*/
|
|
|
spanishVerbList getList();
|
|
|
|
|
|
private:
|
|
|
/** Ein Verb befindet sich in den Eingabefeldern des Dialoges und
|
|
|
* dieses soll nun in die Liste aufgenommen werden.
|
|
|
*/
|
|
|
spanishVerbList::Iterator verbErfassen();
|
|
|
/** The verb in the edit boxes is transfered to a verbSpanish object
|
|
|
*/
|
|
|
verbSpanish verbFromWidget();
|
|
|
/** Ein Verb aus der aktuellen Listenposition soll in dem Dialog dargestellt
|
|
|
* werden.
|
|
|
*/
|
|
|
void verbToWidget();
|
|
|
/** Deaktiviert die Eingabefelder f<>r die Gerund-Form und f<>r das Partizip
|
|
|
* und die Karteikarten f<>r die ganzen Formen. Au<41>erdem wird der Radiobutton
|
|
|
* wieder auf den Ausgangszustand zur<75>ckgesetzt.
|
|
|
*/
|
|
|
void deaktivieren();
|
|
|
/** Aktiviert die Eingabefelder f<>r die Gerund-Form und f<>r das Partizip
|
|
|
* und die Karteikarten f<>r die ganzen Formen. Au<41>erdem wird der Radiobutton
|
|
|
* in den gesetzten Zustand gebracht.
|
|
|
*/
|
|
|
void aktivieren();
|
|
|
/** In dem Dialog sollen ein Teil der Eingabefelder oder aber alle
|
|
|
* Eingabefelder gel<65>scht werden.
|
|
|
*/
|
|
|
void clearPage(int s);
|
|
|
void clearAllPages();
|
|
|
void clearAll();
|
|
|
/** Es wird gepr<70>ft, ob der Inhalt des Eingabefensters ver<65>ndert wurde.
|
|
|
*/
|
|
|
bool widgetChanged();
|
|
|
|
|
|
public slots:
|
|
|
/** Dieser Slot bearbeitet den Wechsel am RadioButtonIrregular
|
|
|
* Wird der Knopf ausgew<65>hlt, dann m<>ssen alle Felder f<>r die
|
|
|
* unregelm<6C><6D>igen Formen aktiviert werden.
|
|
|
* Wird der Button gel<65>scht, dann m<>ssen die Felder deaktiviert
|
|
|
* werden.
|
|
|
*/
|
|
|
// virtual void slotToggleIrregular(bool b);
|
|
|
virtual void slotTypChanged(int);
|
|
|
/** Die folgenden Slots werden von den einzelnen L<>schen-Buttons des
|
|
|
* Dialoges aufgerufen.
|
|
|
*/
|
|
|
virtual void slotClearPage1();
|
|
|
virtual void slotClearPage2();
|
|
|
virtual void slotClearPage3();
|
|
|
virtual void slotClearPage4();
|
|
|
virtual void slotClearPage5();
|
|
|
virtual void slotClearPage6();
|
|
|
virtual void slotClearPage7();
|
|
|
virtual void slotClearPage8();
|
|
|
virtual void slotClearAll();
|
|
|
/** Wird aufgerufen, wenn der 'beenden'-Button gedr<64>ckt wurde.
|
|
|
*/
|
|
|
virtual void slotDlgEnde();
|
|
|
/** Die Eingabe eines Verbes wurde abgeschlossen und es wurde der
|
|
|
* weiter Button gedr<64>ckt, um weitere Verben einzugeben.
|
|
|
*/
|
|
|
virtual void slotWeiter();
|
|
|
/** Es wurde an einer Position in der Liste der zur<75>ck-Button bet<65>tigt.
|
|
|
* Das gerade eingegebene Verb muss in die Liste <20>bernommen werden und der
|
|
|
* Positionszeiger in der Liste muss eine Position nach hinten r<>cken, falls
|
|
|
* es ein Verb weiter vorne in der Liste gibt. Dieses Verb muss eventuell in
|
|
|
* den Dialog geladen werden.
|
|
|
*/
|
|
|
virtual void slotZurueck();
|
|
|
/** The dilog shows a verb but this verb shouldn't be changed. The user wants to
|
|
|
* enter a new verb. So he can use this button to get an empty dialog window for his
|
|
|
* new verb
|
|
|
*/
|
|
|
virtual void slotNewVerb();
|
|
|
/** Die folgenden Slots werden aufgerufen, wenn ein Button mit einem
|
|
|
* spanischen Sonderzeichen gedr<64>ckt wird.
|
|
|
* Das Zeichen wird dann dem Eingabefeld, das den Focus hat zugef<65>gt.
|
|
|
*/
|
|
|
virtual void slotN();
|
|
|
virtual void slotA();
|
|
|
virtual void slotE();
|
|
|
virtual void slotI();
|
|
|
virtual void slotO();
|
|
|
virtual void slotU();
|
|
|
|
|
|
private:
|
|
|
/** Der Zeiger auf das Dokumenten-Objekt des Programmes. */
|
|
|
spanishVerbList liste;
|
|
|
spanishVerbList::Iterator position;
|
|
|
/** changed zeigt an, ob etwas ge<67>ndert wurde. */
|
|
|
bool changed;
|
|
|
/** Are pointers to the GUI elements for an easier use */
|
|
|
TQLineEdit* formEdit[6][MAX_TIEMPOS];
|
|
|
};
|
|
|
|
|
|
#endif
|