00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_MODULE
00012 #define HK_MODULE
00013 #include "hk_dbvisible.h"
00014 using namespace std;
00015
00025 class hk_moduleprivate;
00026
00027 class hk_module: public hk_dbvisible
00028 {
00029 public:
00030 hk_module(void);
00031 ~hk_module();
00032 void set_script(const hk_string& s,bool registerchange=true);
00033 hk_string script();
00034 void set_name(const hk_string&);
00035 hk_string name(void);
00036 bool load_module(const hk_string& n="");
00037 bool save_module(const hk_string& n="",bool ask=true);
00038 virtual void savedata(ostream& s );
00039 virtual void loaddata(xmlNodePtr definition);
00040 bool has_changed();
00041 void set_block_has_changed(bool);
00042 bool block_has_changed();
00043 protected:
00044 virtual void widget_specific_has_changed(){}
00045 bool ask_name(void);
00046 void reset_has_changed();
00047 private:
00048 hk_moduleprivate* p_private;
00049 };
00050 #endif //HK_MODULE