2
// C++ Interface: EntityEditor
7
// Author: Erik Hjortsberg <erik.hjortsberg@gmail.com>, (C) 2007
9
// This program is free software; you can redistribute it and/or modify
10
// it under the terms of the GNU General Public License as published by
11
// the Free Software Foundation; either version 2 of the License, or
12
// (at your option) any later version.
14
// This program is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
// GNU General Public License for more details.
19
// You should have received a copy of the GNU General Public License
20
// along with this program; if not, write to the Free Software
21
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.//
23
#ifndef EMBEROGRE_GUIENTITYEDITOR_H
24
#define EMBEROGRE_GUIENTITYEDITOR_H
28
#include <Atlas/Message/Element.h>
57
Adapters::Atlas::AdapterBase* Adapter;
58
CEGUI::Window* ContainerWindow;
62
@brief Helper class for the entity editor widget.
63
The main logic of the entity editor is in the lua file. This class acts like a helper class, implementing C++ functionality that might be cumbersome to code in Lua.
64
Normally an instance of this is created by the lua widget for each entity that's being edited.
66
@author Erik Hjortsberg <erik.hjortsberg@gmail.com>
72
* @param entity The entity which should be edited.
73
* @param rootAdapter The root adapter for the attributes.
75
EntityEditor(Eris::Entity* entity, Adapters::Atlas::MapAdapter* rootAdapter);
77
virtual ~EntityEditor();
81
Atlas::Message::Element createMapElement();
82
Atlas::Message::Element createListElement();
83
Atlas::Message::Element createStringElement();
84
Atlas::Message::Element createIntElement();
85
Atlas::Message::Element createFloatElement();
86
Atlas::Message::Element createPosition2dElement();
89
Adapters::Atlas::MapAdapter* mRootAdapter;
91
Eris::Entity* mEntity;