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
 

-- 


Reply via email to