00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_KDERELATIONDIALOG_H
00012 #define HK_KDERELATIONDIALOG_H
00013 #include "hk_kderelationdialogbase.h"
00014 #include <hk_column.h>
00015 #include <list>
00016 class hk_kdedatasourceframe;
00017 class hk_kdedbdesigner;
00018 class hk_kdedbrelation;
00019
00020
00021 class hk_kderelationdialog : public hk_kderelationdialogbase
00022 {
00023 Q_OBJECT
00024
00025 public:
00026 hk_kderelationdialog( hk_kdedatasourceframe* master,hk_kdedatasourceframe* slave, hk_kdedbdesigner* parent,hk_kdedbrelation* r=NULL , const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00027 ~hk_kderelationdialog();
00028 int masterindex(const QString&);
00029 int slaveindex(const QString&);
00030
00031 public slots:
00032 virtual void ok_button_clicked();
00033 virtual void slot_data_changed(int,int);
00034 void add_row(void);
00035
00036 protected:
00037 void keyPressEvent(QKeyEvent * );
00038 bool eventFilter(QObject* object,QEvent* event);
00039
00040
00041
00042 private:
00043 void set_stringlist(QStringList* strlist,list<hk_string>*);
00044 void set_existing_fields(void);
00045 int textposition(QStringList* ,const hk_string& );
00046 void delete_rows(void);
00047 hk_kdedatasourceframe* p_masterdsframe;
00048 hk_kdedatasourceframe* p_slavedsframe;
00049 QStringList p_mastercollist;
00050 QStringList p_slavecollist;
00051 hk_kdedbdesigner* p_designer;
00052 hk_kdedbrelation* p_relation;
00053 };
00054
00055 #endif // HK_KDERELATIONDIALOG_H