Oops. CElmGadget.h is missing. Daniel Juyung Seo (SeoZ)
On Fri, Feb 15, 2013 at 3:33 AM, Enlightenment SVN < no-re...@enlightenment.org> wrote: > Log: > elev8: Add CElmGadget. > > This is only to be used by the Elev8 E17 module. > > Author: acidx > Date: 2013-02-14 10:33:00 -0800 (Thu, 14 Feb 2013) > New Revision: 83901 > Trac: http://trac.enlightenment.org/e/changeset/83901 > > Added: > trunk/PROTO/elev8/src/modules/elm/CElmGadget.cc > Modified: > trunk/PROTO/elev8/src/modules/elm/CElmObject.h > trunk/PROTO/elev8/src/modules/elm/Makefile.am > trunk/PROTO/elev8/src/modules/elm/main.cc > > Added: trunk/PROTO/elev8/src/modules/elm/CElmGadget.cc > =================================================================== > --- trunk/PROTO/elev8/src/modules/elm/CElmGadget.cc > (rev 0) > +++ trunk/PROTO/elev8/src/modules/elm/CElmGadget.cc 2013-02-14 > 18:33:00 UTC (rev 83901) > @@ -0,0 +1,76 @@ > +#include "elm.h" > +#include "CElmGadget.h" > + > +namespace elm { > + > +using namespace v8; > + > +GENERATE_TEMPLATE_FULL(CElmObject, CElmGadget); > + > +CElmGadget::CElmGadget(Local <Object> _jsObject, CElmObject *parent) > + : CElmObject(_jsObject, elm_box_add(parent ? parent->GetEvasObject() : > NULL)) > +{ > +} > + > +CElmGadget::CElmGadget(Local<Object> _jsObject, Evas_Object *parent) > + : CElmObject(_jsObject, elm_box_add(parent)) > +{ > + evas_object_show(eo); > +} > + > +Handle<Value> CElmGadget::CreateWithEvasObjectAsParent(Evas_Object > *parent) > +{ > + CElmGadget *g = new > CElmGadget(CElmObject::GetTemplate()->InstanceTemplate()->NewInstance(), > elm_box_add(parent)); > + return g->GetJSObject(); > +} > + > +Handle<Value> CElmGadget::CreateWithExternalizedEvasObjectAsParent(const > Arguments& args) > +{ > + return CreateWithEvasObjectAsParent((Evas_Object > *)External::Cast(*args[0])->Value()); > +} > + > +Handle<Value> CElmGadget::Pack(Handle<Value> obj, Handle<Value> replace) > +{ > + Local<Value> before = > obj->ToObject()->Get(String::NewSymbol("before")); > + > + if (before->IsUndefined() && !replace->IsUndefined()) > + before = replace->ToObject()->Get(String::NewSymbol("before")); > + else if (before->IsString() || before->IsNumber()) > + before = > GetJSObject()->Get(String::NewSymbol("elements"))->ToObject()->Get(before); > + > + obj = Realise(obj, GetJSObject()); > + > + if (before->IsUndefined()) > + elm_box_pack_end(eo, GetEvasObjectFromJavascript(obj)); > + else > + elm_box_pack_before(eo, GetEvasObjectFromJavascript(obj), > + GetEvasObjectFromJavascript(before)); > + > + return obj; > +} > + > +Handle<Value> CElmGadget::Unpack(Handle<Value> obj) > +{ > + Handle<Object> replace = Object::New(); > + Eina_List *list = elm_box_children_get(eo); > + Eina_List *l = eina_list_data_find_list(list, > GetEvasObjectFromJavascript(obj)); > + if ((l = eina_list_next(l))) > + { > + Evas_Object *_eo = (Evas_Object *)eina_list_data_get(l); > + CElmObject *before = static_cast<CElmObject > *>(evas_object_data_get(_eo, "this")); > + > + if (before) > + replace->Set(String::NewSymbol("before"), > before->GetJSObject()); > + } > + eina_list_free(list); > + delete GetObjectFromJavascript(obj); > + return replace; > +} > + > +void CElmGadget::Initialize(Handle<Object> target) > +{ > + target->Set(String::NewSymbol("Gadget"), GetTemplate()->GetFunction()); > + target->Set(String::NewSymbol("NewGadgetFromEvasObject"), > FunctionTemplate::New(CreateWithExternalizedEvasObjectAsParent)->GetFunction()); > +} > + > +} > \ No newline at end of file > > Modified: trunk/PROTO/elev8/src/modules/elm/CElmObject.h > =================================================================== > --- trunk/PROTO/elev8/src/modules/elm/CElmObject.h 2013-02-14 > 18:32:56 UTC (rev 83900) > +++ trunk/PROTO/elev8/src/modules/elm/CElmObject.h 2013-02-14 > 18:33:00 UTC (rev 83901) > @@ -266,6 +266,8 @@ > static Handle<Value> Realise(const Arguments& args); > > static Handle<Value> Realise(Handle<Value> desc, Handle<Value> parent); > + > + static Handle<Value> Realise(Handle<Value> descValue, Evas_Object > *parentl); > }; > > } > > Modified: trunk/PROTO/elev8/src/modules/elm/Makefile.am > =================================================================== > --- trunk/PROTO/elev8/src/modules/elm/Makefile.am 2013-02-14 > 18:32:56 UTC (rev 83900) > +++ trunk/PROTO/elev8/src/modules/elm/Makefile.am 2013-02-14 > 18:33:00 UTC (rev 83901) > @@ -34,6 +34,7 @@ > CElmFileSelectorButton.cc \ > CElmFileSelectorEntry.cc \ > CElmFlip.cc \ > + CElmGadget.cc \ > CElmGenGrid.cc \ > CElmGenList.cc \ > CElmGrid.cc \ > > Modified: trunk/PROTO/elev8/src/modules/elm/main.cc > =================================================================== > --- trunk/PROTO/elev8/src/modules/elm/main.cc 2013-02-14 18:32:56 UTC > (rev 83900) > +++ trunk/PROTO/elev8/src/modules/elm/main.cc 2013-02-14 18:33:00 UTC > (rev 83901) > @@ -23,6 +23,7 @@ > #include "CElmFileSelectorButton.h" > #include "CElmFileSelectorEntry.h" > #include "CElmFlip.h" > +#include "CElmGadget.h" > #include "CElmGenGrid.h" > #include "CElmGenList.h" > #include "CElmGrid.h" > @@ -229,6 +230,7 @@ > CElmFileSelectorButton::Initialize(target); > CElmFileSelectorEntry::Initialize(target); > CElmFlip::Initialize(target); > + CElmGadget::Initialize(target); > CElmGenGrid::Initialize(target); > CElmGenList::Initialize(target); > CElmGrid::Initialize(target); > > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel