GG: EveLayout.h Source File

GG

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List
- File Members

EveLayout.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /* GG is a GUI for SDL and OpenGL.
3 Copyright (C) 2003-2008 T. Zachary Laine
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public License
7 as published by the Free Software Foundation; either version 2.1
8 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free
17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18 02111-1307 USA
19
20 If you do not wish to comply with the terms of the LGPL please
21 contact the author as other terms are available for a fee.
22
23 Zach Laine
24 whatwasthataddress@gmail.com */
25
28 #ifndef _EveLayout_h_
29 #define _EveLayout_h_
30
31 #include <GG/adobe/eve_parser.hpp>
32 #include <GG/adobe/dictionary_fwd.hpp>
33
34 #include <iosfwd>
35
36
37 namespace adobe {
38 class sheet_t;
39 }
40
41 namespace boost {
42 class any;
43 }
44
45 namespace GG {
46
47 class Wnd;
48
49 class EveLayout
50 {
51 public:
52 EveLayout(adobe::sheet_t& sheet);
53 ~EveLayout();
54
55 adobe::dictionary_t Contributing() const;
56
57 void Print(std::ostream& os) const;
58
59 adobe::eve_callback_suite_t BindCallbacks();
60
61 void AddCell(adobe::eve_callback_suite_t::cell_type_t type,
62 adobe::name_t name,
63 const adobe::line_position_t& position,
64 const adobe::array_t& initializer,
65 const std::string& brief,
66 const std::string& detailed);
67
68 boost::any AddView(const boost::any& parent,
69 const adobe::line_position_t& position,
70 adobe::name_t name,
71 const adobe::array_t& parameters,
72 const std::string& brief,
73 const std::string& detailed);
74
75 Wnd& Finish();
76
77 private:
78 class Impl;
79 Impl* m_impl;
80 };
81
82 }
83
84 #endif