Prüfungsamt-Projekt  1.0.0
attributeeditor.h
gehe zur Dokumentation dieser Datei
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                         Prüfungsamt-Client                       ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### Attribut-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 ATTRIBUTEEDITOR_H
00019 #define ATTRIBUTEEDITOR_H
00020 
00021 
00022 #include "system.h"
00023 #include "paclient.h"
00024 #include "paviews.h"
00025 #include "tableviewer.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 <qlineedit.h>
00035 #include <qlist.h>
00036 
00037 
00038 class TableViewer;
00039 class TupleEditor;
00040 
00041 
00042 class AttributeEditor : public QWidget
00043 {
00044    Q_OBJECT
00045 
00046    // ====== Constructor/Destructor =========================================
00047    public:
00058    AttributeEditor(SQLConnectionInterface* connection,
00059                    const ViewEntry*        view,
00060                    const QString&          attribute,
00061                    const bool              editable = true,
00062                    const QString&          value    = QString::null,
00063                    QWidget*                parent   = NULL,
00064                    const char*             name     = NULL);
00065 
00069    ~AttributeEditor();
00070 
00071 
00072    // ====== Attributwerte-Manipulation =====================================
00078    QString getValue() const;
00079 
00085    void setValue(const QString& value);
00086 
00090    void mark();
00091 
00092 
00093    // ====== Slots für Qt ===================================================
00094    public slots:
00098    void returnPressed();
00099 
00103    void clicked();
00104 
00108    void activated(int number);
00109 
00113    void valueSelected(TableViewer* viewer, const bool selected, const QString& selection);
00114 
00115 
00116    // ====== Signale für Qt =================================================
00117    signals:
00121    void userUpdate();
00122 
00123 
00124    // ====== Private Daten ==================================================
00125    private:
00126    struct ValueListEntry {
00127       QString Key;
00128       QString Value;
00129    };
00130 
00131 
00132    QString fetchTuple(const QString& tableName,
00133                       const QString& attributes,
00134                       const QString& key,
00135                       const QString& keyValue);
00136    QList<ValueListEntry>* fetchValueList(const QString& tableName,
00137                                          const QString& attributes,
00138                                          const QString& key);
00139 
00140    SQLConnectionInterface* Connection;
00141    const ViewEntry*        View;
00142    QString                 Attribute;
00143    QLineEdit*              LineEdit;
00144    QLabel*                 Label;
00145    QComboBox*              ComboBox;
00146    QPushButton*            Button;
00147 
00148    TableViewer*            Selector;
00149    const ViewTable*        SelectView;
00150    QString                 SelectValue;
00151    QString                 SelectAttribute;
00152    QString                 SelectInfoAttributes;
00153    QList<ValueListEntry>*  SelectList;
00154 };
00155 
00156 
00157 #endif
 Alle Klassen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Freundbeziehungen Makrodefinitionen