1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef RY_ENCYCLOPEDIA_MANAGER_H
18 #define RY_ENCYCLOPEDIA_MANAGER_H
20 #include "game_share/msg_encyclopedia.h"
22 // ***************************************************************************
24 * Encyclopedia Management (mostly interface)
25 * \author Matthieu 'TrapII' Besson
26 * \author Nevrax France
29 class CEncyclopediaManager
34 static CEncyclopediaManager
* getInstance()
37 _Instance
= new CEncyclopediaManager
;
42 static void releaseInstance();
44 // to check if incoming text is arrived (for tree that have no viewtextID)
45 void updateAllFrame();
47 // update from network
48 void update(const CEncyclopediaUpdateMsg
&msg
);
50 void clickOnAlbum(uint32 albumName
);
51 void clickOnThema(uint32 themaName
);
55 CEncyclopediaManager();
56 void updateAlbum(const CEncyMsgAlbum
&a
);
57 void updateThema(uint32 nAlbumName
, const CEncyMsgThema
&t
);
59 CEncyMsgAlbum
*getAlbum(uint32 nName
);
61 void rebuildAlbumList();
62 void rebuildAlbumPage(uint32 albumName
);
63 void rebuildThemaPage(uint32 themaName
);
65 bool isStringWaiting();
69 static CEncyclopediaManager
*_Instance
;
71 std::vector
<CEncyMsgAlbum
> _Albums
;
74 uint32 _AlbumNameSelected
;
75 uint32 _ThemaNameSelected
;
80 #define CONT_ENCY "ui:interface:encyclopedia"
81 #define LIST_ENCY_ALBUM "ui:interface:encyclopedia:content:sbtree:tree_list"
82 #define PAGE_ENCY_ALBUM "ui:interface:encyclopedia:content:album"
83 #define PAGE_ENCY_THEMA "ui:interface:encyclopedia:content:theme"
84 #define PAGE_ENCY_HELP "ui:interface:encyclopedia:content:help"
86 #endif // RY_ENCYCLOPEDIA_MANAGER_H
88 /* End of encyclopedia_manager.h */