Databaseconnectionclasses  0.5.3
hk_dsvisible.h
1 // ****************************************************************************
2 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org>
3 // This file is part of the hk_classes 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 COPYING 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 #ifndef HK_DSVISIBLE
12 #define HK_DSVISIBLE
13 #include "hk_definitions.h"
14 #include "hk_visible.h"
15 #include "hk_datetime.h"
16 
17 using namespace std;
18 class hk_datasource;
32 
33 {
34  friend class hk_datasource;
35  public:
36  hk_dsvisible(hk_presentation* presentation=NULL);
37  virtual ~hk_dsvisible(void);
38  virtual void set_datasource(hk_datasource* d);
39  virtual bool set_presentationdatasource(long n, bool registerchange=true);
40  long presentationdatasource(void);
41  hk_datasource* datasource(void);
42  virtual void savedata(ostream& s, bool savedatasource,bool saveall);
43  virtual void savedata(ostream& s );
44  virtual void loaddata(xmlNodePtr definition);
45  void set_readonly(bool readonly);
46  bool is_readonly(void) const;
51  void set_before_row_change_action(const hk_string&, bool registerchange=true,bool force_setting=true);
52  hk_string before_row_change_action(void);
57  void set_after_row_change_action(const hk_string&, bool registerchange=true,bool force_setting=true);
58  hk_string after_row_change_action(void);
63  void set_before_update_action(const hk_string&, bool registerchange=true,bool force_setting=true);
64  hk_string before_update_action(void);
69  void set_after_update_action(const hk_string&, bool registerchange=true,bool force_setting=true);
70  hk_string after_update_action(void);
75  void set_before_delete_action(const hk_string&, bool registerchange=true,bool force_setting=true);
76  hk_string before_delete_action(void);
81  void set_after_delete_action(const hk_string&, bool registerchange=true,bool force_setting=true);
82  hk_string after_delete_action(void);
87  void set_before_insert_action(const hk_string&, bool registerchange=true,bool force_setting=true);
88  hk_string before_insert_action(void);
93  void set_after_insert_action(const hk_string&, bool registerchange=true,bool force_setting=true);
94  hk_string after_insert_action(void);
95 
96 
97 
98 virtual hk_string tag_value(int tagnumber, bool& ok);
99 
100 virtual void action_before_store_changed_data(void);
101 virtual void action_after_store_changed_data(void);
102 virtual void action_before_row_change(void);
103 virtual void action_after_row_change(void);
104 virtual void action_before_delete(void);
105 virtual void action_after_delete(void);
106 virtual void action_before_insert(void);
107 virtual void action_after_insert(void);
108 
109 
110 
111 
112 
113  protected:
114  void row_change(void);
115  void batch_next(void);
116  void batch_previous(void);
117 
118  void insert_mode(void);
126  virtual void widget_specific_insert_mode(void){}
134  virtual bool widget_specific_row_change(void) {return false;}
135  virtual void widget_specific_batch_next(void) {}
136  virtual void widget_specific_batch_previous(void) {}
142  virtual void widget_specific_enable_disable(void){}
143  virtual void widget_specific_enable(void){}
144  virtual void widget_specific_disable(void){}
145  virtual void widget_specific_row_added(void){}
146  virtual void widget_specific_row_deleted(void){}
152  virtual void before_row_change(void);
153  virtual void before_store_changed_data(void);
154  virtual void after_store_changed_data(void);
155  virtual void before_insert_row(void){}
156  virtual void before_datasource_enables(void){}
161  virtual bool datasource_disable(void);
166  virtual bool datasource_enable(void);
171  virtual void datasource_delete(void);
178  virtual void row_added(void);
179  virtual void row_deleted(void);
180  virtual bool columns_new_created(void){return true;}
181  virtual void list_changes(listtype type);
190  virtual bool before_columns_deleted(void){return true;}
196  virtual bool table_structure_changes(void){return true;}
203  virtual void before_source_vanishes(void);
210  virtual bool presentationmode_changed(void);
211  hk_datasource* p_datasource;
212  hk_datetime p_date;
213 #ifdef HK_DEBUG
214  hk_string debug_p_columnname;
215 #endif
216 
217 
218 
219  private:
220  hk_dsvisiblemodeprivate* p_designdata;
221  hk_dsvisiblemodeprivate* p_viewdata;
222  hk_dsvisibleprivate* p_private;
223 //p_already_handled is used from hk_datasource in bulk operations to find out if this object has been already handled.
224  bool p_already_handled;
225 
226 };
227 #endif
virtual void widget_specific_insert_mode(void)
Definition: hk_dsvisible.h:126
base class for visible widgets without column data connection
Definition: hk_dsvisible.h:31
Definition: hk_dsvisible.cpp:45
virtual bool widget_specific_row_change(void)
Definition: hk_dsvisible.h:134
virtual void widget_specific_presentationdatasource(long)
Definition: hk_dsvisible.h:209
void savedata(ostream &s, bool saveall=true)
Definition: hk_datasource.cpp:3964
represents a resultquery or a table of a database.
Definition: hk_datasource.h:45
Definition: hk_dsvisible.cpp:19
base class for visible widgets
Definition: hk_visible.h:35
base class for multidatasource based classes like forms and reports
Definition: hk_presentation.h:40
void set_readonly(bool r)
Definition: hk_datasource.cpp:839
void loaddata(xmlNodePtr definition, bool loadsql=true)
Definition: hk_datasource.cpp:4046
virtual bool table_structure_changes(void)
Definition: hk_dsvisible.h:196
translates date and/or time values in different formats
Definition: hk_datetime.h:25
virtual bool before_columns_deleted(void)
Definition: hk_dsvisible.h:190
virtual void widget_specific_enable_disable(void)
Definition: hk_dsvisible.h:142
bool is_readonly(void) const
Definition: hk_datasource.cpp:831