Prüfungsamt-Projekt
1.0.0
|
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