Linux multi-monitor fullscreen support
[ryzomcore.git] / studio / src / plugins / gui_editor / widget_info.h
blobf920728f072c7872d3442c02c08a29956ebe0c7a
1 // Object Viewer Qt GUI Editor plugin <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/>.
21 #ifndef WIDGET_INFO_H
22 #define WIDGET_INFO_H
24 #include <vector>
25 #include <string>
27 namespace GUIEditor
29 struct SPropEntry
31 std::string propName;
32 std::string propType;
33 std::string propDefault;
35 static SPropEntry create( const char *propname, const char *proptype, const char *propdefault )
37 SPropEntry entry;
38 entry.propName = propname;
39 entry.propType = proptype;
40 entry.propDefault = propdefault;
41 return entry;
44 bool operator==( const SPropEntry &other ) const
46 if( ( propName == other.propName ) &&
47 ( propType == other.propType ) &&
48 ( propDefault == other.propDefault ) )
49 return true;
50 else
51 return false;
55 struct SWidgetInfo
57 std::string name;
58 std::string GUIName;
59 std::string className;
60 std::string ancestor;
61 std::string description;
62 bool isAbstract;
63 std::string icon;
64 bool resolved;
66 std::vector< SPropEntry > props;
68 SWidgetInfo()
70 resolved = false;
71 isAbstract = true;
74 ~SWidgetInfo()
76 resolved = false;
77 isAbstract = false;
80 /// Find a property by it's name
81 std::vector< SPropEntry >::iterator findProp( const std::string &name )
83 std::vector< SPropEntry >::iterator itr = props.begin();
84 while( itr != props.end() )
86 if( itr->propName == name )
87 break;
88 ++itr;
90 return itr;
95 #endif