Databasehandlingdialogclasses  0.5.3
hk_kdeformpartwidget.h
1 // ****************************************************************************
2 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org>
3 // This file is part of the hk_kdeclasses library.
4 // This file may be distributed and/or modified under the terms of the
5 // GNU Library Public License version 2 as published by the Free Software
6 // Foundation and appearing in the file LGPL included in the
7 // packaging of this file.
8 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
9 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
10 // ****************************************************************************
11 
12 #ifndef HK_KDEFORMPARTWIDGET_H
13 #define HK_KDEFORMPARTWIDGET_H
14 #include <hk_form.h>
15 #include <qvariant.h>
16 #include <qwidget.h>
17 #include <hk_presentation.h>
18 //#include <fstream.h>
19 #include <hk_class.h>
20 #include <kdockwidget.h>
21 #include <kaction.h>
22 
23 class QVBoxLayout;
24 class QHBoxLayout;
25 class QGridLayout;
26 class QLabel;
27 class QScrollView;
28 class hk_kdesimpleform;
29 class QToolButton;
30 class QButtonGroup;
31 class hk_kderowselector;
32 class hk_kdetoolbar;
33 class hk_kdeproperty;
34 class hk_kdegridpart;
35 class hk_kdeformpart;
36 
48 class hk_kdeformpartwidget : public KDockMainWindow,public hk_class
49 {
50  Q_OBJECT
51  friend class hk_kdesimpleform;
52  friend class hk_kdeformpart;
53  public:
54  virtual ~hk_kdeformpartwidget();
55 
56  hk_presentation::enum_mode mode(void);
60  void set_mode(hk_presentation::enum_mode s);
61  void set_viewmode(void);
62  void set_designmode(void);
66  hk_dsgrid* new_grid(void);
70  hk_dslineedit* new_lineedit(void);
74  hk_dsboolean* new_bool(void);
78  hk_button* new_button(void);
82  hk_dsrowselector* new_rowselector(void);
86  hk_dsmemo* new_memo(void);
87 
88  hk_subform* new_subform(void);
92  void set_formsize(unsigned int width, unsigned int height);
96  void set_database(hk_database* db);
97  hk_database* database(void);
98  list<hk_datasource*>* datasources(void);
99  long new_datasource(const hk_string& name,datasourcetype dt=dt_table);
100  hk_datasource* get_datasource(long nr);
108  bool set_presentationdatasource(long n,bool r=true);
109  long presentationdatasource(void);
110  void loaddata(xmlNodePtr definition);
111  void savedata(ofstream& s);
112  void load_form(const hk_string& n);
113  hk_kdeformpart* formpart(void) const{return p_formpart;}
119  void set_autoclose(bool c);
123  void set_nodesignmode(bool n);
124  hk_kdeproperty* propertyeditor(void);
125  void save_form_when_changed(void);
126 virtual void show_widget(void);
127 virtual void hide_widget(void);
128 virtual bool close_widget(void);
129  void set_caller_form(const hk_string&);
130  hk_string caller_form(void) const;
131 
132  signals:
133  void signal_closed(QWidget*);
134  void signal_raise_form(const hk_string&);
135 
136  public slots:
137  void set_caption(void);
138 
139 
140  protected:
141  hk_kdeformpartwidget( hk_kdeformpart* ,QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
142  virtual void closeEvent ( QCloseEvent* e);
143  virtual void mousePressEvent(QMouseEvent*);
144  protected slots:
145  void formbutton_clicked(void);
146  void close_form(void);
147  void designbutton_clicked(void);
148  void fieldbutton_clicked(void);
149  void field_created(void);
150  void save_form(void);
151  void saveas_form(void);
152  void bulkfont_clicked(void);
153  void bulkforegroundcolour_clicked(void);
154  void bulkbackgroundcolour_clicked(void);
155  void grid_partinfocus(hk_kdegridpart*);
156  void grid_partoutfocus(hk_kdegridpart*);
157  void slot_focuswidget_changed();
158  void slot_has_changed();
159  void clipboard_changed();
160  void taborder_clicked();
161  void withlabelbutton_clicked();
162  void show_gridcolumndialog();
163  void filterdefinebutton_clicked();
164  void clear_filter();
165  void reload_form();
166  private:
167  KRadioAction* p_designaction;
168  KRadioAction* p_viewaction;
169  KAction* p_saveaction;
170  KAction* p_saveasaction;
171 
172  KRadioAction* p_pointeraction;
173  KRadioAction* p_lineeditaction;
174  KRadioAction* p_labelaction;
175  KRadioAction* p_multilineeditaction;
176  KRadioAction* p_booleanaction;
177  KRadioAction* p_comboboxaction;
178  KRadioAction* p_gridaction;
179  KRadioAction* p_selectoraction;
180  KRadioAction* p_buttonaction;
181  KRadioAction* p_subformaction;
182  KRadioAction* p_imageaction;
183  KRadioAction* p_tabwidgetaction;
184  KRadioAction* p_dateaction;
185  KToggleAction* p_filterdefinitionaction;
186  KToggleAction* p_filterexecaction;
187  KToggleAction* p_withlabelaction;
188  KAction* p_clearfilteraction;
189  KActionMenu* p_bulkaction;
190  KAction* p_bulkfontaction;
191  KAction* p_bulkforegroundcolouraction;
192  KAction* p_bulkbackgroundcolouraction;
193  KAction* p_deleteaction;
194  KAction* p_copyaction;
195  KAction* p_pasteaction;
196  KAction* p_cutaction;
197  KAction* p_reloadaction;
198  KAction* p_formpropertyaction;
199  KActionMenu* p_resizeaction;
200  KAction* p_minwidthaction;
201  KAction* p_maxwidthaction;
202  KAction* p_minheightaction;
203  KAction* p_maxheightaction;
204  KAction* p_minsizeaction;
205  KAction* p_maxsizeaction;
206  KActionMenu* p_alignaction;
207  KAction* p_alignleftaction;
208  KAction* p_alignrightaction;
209  KAction* p_aligntopaction;
210  KAction* p_alignbottomaction;
211  KAction* p_dbdesigneraction;
212  KAction* p_taborderaction;
213  KAction* p_definegridcolumnaction;
214  hk_kdeformpart* p_formpart;
215  hk_string p_callerform;
216 
217  hk_kdetoolbar* toolbar;
218  hk_kdesimpleform* p_form;
219  hk_kderowselector* p_rowselector;
220  QScrollView* p_scrollview;
221  bool p_nodesignmode;
222  bool p_dontclose;
223 };
224 #endif
hk_dslineedit * new_lineedit(void)
Definition: hk_kdeformpartwidget.cpp:380
KDE Widget to select a specific row.
Definition: hk_kderowselector.h:32
hk_dsboolean * new_bool(void)
Definition: hk_kdeformpartwidget.cpp:390
Definition: hk_kdeproperty.h:21
hk_dsmemo * new_memo(void)
Definition: hk_kdeformpartwidget.cpp:400
Definition: hk_kdetoolbar.h:26
bool set_presentationdatasource(long n, bool r=true)
Definition: hk_kdeformpartwidget.cpp:509
KDE Widget to display forms.
Definition: hk_kdesimpleform.h:41
void set_mode(hk_presentation::enum_mode s)
Definition: hk_kdeformpartwidget.cpp:272
hk_kdesimpleform * simpleform(void)
Definition: hk_kdeformpartwidget.cpp:676
hk_dsgrid * new_grid(void)
Definition: hk_kdeformpartwidget.cpp:370
void set_autoclose(bool c)
Definition: hk_kdeformpartwidget.cpp:617
void set_nodesignmode(bool n)
Definition: hk_kdeformpartwidget.cpp:682
KDE high level widget to display and design forms.
Definition: hk_kdeformpartwidget.h:48
hk_dsrowselector * new_rowselector(void)
Definition: hk_kdeformpartwidget.cpp:420
hk_button * new_button(void)
Definition: hk_kdeformpartwidget.cpp:410
void set_formsize(unsigned int width, unsigned int height)
Definition: hk_kdeformpartwidget.cpp:439
void set_database(hk_database *db)
Definition: hk_kdeformpartwidget.cpp:448