[prev in list] [next in list] [prev in thread] [next in thread]
List: enlightenment-svn
Subject: E SVN: andreas IN trunk/BINDINGS/cxx: edjexx/include/edjexx
From: "Enlightenment SVN" <no-reply () enlightenment ! org>
Date: 2010-11-30 23:04:08
Message-ID: 20101130230408.2922411892E () e2 ! enlightenment ! org
[Download RAW message or body]
Log:
some more C++ wrappers for external access
Author: andreas
Date: 2010-11-30 15:04:07 -0800 (Tue, 30 Nov 2010)
New Revision: 55099
Trac: http://trac.enlightenment.org/e/changeset/55099
Modified:
trunk/BINDINGS/cxx/edjexx/include/edjexx/Part.h \
trunk/BINDINGS/cxx/edjexx/src/Part.cpp \
trunk/BINDINGS/cxx/eflxx_examples/src/elementaryxx/external/main.cpp
Modified: trunk/BINDINGS/cxx/edjexx/include/edjexx/Part.h
===================================================================
--- trunk/BINDINGS/cxx/edjexx/include/edjexx/Part.h 2010-11-30 21:52:49 UTC (rev \
55098)
+++ trunk/BINDINGS/cxx/edjexx/include/edjexx/Part.h 2010-11-30 23:04:07 UTC (rev \
55099) @@ -10,6 +10,9 @@
#include <evasxx/Object.h>
+/* EFL */
+#include <Edje.h>
+
using std::string;
namespace Edjexx {
@@ -36,6 +39,11 @@
Eflxx::CountedPtr <Evasxx::Object> getSwallow ();
+ Eflxx::CountedPtr <Evasxx::Object> getExternalObject ();
+
+ // TODO: wrap Param?
+ bool setParam (const Edje_External_Param *param);
+
//const Evasxx::Object* getObject ( const char* name );
private:
Modified: trunk/BINDINGS/cxx/edjexx/src/Part.cpp
===================================================================
--- trunk/BINDINGS/cxx/edjexx/src/Part.cpp 2010-11-30 21:52:49 UTC (rev 55098)
+++ trunk/BINDINGS/cxx/edjexx/src/Part.cpp 2010-11-30 23:04:07 UTC (rev 55099)
@@ -5,9 +5,6 @@
#include "../include/edjexx/Part.h"
#include "../include/edjexx/Object.h"
-/* EFL */
-#include <Edje.h>
-
/* STD */
#include <map>
@@ -48,7 +45,7 @@
void Part::swallow( Evasxx::Object* object )
{
- edje_object_part_swallow( _parent->obj(), _partname.c_str (), object->obj() );
+ edje_object_part_swallow (_parent->obj(), _partname.c_str (), object->obj());
}
void Part::unswallow( Evasxx::Object* object )
@@ -58,13 +55,27 @@
Eflxx::CountedPtr <Evasxx::Object> Part::getSwallow()
{
- Evas_Object *eo = edje_object_part_swallow_get( _parent->obj(), _partname.c_str () \
); + Evas_Object *eo = edje_object_part_swallow_get (_parent->obj(), _partname.c_str \
());
Evasxx::Object *ret_o = Evasxx::Object::wrap (eo);
return Eflxx::CountedPtr <Evasxx::Object> (ret_o);
}
+Eflxx::CountedPtr <Evasxx::Object> Part::getExternalObject ()
+{
+ Evas_Object *eo = edje_object_part_external_object_get (_parent->obj(), \
_partname.c_str ()); +
+ Evasxx::Object *ret_o = Evasxx::Object::wrap (eo);
+
+ return Eflxx::CountedPtr <Evasxx::Object> (ret_o);
+}
+
+bool Part::setParam (const Edje_External_Param *param)
+{
+ return edje_object_part_external_param_set (_parent->obj (), _partname.c_str (), \
param); +}
+
/*const Evasxx::Object* Part::getObject ( const char* name )
{
return Evasxx::Object::objectLink( edje_object_part_object_get( static_cast <const \
Evas_Object*> (_parent->obj()), name ) );
Modified: trunk/BINDINGS/cxx/eflxx_examples/src/elementaryxx/external/main.cpp
===================================================================
--- trunk/BINDINGS/cxx/eflxx_examples/src/elementaryxx/external/main.cpp 2010-11-30 \
21:52:49 UTC (rev 55098)
+++ trunk/BINDINGS/cxx/eflxx_examples/src/elementaryxx/external/main.cpp 2010-11-30 \
23:04:07 UTC (rev 55099) @@ -47,34 +47,38 @@
edje->setLayer (0);
edje->show ();
- Evas_Object *eo = edje->obj ();
+ Eflxx::CountedPtr <Evasxx::Object> ext_eo (edje->getPart \
("Button01")->getExternalObject ()); + Elmxx::Button *button = static_cast \
<Elmxx::Button*> (&(*ext_eo)); + button->setLabel ("This is a changed button");
- // TODO: C++ wrapper
- Evas_Object *ext_eo = edje_object_part_external_object_get (eo, "Button01");
- elm_button_label_set (ext_eo, "This is a changed button");
+ Eflxx::CountedPtr <Evasxx::Object> ext_eo2 (edje->getPart \
("List01")->getExternalObject ()); + Elmxx::List *list = static_cast <Elmxx::List*> \
(&(*ext_eo2)); + assert (list->append ("1. Line", NULL, NULL));
+ assert (list->append ("2. Line", NULL, NULL));
+ assert (list->append ("3. Line", NULL, NULL));
+ assert (list->append ("4. Line", NULL, NULL));
+ list->go ();
- ext_eo = edje_object_part_external_object_get (eo, "List01");
- assert (elm_list_item_append (ext_eo, "1. Line", NULL, NULL, NULL, NULL));
- assert (elm_list_item_append (ext_eo, "2. Line", NULL, NULL, NULL, NULL));
- assert (elm_list_item_append (ext_eo, "3. Line", NULL, NULL, NULL, NULL));
- assert (elm_list_item_append (ext_eo, "4. Line", NULL, NULL, NULL, NULL));
- elm_list_go (ext_eo);
-
- ext_eo = edje_object_part_external_object_get (eo, "Progressbar01");
- elm_progressbar_label_set (ext_eo, "This is the status");
- elm_progressbar_value_set (ext_eo, 0.5);
+ Eflxx::CountedPtr <Evasxx::Object> ext_eo3 (edje->getPart \
("Progressbar01")->getExternalObject ()); + Elmxx::Progressbar *progressbar = \
static_cast <Elmxx::Progressbar*> (&(*ext_eo3)); + progressbar->setLabel ("This is \
the status"); + progressbar->setValue (0.5);
+ Eflxx::CountedPtr <Edjexx::Part> part (edje->getPart ("Slider01"));
+
Edje_External_Param param;
param.type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
param.name = "value";
param.d = 5;
- edje_object_part_external_param_set (eo, "Slider01", ¶m);
Edje_External_Param param2;
param2.type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
param2.name = "label";
param2.s = "Changed Slider Value";
- edje_object_part_external_param_set (eo, "Slider01", ¶m2);
+
+ part->setParam (¶m);
+ part->setParam (¶m2);
+
bg->setWeightHintSize (1.0, 1.0);
elmWin->addObjectResize (*bg);
------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
enlightenment-svn mailing list
enlightenment-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic