diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h
index 0be4c02e3..0f9b271ce 100644
--- a/code/nel/include/nel/gui/interface_element.h
+++ b/code/nel/include/nel/gui/interface_element.h
@@ -492,7 +492,9 @@ namespace NLGUI
bool isEditorSelected() const{ return editorSelected; }
void setPosParent( const std::string &id );
+ void getPosParent( std::string &id ) const;
void setSizeParent( const std::string &id );
+ void getSizeParent( std::string &id ) const;
void setSerializable( bool b ){ serializable = b; }
bool IsSerializable() const{ return serializable; }
diff --git a/code/nel/include/nel/gui/interface_parser.h b/code/nel/include/nel/gui/interface_parser.h
index 2bf1df9a8..18ec9045a 100644
--- a/code/nel/include/nel/gui/interface_parser.h
+++ b/code/nel/include/nel/gui/interface_parser.h
@@ -28,6 +28,7 @@
#include "nel/gui/proc.h"
#include "nel/gui/widget_manager.h"
#include "nel/gui/link_data.h"
+#include "nel/gui/variable_data.h"
namespace NLGUI
{
@@ -100,20 +101,6 @@ namespace NLGUI
virtual void setupOptions() = 0;
};
-
- struct VariableData
- {
- std::string entry;
- std::string type;
- std::string value;
- uint32 size;
-
- VariableData()
- {
- size = 0;
- }
- };
-
CInterfaceParser();
virtual ~CInterfaceParser();
@@ -353,7 +340,15 @@ namespace NLGUI
std::map< std::string, std::string > pointerSettings;
std::map< std::string, std::map< std::string, std::string > > keySettings;
+ std::string _WorkDir;
+
public:
+ /// Sets the working directory, where files should be looked for
+ void setWorkDir( const std::string &workdir ){ _WorkDir = workdir; }
+
+ /// Looks up a file in either the working directory or using CPath::lookup
+ std::string lookup( const std::string &file );
+
void initLUA();
void uninitLUA();
bool isLuaInitialized() const{ return luaInitialized; }
@@ -378,6 +373,7 @@ namespace NLGUI
void setEditorMode( bool b ){ editorMode = b; }
+ void setVariable( const VariableData &v );
bool serializeVariables( xmlNodePtr parentNode ) const;
bool serializeProcs( xmlNodePtr parentNode ) const;
bool serializePointerSettings( xmlNodePtr parentNode ) const;
diff --git a/code/nel/include/nel/gui/parser.h b/code/nel/include/nel/gui/parser.h
index db868f70d..bc53e402d 100644
--- a/code/nel/include/nel/gui/parser.h
+++ b/code/nel/include/nel/gui/parser.h
@@ -23,6 +23,7 @@
#include "nel/misc/types_nl.h"
#include "nel/gui/proc.h"
#include "nel/gui/link_data.h"
+#include "nel/gui/variable_data.h"
namespace NLGUI
{
@@ -83,11 +84,13 @@ namespace NLGUI
virtual void removeLinkData( uint32 id ) = 0;
virtual bool getLinkData( uint32 id, SLinkData &linkData ) = 0;
virtual void updateLinkData( uint32 id, const SLinkData &linkData ) = 0;
+ virtual void setVariable( const VariableData &v ) = 0;
virtual bool serializeVariables( xmlNodePtr parentNode ) const = 0;
virtual bool serializeProcs( xmlNodePtr parentNode ) const = 0;
virtual bool serializePointerSettings( xmlNodePtr parentNode ) const = 0;
virtual bool serializeKeySettings( xmlNodePtr parentNode ) const = 0;
virtual CViewBase* createClass( const std::string &name ) = 0;
+ virtual void setWorkDir( const std::string &workdir ) = 0;
};
}
diff --git a/code/nel/include/nel/gui/root_group.h b/code/nel/include/nel/gui/root_group.h
new file mode 100644
index 000000000..58963a3b2
--- /dev/null
+++ b/code/nel/include/nel/gui/root_group.h
@@ -0,0 +1,46 @@
+// Ryzom - MMORPG Framework
+// Copyright (C) 2010 Winch Gate Property Limited
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+
+#ifndef ROOT_GROUP_H
+#define ROOT_GROUP_H
+
+#include
+#include