Prüfungsamt-Projekt  1.0.0
tupleeditor.h
gehe zur Dokumentation dieser Datei
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                         Prüfungsamt-Client                       ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### Tupel-Editor                                                     ####
00007 // ####                                                                  ####
00008 // #### Version 1.00  --  12. Juli 2000                                  ####
00009 // ####                                                                  ####
00010 // #### Copyright (C) 2000  Thomas Dreibholz                             ####
00011 // ####                     Universität Bonn                             ####
00012 // ####                     EMail: dreibh@iem.uni-due.de                 ####
00013 // ####                     WWW:   https://www.nntb.no/~dreibh        ####
00014 // ####                                                                  ####
00015 // ##########################################################################
00016 
00017 
00018 #ifndef TUPLEEDITOR_H
00019 #define TUPLEEDITOR_H
00020 
00021 
00022 #include "system.h"
00023 #include "paclient.h"
00024 #include "tableviewer.h"
00025 #include "attributeeditor.h"
00026 
00027 
00028 #include <qapp.h>
00029 #if QT_VERSION < 210
00030 #error ERROR: QT Version 2.1 or better required!!!
00031 #endif
00032 #include <qstring.h>
00033 #include <qlabel.h>
00034 #include <qwhatsthis.h>
00035 
00036 
00037 class TableViewer;
00038 class AttributeEditor;
00039 
00040 
00048 struct Tuple
00049 {
00050    static const cardinal MaxAttributes = 32;
00051 
00052    QString  ID;
00053    QString  TableName;
00054 
00055    const ViewEntry* View;
00056 
00057    cardinal Attributes;
00058    QString  Attribute[MaxAttributes];
00059    bool     IsKey[MaxAttributes];
00060    QString  Value[MaxAttributes];
00061 };
00062 
00063 
00064 
00065 
00073 class TupleEditor : public QWidget
00074 {
00075    Q_OBJECT
00076 
00077    // ====== Constructor/Destructor =========================================
00078    public:
00089    TupleEditor(SQLConnectionInterface* connection,
00090                Tuple*                  tuple,
00091                const bool              newTuple,
00092                const QString&          joinAttribute,
00093                QWidget*                parent = NULL,
00094                const char*             name   = NULL);
00095 
00099    ~TupleEditor();
00100 
00101 
00102    // ====== Tupel-Struktur zurückgeben =====================================
00108    const Tuple* getTuple() const;
00109 
00110 
00111    // ====== Slots für Qt ===================================================
00112    public slots:
00116    void update();
00117 
00118 
00122    void remove();
00123 
00127    void abort();
00128 
00129 
00130    // ====== Signale für Qt =================================================
00131    signals:
00135    void done(TupleEditor* editor, const bool commited);
00136 
00137 
00138    // ====== Private Daten ==================================================
00139    private:
00140    void closeEvent(QCloseEvent* event);
00141 
00142 
00143    SQLConnectionInterface* Connection;
00144    QWhatsThis*             WhatsThis;
00145    QLabel*                 StatusBar;
00146    AttributeEditor**       AttrEdit;
00147    Tuple*                  EditorTuple;
00148    TableViewer*            Selector;
00149    int                     SelectorID;
00150    bool                    NewTuple;
00151 };
00152 
00153 
00154 #endif
 Alle Klassen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Freundbeziehungen Makrodefinitionen