00001 #ifndef EASEL_MANAGER_H_IS_INCLUDED 00002 #define EASEL_MANAGER_H_IS_INCLUDED 00003 00004 /*! 00005 * \file easel_manager.H 00006 * \file Contains the definition of the EaselManager class. 00007 * 00008 * \sa easel_manager.H 00009 * 00010 */ 00011 00012 #include "gest/vieweasel.H" 00013 #include "std/support.H" 00014 00015 class EaselManager { 00016 00017 public: 00018 00019 EaselManager() 00020 : cur_easel_idx(-1) { } 00021 00022 void make_new_easel(const VIEWptr &v); 00023 00024 VIEW_EASELptr cur_easel() const 00025 { return easel(cur_easel_idx); } 00026 00027 void undisplay_cur_easel(); 00028 00029 void next_easel(); 00030 00031 VIEW_EASELptr easel(unsigned idx) const 00032 { return easel_list.valid_index(idx) ? 00033 easel_list[idx] : VIEW_EASELptr(0); } 00034 00035 long num_easels() const 00036 { return easel_list.num(); } 00037 00038 void clear_easels(); 00039 00040 private: 00041 00042 // Not copy constructable or assignable 00043 EaselManager(const EaselManager&); 00044 EaselManager& operator=(const EaselManager&); 00045 00046 LIST<VIEW_EASELptr> easel_list; 00047 long cur_easel_idx; 00048 00049 }; 00050 00051 #endif // EASEL_MANAGER_H_IS_INCLUDED