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 listcolumn_changed();
00051 void listdatasource_changed();
00052 void listdatasourcetype_changed();
00053 void digits_changed();
00054 void readonly_changed();
00055 void separator_changed();
00056 void viewcolumn_changed();
00057
00058
00059
00060 virtual void onclickaction_clicked();
00061 virtual void ondoubleclickaction_clicked();
00062 virtual void onopenaction_clicked();
00063 virtual void oncloseaction_clicked();
00064 virtual void beforeupdateaction_clicked();
00065 virtual void afterupdateaction_clicked();
00066 virtual void beforerowchangeaction_changed();
00067 virtual void afterrowchangeaction_changed();
00068 virtual void beforedeleteaction_clicked();
00069 virtual void afterdeleteaction_clicked();
00070 virtual void beforeinsertaction_clicked();
00071 virtual void afterinsertaction_clicked();
00072 virtual void on_getfocusaction_clicked();
00073 virtual void on_loosefocusaction_clicked();
00074 virtual void onkeybutton_clicked();
00075 virtual void onselectaction_clicked();
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086 private:
00087 typedef class fieldstruct
00088 {
00089 public:
00090 fieldstruct(void)
00091 {
00092 use_separators=false;
00093 readonly=false;
00094 listdatasourcetype=dt_table;
00095 digits=-1;
00096 columntype=hk_dsgridcolumn::columnedit;
00097 alignment=hk_dsdatavisible::alignleft;
00098 }
00099 hk_string name;
00100 hk_string defaultvalue;
00101 hk_dsdatavisible::alignmenttype alignment;
00102 bool use_separators;
00103 int digits;
00104 datasourcetype listdatasourcetype;
00105 bool readonly;
00106 hk_string listdatasource;
00107 hk_string listcolumn;
00108 hk_string viewcolumn;
00109 hk_string displayname;
00110 hk_dsgridcolumn::enum_columntype columntype;
00111 hk_string p_before_row_change_action;
00112 hk_string p_after_row_change_action;
00113 hk_string p_after_delete_action,p_before_delete_action;
00114 hk_string p_after_update_action,p_before_update_action;
00115 hk_string p_after_insert_action,p_before_insert_action;
00116 hk_string p_clickaction,p_doubleclickaction, p_onopenaction,p_oncloseaction;
00117 hk_string p_on_getfocus_action,p_on_loosefocus_action,p_on_key_action,p_on_select_action;
00118 };
00119 void set_buttontext(void);
00120 list<fieldstruct> fields;
00121 void listentries_changed(void);
00122 void load_presentationdatasources(void);
00123 void set_columnvalues(void);
00124 void reload_listdatasource(void);
00125 void set_currentlistdatasource(void);
00126 hk_kdegrid* p_grid;
00127 list<fieldstruct>::iterator p_currentfieldit;
00128 QString settxt, notsettxt;
00129 QScrollView* p_actionscrollview;
00130
00131 };
00132 #endif // HK_KDEGRIDCOLUMNDIALOG_H