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