/***************************************************************************
mappe.h - Interface Klasse CDokumentenmappe
-------------------
begin : Wed Aug 4 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 __MAPPE_H__
#define __MAPPE_H__
#include <qdatastream.h>
#include "menge.h" /* Import Klasse CDokumentenmenge */
/**
* Die Klasse CDokumentenmappe stellt die Daten und Methoden
* zur Verfuegung um eine Dokumentenmappe zu verwalten.
* Hier wird eine Instanz der Klasse CDokumentenmenge angelegt.
*/
class CDokumentenmappe
{
private:
/** die Dokumentenliste */
CDokumentenmenge* Dokumente;
/** Kundeninformation */
QString Kundeninformation;
/** Datum der Erstellung der Dokumentenmappe */
QDateTime Erstellungsdatum;
/** Datum der letzten Aenderung */
QDateTime Aenderungsdatum;
public:
/** Konstruktor */
/* pre: this existiert nicht */
/* post: this existiert und ist gueltig */
CDokumentenmappe();
/** Destruktor */
/* pre: this existiert */
/* post: this existiert nicht */
~CDokumentenmappe();
/** generiert eine neue Dokumentenmappe und gibt einen Zeiger darauf zurueck */
/* pre: CDokumentenmappe existiert nicht */
/* post: CDokumentenmappe existiert und ist gueltig */
CDokumentenmappe* Generate();
/** gibt eine Dokumentenmappe wieder frei */
/* pre: this existiert */
/* post: this ist ungueltig */
void Free();
/** prueft die Klasseninvarianz des Objekts */
/* pre: this existiert */
/* post: TRUE wenn this gueltig, sonst FALSE */
bool ClassInvariant() const;
/** kopiert die Dokumentenmappe src in die aktuelle Dokumentenmappe */
/* pre: this existiert; src ist gueltig */
/* post: this ist gueltig; this ist gleich src */
bool Copy(CDokumentenmappe* src);
/** vergleicht zwei Dokumentenmappen miteinander */
/* pre: this und src existieren und sind gueltig */
/* post: TRUE wenn Inhalt von this gleich Inhalt von src, sonst FALSE */
bool EqualValue(CDokumentenmappe* src) const;
/** liefert die Anzahl der Dokumente in der Dokumentenmappe */
/* pre: this existiert und ist gueltig */
/* post: */
unsigned int LiefereAnzahl() const;
/** gibt die Kundeninformation der Dokumentenmappe zurueck */
/* pre: this existiert und ist gueltig */
/* post: */
QString LiefereKundeninformation() const;
/** aendert die Kundeninformation der Dokumentenmappe */
/* pre: this existiert und ist gueltig */
/* post: */
void AendereKundeninformation(QString NInfo);
/** fuegt ein Dokument in die Dokumentenmappe ein */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn das Dokument eingefuegt werden konnst, sonst FALSE */
bool EinfuegeDokument(CDokument* src);
/** loescht ein Dokument aus der Dokumentenmappe */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn das Dokument geloescht werden konnst, sonst FALSE */
bool LoescheDokument(QString Schluessel);
/** Sucht ein Dokument in der Dokumentenmappe heraus */
/* pre: this existiert und ist gueltig */
/* post: NULL wenn Dokument nicht enthalten, sonst Zeiger auf das Element in der Liste */
CDokumentenmenge::TElement* SucheDokument(QString Schluessel) const;
/** prueft ob ein Dokument in der Dokumentenmappe enthalten ist */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn das Dokument enthalten ist, sonst FALSE */
bool DokumentInMappe(QString Schluessel) const;
/** gibt das Erstellungsdatum der Dokumentenmappe zurueck */
/* pre: this existiert und ist gueltig */
/* post: */
QDateTime LiefereErstellungsdatum() const;
/** liefert das Aenderungsdatum der Dokumentenmappe */
/* pre: this existiert und ist gueltig */
/* post: */
QDateTime LiefereAenderungsdatum() const;
/** prueft ob die Kundeninformation zulaessig ist */
/* pre: */
/* post: TRUE wenn src gueltig ist, sonst FALSE */
bool ZulaessigeKundeninformation(QString src) const;
/** gibt das erste Element in der Dokumentenmappe zurueck */
/* pre: this existiert */
/* post: NULL wenn keine Elemente enthalten, sonst Zeiger auf erstes Element */
CDokumentenmenge::TElement* LiefereErstes() const;
/** schreibt den Inhalt der Dokumentenmappe in den angegebenen stream */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn die CDokumentenmappe geschrieben werden konnte, sonst FALSE */
bool readData(QDataStream* stream);
/** laedt den Inhalt der Dokumentenmappe aus dem angegebenen stream */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn die CDokumentenmappe geladen werden konnte, sonst FALSE */
bool writeData(QDataStream* stream) const;
/** liefert das aktuelle Systemdatum zurueck */
QDateTime LiefereSystemdatum() const;
};
#endif /* __MAPPE_H__ */
Documentation generated by uhlmann@fara2 on Mon Aug 30 20:37:52 MEST 1999