00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_TABVISIBLE
00012 #define HK_TABVISIBLE
00013 #include "hk_visible.h"
00014 #include <vector>
00015
00016 class hk_tabvisiblepageprivate;
00017
00018 class hk_tabvisiblepage:public hk_visible
00019 {
00020 friend class hk_tabvisible;
00021 friend class hk_tabvisibleprivate;
00022
00023 public:
00024 hk_tabvisiblepage(hk_tabvisible* );
00025 virtual ~hk_tabvisiblepage();
00026
00027 private:
00028 hk_tabvisiblepageprivate* p_private;
00029 };
00030
00031 class hk_tabvisibleprivate;
00032 class hk_tabvisiblemodeprivate;
00033
00034
00035 class hk_tabvisible : public hk_visible
00036 {
00037 friend class hk_tabvisiblepage;
00038
00039 public:
00040 hk_tabvisible(hk_form* form=NULL);
00041 virtual ~hk_tabvisible();
00042 void insert_tab(hk_tabvisiblepage* t,int index=-1, bool registerchange=true);
00043 virtual hk_tabvisiblepage* current_page();
00044 hk_tabvisiblepage* tab_at(int);
00045 vector<hk_tabvisiblepage*>* tabpages() const;
00046 virtual void savedata(ostream& s );
00047 virtual void loaddata(xmlNodePtr definition);
00048
00049 protected:
00050
00051 private:
00052 void remove_page(hk_tabvisiblepage*);
00053 hk_tabvisiblemodeprivate* p_designdata;
00054 hk_tabvisiblemodeprivate* p_viewdata;
00055 hk_tabvisibleprivate* p_private;
00056
00057 };
00058 #endif //hk_tabvisible