Databasehandlingdialogclasses  0.5.3
hk_kdesimpleform.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_KDESIMPLEFORM_H
13 #define HK_KDESIMPLEFORM_H
14 #include "hk_form.h"
15 #include <qwidget.h>
16 #include <kparts/partmanager.h>
17 class hk_kdeformfocus;
18 class hk_kdeproperty;
19 class hk_kdeform;
21 class QPopupMenu;
22 class KAction;
23 class KActionMenu;
24 class hk_kdegridpart;
26 class KActionCollection;
27 
41 class hk_kdesimpleform :public QWidget,public hk_form
42 {
43  Q_OBJECT
44 friend class hk_kdeform;
45 friend class hk_kdeformpartwidget;
46  public:
47  hk_kdesimpleform(QWidget* wid,const char* n=0,WFlags f=0);
48  virtual ~hk_kdesimpleform(void);
52  void set_autoclose(bool c){p_autoclose=c;}
53  virtual bool set_mode(enum_mode s);
54  hk_kdeproperty* propertyeditor(void);
55  hk_kdeform* kdeform()const ;
56  hk_kdeformpartwidget* formpartwidget() const;
57  void set_focus(QWidget*, bool control);
58  virtual void script_error(hk_visible*, hk_interpreter::enum_action);
59  //bool ctrl_key_pressed(void) const;
60  KParts::PartManager* partsmanager()const{return p_partsmanager;}
61  bool focus_multipleselected(void) const;
62  enum enum_adjust {al,ar,at,ab,sminw,smaxw,sminh,smaxh,smaxs,smins};
63 virtual void reset_has_changed(void);
64 virtual void goto_taborder_next();
65 virtual void goto_taborder_previous();
66 virtual void goto_taborder_first();
67 virtual void goto_taborder_last();
68 virtual void set_focus(hk_visible*);
69  void hide();
70 virtual void show_widget(void);
71 virtual void hide_widget(void);
72 virtual bool close_widget(void);
73  virtual void loaddata(xmlNodePtr definition);
74  void set_create_with_label(bool);
75  bool create_with_label(void) const;
76 
77  signals:
78  void mouseclick(const QPoint&);
79  void field_created(void);
80  void signal_closed(QWidget*);
81  void signal_focuswidget_changed(void);
82  void signal_has_changed(void);
83  void signal_name_changed(void);
84 
85  public slots:
86  void set_field2create(enum_visibletype);
87  hk_kdeformfocus* formfocus(void)const {return p_focus;}
88 virtual void show_property(void);
89  void set_for_all(enum_bulkoperation);
90  void copy(void);
91  void paste(void);
92  void cut(void);
93  void adjust_widgets(enum_adjust);
94  void align_left(void);
95  void align_right(void);
96  void align_top(void);
97  void align_bottom(void);
98  void adjust_minw(void);
99  void adjust_maxw(void);
100  void adjust_minh(void);
101  void adjust_maxh(void);
102  void adjust_mins(void);
103  void adjust_maxs(void);
104  void delete_widgets(void);
105  void copy_widgets(void);
106  void paste_widgets(void);
107  void cut_widgets(void);
108  void enable_actions(void);
109  void grid_partinfocus(hk_kdegridpart*);
110  void grid_partoutfocus(hk_kdegridpart*,QFocusEvent*);
111  void dbdesignaction(void);
112  void designer_deleted(void);
113  void load_form(const hk_string& name="");
114 virtual bool show_asdialog(hk_form* parentform=NULL);
115 virtual int screen_width();
116 virtual int screen_height();
117 virtual bool intervaltasks(void);
118 
119  protected:
120  virtual void closeEvent ( QCloseEvent* e);
121  virtual void focusInEvent ( QFocusEvent * );
122  virtual void focusOutEvent ( QFocusEvent * );
123  virtual void widget_specific_tooltip_changed(void);
124  virtual bool focusNextPrevChild(bool forward);
125  virtual void set_has_changed(enum_has_changed forcesetting=standard);
126  void set_kdeform(hk_kdeform*);
127  void set_formpartwidget(hk_kdeformpartwidget*);
128  void set_actions(KActionCollection*);
129  bool has_already_focus(QWidget*);
130  virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight);
131  virtual void widget_specific_set_name(void);
132 
133  virtual hk_dsgrid* widget_specific_new_grid(void);
134  virtual hk_dsrowselector* widget_specific_new_rowselector(void);
135  virtual hk_dslineedit* widget_specific_new_lineedit(void);
136  virtual hk_dsboolean* widget_specific_new_bool(void);
137  virtual hk_dsmemo* widget_specific_new_memo(void);
138  virtual hk_button* widget_specific_new_button(void);
139  virtual hk_dscombobox* widget_specific_new_combobox(void);
140  virtual hk_label* widget_specific_new_label(void);
141  virtual hk_subform* widget_specific_new_subform(void);
142  virtual void widget_specific_fieldresize(hk_visible* v);
143  virtual void widget_specific_presentationresize(void);
144  virtual void before_source_vanishes(void);
145  virtual void widget_specific_modechanges(enum_mode);
146  virtual void widget_specific_presentationdatasource(long);
147  virtual void widget_specific_after_loadform(void);
148  virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
149  virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
150  virtual hk_dsdate* widget_specific_new_date(void);
151  virtual hk_dsimage* widget_specific_new_image(void);
152  virtual hk_tabvisible* widget_specific_new_tabvisible(void);
153  virtual void widget_specific_enabled_changed(void);
154  virtual void database_has_vanished(void);
155 
156  virtual void paintEvent(QPaintEvent*);
157  virtual void mousePressEvent(QMouseEvent*);
158  virtual void mouseReleaseEvent(QMouseEvent*);
159  virtual void mouseDoubleClickEvent(QMouseEvent*);
160 
161  virtual void keyPressEvent ( QKeyEvent * );
162  virtual void keyReleaseEvent ( QKeyEvent * );
163  bool eventFilter(QObject* object,QEvent* event);
164  bool formeventFilter(QObject* object,QEvent* event);
165  void move_widgets(int xdiff,int ydiff);
166  protected slots:
167  virtual void done(void);
168 
169  private:
170 
171 
172  private slots:
173 
174  private:
175  bool is_formobject(QWidget*);
176  hk_visible* create_field(const QPoint&);
177  void clearmultiplefocus(void);
178  void clearfocus(void);
179  void mousemenu(QMouseEvent*);
180  void resize_widget(QWidget*,enum_adjust,int minw,int maxw,int minh,int maxh,int minx,int maxx,int miny,int maxy);
181  void repaint_focus(void);
182  void create_copydata(ostream&,QWidget*);
183  bool p_autoclose;
184  bool p_sourcevanishflag;
185  enum_visibletype p_field2create;
186  hk_kdeformfocus* p_focus;
187  list<hk_kdeformfocus*> p_multiplefocus;
188  bool p_createflag;
189  QPoint p_originalposition;
190  //bool p_controlbutton;
191  hk_kdeproperty* p_property;
192  hk_kdeform* p_kdeform;
193  hk_kdeformpartwidget* p_formpartwidget;
194  QPopupMenu* p_popup;
195  KParts::PartManager* p_partsmanager;
196  KAction* p_deleteaction;
197  KAction* p_copyaction;
198  KAction* p_pasteaction;
199  KAction* p_cutaction;
200  KAction* p_formpropertyaction;
201  KActionMenu* p_resizeaction;
202  KAction* p_minwidthaction;
203  KAction* p_maxwidthaction;
204  KAction* p_minheightaction;
205  KAction* p_maxheightaction;
206  KAction* p_minsizeaction;
207  KAction* p_maxsizeaction;
208  KActionMenu* p_alignaction;
209  KAction* p_alignleftaction;
210  KAction* p_alignrightaction;
211  KAction* p_aligntopaction;
212  KAction* p_alignbottomaction;
213  hk_kdesimpleformprivate* p_private;
214  void set_currentobject(hk_visible* );
215 // KAction* p_resizeaction;
216 // KAction* p_moveaction;
217 };
218 #endif
void set_autoclose(bool c)
Definition: hk_kdesimpleform.h:52
Definition: hk_kdeproperty.h:21
KDE high level widget to display and design forms.
Definition: hk_kdeform.h:49
Definition: hk_kdesimpleform.cpp:65
KDE Widget to display forms.
Definition: hk_kdesimpleform.h:41
void set_mode(hk_presentation::enum_mode s)
Definition: hk_kdeformpartwidget.cpp:272
Definition: hk_kdeformfocus.h:51
KDE high level widget to display and design forms.
Definition: hk_kdeformpartwidget.h:48