Changeset 7478 in orxonox.OLD for branches/qt_gui/src/lib/gui/gui_saveable.h
- Timestamp:
- May 2, 2006, 9:34:48 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/qt_gui/src/lib/gui/gui_saveable.h
r7470 r7478 12 12 13 13 // FORWARD DECLARATION 14 namespace OrxGui 14 namespace OrxGui 15 { 16 //! A class for ... 17 class GuiSaveable 15 18 { 16 //! A class for ... 17 class GuiSaveable 18 { 19 public: 20 protected: 21 GuiSaveable(const std::string& optionName); 22 virtual ~GuiSaveable(); 19 public: 20 virtual ~GuiSaveable(); 23 21 24 22 void makeSaveable(); 25 23 26 27 24 virtual void load(const MultiType& value) = 0; 25 virtual const MultiType& save() = 0; 28 26 29 30 31 27 MultiType& getValue() { return this->value; }; 28 const MultiType& getValue() const { return this->value; }; 29 bool isSaveable() const { return this->bSaveable; }; 32 30 33 protected: 34 virtual void makingElementSaveable() {}; 31 protected: 32 GuiSaveable(const std::string& optionName); 33 virtual void makingElementSaveable() {}; 35 34 36 37 38 39 35 private: 36 MultiType value; 37 bool bSaveable; 38 }; 40 39 41 40 42 41 43 class GuiSaveableGroup : virtual public GuiSaveable 44 { 45 public: 46 GuiSaveableGroup(const std::string& name); 47 ~GuiSaveableGroup(); 42 class GuiSaveableGroup : public GuiSaveable 43 { 44 public: 45 virtual ~GuiSaveableGroup(); 48 46 49 50 47 void addSaveable(GuiSaveable* saveable); 48 void removeSaveable(GuiSaveable* saveable); 51 49 52 protected: 53 virtual void makingElementSaveable(); 54 private: 55 std::vector<GuiSaveable*> saveables; 56 static std::vector<GuiSaveableGroup*> saveableGroups; 57 }; 50 protected: 51 GuiSaveableGroup(const std::string& name); 52 virtual void makingElementSaveable(); 58 53 59 } 54 private: 55 std::vector<GuiSaveable*> saveables; 56 static std::vector<GuiSaveableGroup*> saveableGroups; 57 }; 58 59 } 60 60 #endif /* _GUI_SAVEABLE_H */
Note: See TracChangeset
for help on using the changeset viewer.