00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDEGRIDCOLUMNDIALOG_H
00013 #define HK_KDEGRIDCOLUMNDIALOG_H
00014 #include "hk_kdegridcolumndialogbase.h"
00015 #include <hk_string.h>
00016 #include <list>
00017 #include <hk_definitions.h>
00018 #include <hk_dsgridcolumn.h>
00019
00020 class QScrollView;
00021 class hk_kdegrid;
00031 class hk_kdegridcolumndialog : public hk_kdegridcolumndialogbase
00032 {
00033 Q_OBJECT
00034
00035 public:
00036 hk_kdegridcolumndialog( hk_kdegrid* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
00037 ~hk_kdegridcolumndialog();
00038
00039 public slots:
00040 void addbutton_clicked();
00041 void deletebutton_clicked();
00042 void exitbutton_clicked();
00043 void okbutton_clicked();
00044 void defaultvalue_changed();
00045 void columntype_changed();
00046 void rightbox_selectionchanged(QListViewItem*);
00047
00048 void alignment_changed();
00049 void displayname_changed();
00050 void identifier_changed();
00051 void listcolumn_changed();
00052 void listdatasource_changed();
00053 void listdatasourcetype_changed();
00054 void digits_changed();
00055 void readonly_changed();
00056 void separator_changed();
00057 void viewcolumn_changed();
00058
00059
00060
00061 virtual void onclickaction_clicked();
00062 virtual void ondoubleclickaction_clicked();
00063 virtual void onopenaction_clicked();
00064 virtual void oncloseaction_clicked();
00065 virtual void beforeupdateaction_clicked();
00066 virtual void afterupdateaction_clicked();
00067 virtual void beforerowchangeaction_changed();
00068 virtual void afterrowchangeaction_changed();
00069 virtual void beforedeleteaction_clicked();
00070 virtual void afterdeleteaction_clicked();
00071 virtual void beforeinsertaction_clicked();
00072 virtual void afterinsertaction_clicked();
00073 virtual void on_getfocusaction_clicked();
00074 virtual void on_loosefocusaction_clicked();
00075 virtual void onkeybutton_clicked();
00076 virtual void onselectaction_clicked();
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087 private:
00088 typedef class fieldstruct
00089 {
00090 public:
00091 fieldstruct(void)
00092 {
00093 use_separators=false;
00094 readonly=false;
00095 listdatasourcetype=dt_table;
00096 digits=-1;
00097 columntype=hk_dsgridcolumn::columnedit;
00098 alignment=hk_dsdatavisible::alignleft;
00099 }
00100 hk_string name;
00101 hk_string defaultvalue;
00102 hk_string identifier;
00103 hk_dsdatavisible::alignmenttype alignment;
00104 bool use_separators;
00105 int digits;
00106 datasourcetype listdatasourcetype;
00107 bool readonly;
00108 hk_string listdatasource;
00109 hk_string listcolumn;
00110 hk_string viewcolumn;
00111 hk_string displayname;
00112 hk_dsgridcolumn::enum_columntype columntype;
00113 hk_string p_before_row_change_action;
00114 hk_string p_after_row_change_action;
00115 hk_string p_after_delete_action,p_before_delete_action;
00116 hk_string p_after_update_action,p_before_update_action;
00117 hk_string p_after_insert_action,p_before_insert_action;
00118 hk_string p_clickaction,p_doubleclickaction, p_onopenaction,p_oncloseaction;
00119 hk_string p_on_getfocus_action,p_on_loosefocus_action,p_on_key_action,p_on_select_action;
00120 };
00121 void set_buttontext(void);
00122 list<fieldstruct> fields;
00123 void listentries_changed(void);
00124 void load_presentationdatasources(void);
00125 void set_columnvalues(void);
00126 void reload_listdatasource(void);
00127 void set_currentlistdatasource(void);
00128 hk_kdegrid* p_grid;
00129 list<fieldstruct>::iterator p_currentfieldit;
00130 QString settxt, notsettxt;
00131 QScrollView* p_actionscrollview;
00132
00133 };
00134 #endif // HK_KDEGRIDCOLUMNDIALOG_H