00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_KDESUBFORMDIALOG_H
00012 #define HK_KDESUBFORMDIALOG_H
00013 #include "hk_kderelationdialogbase.h"
00014 #include <hk_column.h>
00015 #include <list>
00016 class hk_kdedatasourceframe;
00017 class hk_subform;
00018 class hk_form;
00019
00020
00021 class hk_kdesubformdialog : public hk_kderelationdialogbase
00022 {
00023 Q_OBJECT
00024
00025 public:
00026 hk_kdesubformdialog( hk_subform*, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00027 ~hk_kdesubformdialog();
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_column*>*);
00044 void set_existing_fields(void);
00045 int textposition(QStringList* ,const hk_string& );
00046 void delete_rows(void);
00047 hk_datasource* p_masterds;
00048 hk_datasource* p_slaveds;
00049 hk_subform* p_subform;
00050 hk_form* p_form;
00051 QStringList p_mastercollist;
00052 QStringList p_slavecollist;
00053 };
00054
00055 #endif // hk_kdesubformdialog_H