00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_DSMODEVISIBLE
00012 #define HK_DSMODEVISIBLE
00013 #include "hk_dsvisible.h"
00014 class hk_dsgrid;
00015
00016 class hk_dsmodevisibleprivate;
00017 class hk_dsmodevisible: public hk_dsvisible
00018 {
00019
00020 public:
00021 hk_dsmodevisible(hk_presentation* presentation=NULL);
00022 virtual ~hk_dsmodevisible();
00023 enum enum_mode {designmode,viewmode,filtermode};
00028 virtual bool set_mode(enum_mode s);
00029 virtual void set_designmode(void);
00030 virtual void set_viewmode(void);
00031
00032 enum_mode mode(void) const;
00033 bool has_changed(void) const;
00034 void has_changed(bool);
00035 void set_block_has_changed(bool);
00036 bool block_has_changed(void) const;
00037
00038 virtual void reset_has_changed(void);
00042 bool is_new() const{return p_is_new;}
00043 protected:
00044 virtual void set_has_changed(enum_has_changed forcesetting=standard);
00045 virtual void widget_specific_modechanges(enum_mode){}
00046 virtual bool widget_specific_before_modechanges(enum_mode);
00047 bool p_is_new;
00048
00049 private:
00050 hk_dsmodevisibleprivate* p_private;
00051
00052
00053 };
00054
00055
00056
00057
00058 #endif //HK_DSMODEVISIBLE