Linux multi-monitor fullscreen support
[ryzomcore.git] / ryzom / client / src / interface_v3 / group_skills.h
blobb341147688625b88159cf5d35538ea5df0ab0b41
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2013 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
6 //
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #ifndef NL_GROUP_SKILLS_H
23 #define NL_GROUP_SKILLS_H
25 #include "nel/misc/types_nl.h"
26 #include "nel/gui/interface_group.h"
27 #include "nel/gui/group_tree.h"
29 // ***************************************************************************
30 /** A Group that display all skills by category in a job
31 * \author Matthieu 'TrapII' Besson
32 * \author Nevrax France
33 * \date 2003
35 class CGroupSkills : public CInterfaceGroup
38 public:
40 CGroupSkills( const TCtorParam &param );
41 virtual ~CGroupSkills();
42 virtual bool parse (xmlNodePtr cur, CInterfaceGroup *parentGroup);
43 virtual void checkCoords();
44 virtual void clearGroups();
46 static bool InhibitSkillUpFX;
48 // ******************
49 private:
51 void rebuild();
52 void createAllTreeNodes();
54 private:
56 // observer to know that skills are modified
57 struct CSkillsObs : public NLMISC::ICDBNode::IPropertyObserver
59 CGroupSkills *Owner;
60 virtual void update (NLMISC::ICDBNode *node);
61 } _SkillsObs;
62 friend struct CSkillsObs;
64 private:
66 /// Tell if we have to rebuild all the containers (only if new skill)
67 bool _MustRebuild;
69 /// Template names for drawing a skill and a specialized skill
70 std::string _TemplateSkill;
72 /// AH for each ctrl node
73 std::string _AHCtrlNode;
75 CGroupTree *_Tree;
76 CGroupTree::SNode::TRefPtr _TreeRoot;
77 std::vector<CGroupTree::SNode::TRefPtr> _AllNodes;
82 #endif // NL_GROUP_SKILLS_H
84 /* End of group_skills.h */