00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDEform_H
00013 #define HK_KDEform_H
00014 #include <hk_form.h>
00015 #include <qvariant.h>
00016 #include <qwidget.h>
00017 #include <hk_presentation.h>
00018
00019 #include <hk_class.h>
00020 #include <kparts/dockmainwindow.h>
00021
00022 class QVBoxLayout;
00023 class QHBoxLayout;
00024 class QGridLayout;
00025 class QLabel;
00026 class QScrollView;
00027 class hk_kdesimpleform;
00028 class QToolButton;
00029 class QButtonGroup;
00030 class hk_kderowselector;
00031 class hk_kdetoolbar;
00032 class hk_kdeproperty;
00033 class hk_kdegridpart;
00034
00046 class hk_kdeform : public KParts::DockMainWindow,public hk_class
00047 {
00048 Q_OBJECT
00049 friend class hk_kdesimpleform;
00050 public:
00051 hk_kdeform( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
00052 virtual ~hk_kdeform();
00053
00054 hk_presentation::enum_mode mode(void);
00058 void set_mode(hk_presentation::enum_mode s);
00059 void set_viewmode(void);
00060 void set_designmode(void);
00064 hk_dsgrid* new_grid(void);
00068 hk_dslineedit* new_lineedit(void);
00072 hk_dsboolean* new_bool(void);
00076 hk_button* new_button(void);
00080 hk_dsrowselector* new_rowselector(void);
00084 hk_dsmemo* new_memo(void);
00085
00086 hk_subform* new_subform(void);
00090 void set_formsize(unsigned int width, unsigned int height);
00094 void set_database(hk_database* db);
00095 hk_database* database(void);
00096 list<hk_datasource*>* datasources(void);
00097 long new_datasource(const hk_string& name,datasourcetype dt=dt_table);
00098 hk_datasource* get_datasource(long nr);
00102 hk_kdesimpleform* simpleform(void);
00106 bool set_presentationdatasource(long n,bool r=true);
00107 long presentationdatasource(void);
00108 void loaddata(const hk_string& definition);
00109 void savedata(ofstream& s);
00110 void load_form(const hk_string& n);
00116 void set_autoclose(bool c);
00120 void set_nodesignmode(bool n);
00121 hk_kdeproperty* propertyeditor(void);
00122 void save_form_when_changed(void);
00123 signals:
00124 void signal_closed(QWidget*);
00125
00126
00127
00128 protected:
00129 virtual void closeEvent ( QCloseEvent* e);
00130 virtual void mousePressEvent(QMouseEvent*);
00131 protected slots:
00132 void formbutton_clicked(void);
00133 void close_form(void);
00134 void designbutton_clicked(void);
00135 void fieldbutton_clicked(void);
00136 void field_created(void);
00137 void save_form(void);
00138 void saveas_form(void);
00139 void bulkfont_clicked(void);
00140 void bulkforegroundcolour_clicked(void);
00141 void bulkbackgroundcolour_clicked(void);
00142 void grid_partinfocus(hk_kdegridpart*);
00143 void grid_partoutfocus(hk_kdegridpart*);
00144 private:
00145 void set_caption(void);
00146 KRadioAction* p_designaction;
00147 KRadioAction* p_viewaction;
00148 KAction* p_saveaction;
00149 KAction* p_saveasaction;
00150 KAction* p_closeaction;
00151
00152 KRadioAction* p_pointeraction;
00153 KRadioAction* p_lineeditaction;
00154 KRadioAction* p_labelaction;
00155 KRadioAction* p_multilineeditaction;
00156 KRadioAction* p_booleanaction;
00157 KRadioAction* p_comboboxaction;
00158 KRadioAction* p_gridaction;
00159 KRadioAction* p_selectoraction;
00160 KRadioAction* p_buttonaction;
00161 KRadioAction* p_subformaction;
00162 KAction* p_filterdefinitionaction;
00163 KToggleAction* p_filterexecaction;
00164 KActionMenu* p_bulkaction;
00165 KAction* p_bulkfontaction;
00166 KAction* p_bulkforegroundcolouraction;
00167 KAction* p_bulkbackgroundcolouraction;
00168
00169 hk_kdetoolbar* toolbar;
00170 hk_kdesimpleform* p_form;
00171 hk_kderowselector* p_rowselector;
00172 QScrollView* p_scrollview;
00173 bool p_nodesignmode;
00174 };
00175 #endif