/***************************************************************************
                          dokuview.h  -  Interface Klasse DokuView (View)
                             -------------------                                         
    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 DOKUVIEW_H
#define DOKUVIEW_H

// include files for QT
#include <qwidget.h>
#include <qlistview.h>
#include <qgroupbox.h>
#include <qwhatsthis.h>
#include <qptrdict.h>

// application specific includes
#include "dokudoc.h"
#include "dlgdokumentshow.h"
#include "dlgformularshow.h"
#include "dlgvertragshow.h"
#include "dlgdauerauftragshow.h"


/**
 * Diese Klasse stellt die Basisklasse der View der Applikation dar.
 * Hier wird die Hauptview mit den einzelnen Widgets initialisiert.
 */


class DokuView : public QWidget  {
   Q_OBJECT
public:
  /** Konstruktor */
   DokuView(QWidget *parent=0, DokuDoc* doc=0);
  /** Destruktor */
  ~DokuView();
  /** gibt das im Moment angewaehlte Dokument zurueck
    * wurde keines angewahel wird NULL zurueckgegeben */
  CDokument* getSelectedDokument();
  /** setzt die Auswahl in der Liste auf das angegebene Dokument */
  void setSelectedDokument(CDokument* dok);

private:
   /** umrahmende QGroupBox auf der linken Seite */
   QGroupBox* l_groupbox;

   QListView* mappe_listview;
   QListViewItem* dokument_listviewitem;
   QArray<QListViewItem*> dokument_listviewitem_list;
   QListViewItem* vertrag_listviewitem;
   QArray<QListViewItem*> vertrag_listviewitem_list;
   QListViewItem* formular_listviewitem;
   QArray<QListViewItem*> formular_listviewitem_list;
   QListViewItem* dauerauftrag_listviewitem;
   QArray<QListViewItem*> dauerauftrag_listviewitem_list;

   /** umrahmende QGroupBox auf der rechten Seite */
   QGroupBox* r_groupbox;
   /** Widget das angezeigt wird, wenn ein Dokument angewaehlt wurde */
   QWidget* viewdlg;
   /** Widget das angezeigt wird, wenn kein Dokument angewaehlt wurde */
   QWidget* defaultdlg;
   /** Widget das das Pixmap aufnimmt */
   QWidget* defaultdlgpm;


protected slots:

/** erneuert die View, z.B. wenn sie der Inhalt der Dokumentenmppe geaendert wurde */
void slotDocumentChanged();
/** erneuert das Widget auf der rechten Seite, je nach ausgewaehltem Dokument */
void slotSelectionChanged();
/** startet einen ProgressBar */
void slotDoProgressBar();

protected:
   /** Redefinition des resizeEvents um die View der Groesse des Hauptfensters anzupassen */
   virtual void resizeEvent( QResizeEvent * );

private:
   /** Instanz des DokuDoc das dargestellt wird */
   DokuDoc* doc;
   /** Woerterbuch, dass jedem ListViewItem ein Dokument zuordnet */
   QPtrDict<CDokument> dictItem2Dok;

};

#endif



















Documentation generated by uhlmann@fara2 on Mon Aug 30 20:37:52 MEST 1999