tasn pushed a commit to branch master. http://git.enlightenment.org/bindings/cxx/eflxx.git/commit/?id=eb13897f44b7c770cb3802c5ee7e60ccd6f8a652
commit eb13897f44b7c770cb3802c5ee7e60ccd6f8a652 Author: Andreas Volz <[email protected]> Date: Sat Aug 1 13:18:38 2009 +0000 Layout C++ wrapper SVN revision: 41556 --- elementaryxx/include/elementaryxx/Elementaryxx.h | 1 + elementaryxx/include/elementaryxx/ElmBackground.h | 3 -- elementaryxx/include/elementaryxx/ElmLayout.h | 36 ++++++++++++++++++++ elementaryxx/include/elementaryxx/ElmTable.h | 3 -- elementaryxx/include/elementaryxx/ElmWidget.h | 1 + elementaryxx/include/elementaryxx/Makefile.am | 3 +- elementaryxx/src/ElmLayout.cpp | 40 +++++++++++++++++++++++ elementaryxx/src/Makefile.am | 3 +- 8 files changed, 82 insertions(+), 8 deletions(-) diff --git a/elementaryxx/include/elementaryxx/Elementaryxx.h b/elementaryxx/include/elementaryxx/Elementaryxx.h index 70f6e27..b586ac6 100644 --- a/elementaryxx/include/elementaryxx/Elementaryxx.h +++ b/elementaryxx/include/elementaryxx/Elementaryxx.h @@ -27,6 +27,7 @@ #include "ElmList.h" #include "ElmListItem.h" #include "ElmTable.h" +#include "ElmLayout.h" #endif // ELEMENTARYXX_H diff --git a/elementaryxx/include/elementaryxx/ElmBackground.h b/elementaryxx/include/elementaryxx/ElmBackground.h index 6673934..cd6d236 100644 --- a/elementaryxx/include/elementaryxx/ElmBackground.h +++ b/elementaryxx/include/elementaryxx/ElmBackground.h @@ -4,9 +4,6 @@ /* STL */ #include <string> -/* EFL */ -#include <Elementary.h> - /* ELFxx */ #include "ElmWidget.h" diff --git a/elementaryxx/include/elementaryxx/ElmLayout.h b/elementaryxx/include/elementaryxx/ElmLayout.h new file mode 100644 index 0000000..cf507fa --- /dev/null +++ b/elementaryxx/include/elementaryxx/ElmLayout.h @@ -0,0 +1,36 @@ +#ifndef ELM_LAYOUT_H +#define ELM_LAYOUT_H + +/* STL */ +#include <string> + +/* ELFxx */ +#include "ElmWidget.h" + +namespace efl { + +class ElmLayout : public ElmWidget +{ +public: + static ElmLayout *factory (EvasObject &parent); + + bool setFile (const std::string &file); + + bool setFile (const std::string &file, const std::string &group); + + void setContent (const std::string &swallow, const EvasObject &content); + + //EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj); + + + +private: + ElmLayout (); // forbid standard constructor + ElmLayout (const ElmLayout&); // forbid copy constructor + ElmLayout (EvasObject &parent); // private construction -> use factory () + ~ElmLayout (); // forbid direct delete -> use ElmWidget::destroy() +}; + +} // end namespace efl + +#endif // ELM_LAYOUT_H diff --git a/elementaryxx/include/elementaryxx/ElmTable.h b/elementaryxx/include/elementaryxx/ElmTable.h index d9b998a..2785772 100644 --- a/elementaryxx/include/elementaryxx/ElmTable.h +++ b/elementaryxx/include/elementaryxx/ElmTable.h @@ -4,9 +4,6 @@ /* STL */ #include <string> -/* EFL */ -#include <Elementary.h> - /* ELFxx */ #include "ElmWidget.h" diff --git a/elementaryxx/include/elementaryxx/ElmWidget.h b/elementaryxx/include/elementaryxx/ElmWidget.h index b614af0..25c8ce6 100644 --- a/elementaryxx/include/elementaryxx/ElmWidget.h +++ b/elementaryxx/include/elementaryxx/ElmWidget.h @@ -5,6 +5,7 @@ #include <string> /* EFL */ +#include <Elementary.h> /* ELFxx */ #include <evasxx/EvasSmart.h> diff --git a/elementaryxx/include/elementaryxx/Makefile.am b/elementaryxx/include/elementaryxx/Makefile.am index 8f051dd..899e62e 100644 --- a/elementaryxx/include/elementaryxx/Makefile.am +++ b/elementaryxx/include/elementaryxx/Makefile.am @@ -21,7 +21,8 @@ libelementaryxx_HEADERS = \ ElmList.h \ ElmListItem.h \ ElmTable.h \ - ElmWidget.h + ElmWidget.h \ + ElmLayout.h libelementaryxxdir = \ $(pkgincludedir) diff --git a/elementaryxx/src/ElmLayout.cpp b/elementaryxx/src/ElmLayout.cpp new file mode 100644 index 0000000..849d20d --- /dev/null +++ b/elementaryxx/src/ElmLayout.cpp @@ -0,0 +1,40 @@ +#ifdef HAVE_CONFIG_H + #include <config.h> +#endif + +#include "../include/elementaryxx/ElmLayout.h" + +using namespace std; + +namespace efl { + +ElmLayout::ElmLayout (EvasObject &parent) +{ + o = elm_layout_add (parent.obj ()); + + elmInit (); +} + +ElmLayout::~ElmLayout () {} + +ElmLayout *ElmLayout::factory (EvasObject &parent) +{ + return new ElmLayout (parent); +} + +bool ElmLayout::setFile (const std::string &file) +{ + return elm_layout_file_set (o, file.c_str (), NULL); +} + +bool ElmLayout::setFile (const std::string &file, const std::string &group) +{ + return elm_layout_file_set (o, file.c_str (), group.c_str ()); +} + +void ElmLayout::setContent (const std::string &swallow, const EvasObject &content) +{ + elm_layout_content_set (o, swallow.c_str (), content.obj ()); +} + +} // end namespace efl diff --git a/elementaryxx/src/Makefile.am b/elementaryxx/src/Makefile.am index be8fedb..e9e05e3 100644 --- a/elementaryxx/src/Makefile.am +++ b/elementaryxx/src/Makefile.am @@ -37,5 +37,6 @@ libelementaryxx_la_SOURCES = \ ElmList.cpp \ ElmListItem.cpp \ ElmTable.cpp \ - ElmWidget.cpp + ElmWidget.cpp \ + ElmLayout.cpp --
