00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef GCU_DOCUMENT_H
00027 #define GCU_DOCUMENT_H
00028
00029 #include <gcu/object.h>
00030 #include <gcu/macros.h>
00031 #include <string>
00032
00033 using namespace std;
00034
00035 namespace gcu
00036 {
00037
00038 class Application;
00039
00043 class Document: public Object
00044 {
00045 friend class gcu::Object;
00046 public:
00052 Document (Application *App = NULL);
00056 virtual ~Document ();
00057
00058 public:
00059
00067 string& GetTranslatedId (const char* id) {return m_TranslationTable[id];}
00068
00075 void EraseTranslationId (const char* Id) {m_TranslationTable.erase (Id);}
00076
00082 void EmptyTranslationTable() {m_TranslationTable.clear();}
00083
00084 void SetTitle (string& title) {m_Title = title;}
00085 void SetTitle (char const *title) {m_Title = title;}
00086 string &GetTitle () {return m_Title;}
00087
00088 private:
00089
00099 gchar* GetNewId (gchar* id, bool Cache = true);
00100
00101 private:
00102 map <string, string> m_TranslationTable;
00103
00104 protected:
00105 string m_Title;
00106
00107 GCU_PROT_PROP (Application *, App)
00108 };
00109
00110 }
00111 #endif //GCU_DOCUMENT_H