/***************************************************************************
dokudoc.h - Interface Klasse DokuDoc (Model)
-------------------
begin : Wed Aug 4 17:32:35 MEST 1999
copyright : (C) 1999 by Stephan Uhlmann
email : suhlmann@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 DOKUDOC_H
#define DOKUDOC_H
// include files for QT
#include <qobject.h>
// application specific includes
#include "mappe.h"
#include "dokument.h"
#include "formular.h"
#include "vertrag.h"
#include "dauerauf.h"
/**
* Die Klasse DokuDoc ist die Dokumenten Klasse (Model)
* der Applikation.
* Hier wird eine CDokumentenmappe angelegt und dessen
* Persistenzhaltung implementiert.
*/
class DokuDoc : public QObject {
Q_OBJECT
public:
/** Konstruktor */
DokuDoc();
/** Destruktor */
~DokuDoc();
/** generiert eine neue Dokumentenmappe */
void newDoc();
/** speichert die Dokumentenmappe */
bool save();
/** speichert die Dokumentenmappe in die angegebene Datei */
bool saveAs(QString filename);
/** laedt eine Dokumentenmappe aus der angegebenen Datei */
bool load(QString filename);
/** schliesst die Dokumentenmappe */
bool close();
/** TRUE wenn die Dokumentenmappe seit dem letzten sichern geaendert wurde */
bool isModified();
/** TRUE wenn eine CDokumentenmappe in DokuDoc angelegt wurde */
bool mappeExists();
/** gibt den Dateinamen der Dokumentenmappe zurueck */
QString getName();
/** liefert die Anzahl der Dokumente in der Dokumentenmappe zurueck */
unsigned int LiefereAnzahl();
/** liefert das Dokument an einer bestimmten Position in der Liste zurueck */
/* zaehlung von number beginnt bei 0 == erstes element */
CDokument* LiefereDokumentNumber(unsigned int number);
/** fuegt ein CDokument in die Dokumentenmappe ein */
bool insertDokument(QString Verfasser, QString Titel, QString Schluessel);
/** fuegt ein CVertrag in die Dokumentenmappe ein */
bool insertVertrag(QString Verfasser, QString Titel, QString Schluessel,
bool UnterschriftKundeVorhanden, bool UnterschriftBankVorhanden,
QString Vertragsnummer, QString Vertragstext);
/** fuegt ein CFormular in die Dokumentenmappe ein */
bool insertFormular(QString Verfasser, QString Titel, QString Schluessel,
bool Geprueft, bool UnterschriftKundeVorhanden, QString Formvorschrift);
/** fuegt ein CDauerauftrag in die Dokumentenmappe ein */
bool insertDauerauftrag(QString Verfasser, QString Titel, QString Schluessel,
bool Geprueft, bool UnterschriftKundeVorhanden, QString Formvorschrift,
QString Betrag, QString Intervall, QString Quelle, QString Ziel,
QString Buchungstext);
/** loescht das Dokument mit dem angegebenen Schluessel */
bool deleteDokument(QString Schluessel);
/** liefert das Dokument mit dem angegebenen Schluessel zurueck */
CDokument* searchDokument(QString Schluessel);
signals:
/** wird ausgesandt, wenn die Dokumentenmappe geaendert wurde */
void documentChanged();
/** wird ausgesandt, wenn das Dokument gespeichert wurde */
void documentSaved();
protected:
/** TRUE, wenn die Dokumentenmappe seit dem letzten speichern veraendert wurde */
bool b_modified;
/** TRUE, wenn eine CDokumentenmappe in der Klasse instanziiert ist */
bool mappe_exists;
private:
/** Instanz der verwalteten CDokumentenmappe */
CDokumentenmappe* mappe;
/** Dateiname unter der die Dokumentenmappe zuletzt gespeichert wurde.
* Wurde kein Name bisher bestimmt ist name=="unbenannt.map" */
QString name;
};
#endif
Documentation generated by uhlmann@fara2 on Mon Aug 30 20:37:52 MEST 1999