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
00018
00019
00020 class hk_kderelationdialog : public hk_kderelationdialogbase
00021 {
00022 Q_OBJECT
00023
00024 public:
00025 hk_kderelationdialog( hk_kdedatasourceframe* master,hk_kdedatasourceframe* slave, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00026 ~hk_kderelationdialog();
00027 int masterindex(const QString&);
00028 int slaveindex(const QString&);
00029
00030 public slots:
00031 virtual void ok_button_clicked();
00032 virtual void slot_data_changed(int,int);
00033 void add_row(void);
00034
00035 protected:
00036 void keyPressEvent(QKeyEvent * );
00037 bool eventFilter(QObject* object,QEvent* event);
00038
00039
00040
00041 private:
00042 void set_stringlist(QStringList* strlist,list<hk_column*>*);
00043 void set_existing_fields(void);
00044 int textposition(QStringList* ,const hk_string& );
00045 void delete_rows(void);
00046 hk_kdedatasourceframe* p_masterdsframe;
00047 hk_kdedatasourceframe* p_slavedsframe;
00048 QStringList p_mastercollist;
00049 QStringList p_slavecollist;
00050 };
00051
00052 #endif // HK_KDERELATIONDIALOG_H