MyGUI  3.2.1
MyGUI_LayoutData.h
Go to the documentation of this file.
00001 /*
00002  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
00003  * Distributed under the MIT License
00004  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
00005  */
00006 
00007 #ifndef __MYGUI_LAYOUT_DATA_H__
00008 #define __MYGUI_LAYOUT_DATA_H__
00009 
00010 #include "MyGUI_Prerequest.h"
00011 #include "MyGUI_Common.h"
00012 
00013 namespace MyGUI
00014 {
00015 
00016     struct MYGUI_EXPORT ControllerInfo
00017     {
00018         std::string type;
00019         MapString properties;
00020     };
00021 
00022     struct MYGUI_EXPORT WidgetInfo
00023     {
00024     public:
00025         WidgetInfo() :
00026             align(Align::Default),
00027             style(WidgetStyle::Child),
00028             positionType(None)
00029         {
00030         }
00031 
00032     public:
00033         std::vector<WidgetInfo> childWidgetsInfo;
00034         // not map because there might be several properties with same name (for example List items)
00035         VectorStringPairs properties;
00036         MapString userStrings;
00037         std::vector<ControllerInfo> controllers;
00038         std::string type;
00039         std::string skin;
00040         Align align;
00041         WidgetStyle style;
00042         std::string name;
00043         std::string layer;
00044 
00045         enum PositionType { Pixels, Relative, None };
00046         PositionType positionType;
00047         IntCoord intCoord;
00048         FloatCoord floatCoord;
00049     };
00050 
00051     typedef std::vector<WidgetInfo> VectorWidgetInfo;
00052 
00053 } // namespace MyGUI
00054 
00055 #endif // __MYGUI_LAYOUT_DATA_H__