From: Enlightenment S. <no-...@en...> - 2011-11-30 11:05:37
|
Log: Add notify widget support. Signed-off-by: Sanjeev BA <as2...@sa...> Author: sanjeev Date: 2011-11-30 03:05:27 -0800 (Wed, 30 Nov 2011) New Revision: 65715 Trac: http://trac.enlightenment.org/e/changeset/65715 Added: trunk/PROTO/elev8/data/javascript/notify.js Modified: trunk/PROTO/elev8/data/javascript/Makefile.am trunk/PROTO/elev8/src/bin/elm.cc Modified: trunk/PROTO/elev8/data/javascript/Makefile.am =================================================================== --- trunk/PROTO/elev8/data/javascript/Makefile.am 2011-11-30 11:03:22 UTC (rev 65714) +++ trunk/PROTO/elev8/data/javascript/Makefile.am 2011-11-30 11:05:27 UTC (rev 65715) @@ -31,6 +31,7 @@ list.js \ menu.js \ notepad.js \ + notify.js \ panes.js \ photocam.js \ photo.js \ Modified: trunk/PROTO/elev8/src/bin/elm.cc =================================================================== --- trunk/PROTO/elev8/src/bin/elm.cc 2011-11-30 11:03:22 UTC (rev 65714) +++ trunk/PROTO/elev8/src/bin/elm.cc 2011-11-30 11:05:27 UTC (rev 65715) @@ -4833,6 +4833,89 @@ { NULL, NULL, NULL }, }; +class CElmNotify : public CEvasObject { +protected: + CPropHandler<CElmNotify> prop_handler; + CEvasObject *content; + +public: + CElmNotify(CEvasObject *parent, Local<Object> obj) : + CEvasObject(), + prop_handler(property_list_base) + { + eo = elm_notify_add(parent->top_widget_get()); + construct(eo, obj); + } + + virtual Handle<Value> content_get() const + { + return Undefined(); + } + + virtual void content_set(Handle<Value> val) + { + if (val->IsObject()) + { + content = realize_one(this, val); + if (content) + { + elm_object_content_set(eo, content->get()); + } + } + } + + virtual Handle<Value> orient_get() const + { + return Number::New(elm_notify_orient_get(eo)); + } + + virtual void orient_set(Handle<Value> val) + { + if (val->IsNumber()) + { + double orient = val->ToInt32()->Value(); + elm_notify_orient_set(eo, (Elm_Notify_Orient)orient); + } + } + + virtual Handle<Value> timeout_get() const + { + return Number::New(elm_notify_timeout_get(eo)); + } + + virtual void timeout_set(Handle<Value> val) + { + if (val->IsNumber()) + { + double timeout = val->ToInt32()->Value(); + elm_notify_timeout_set(eo, timeout); + } + } + + virtual Handle<Value> repeat_events_get() const + { + return Boolean::New(elm_notify_repeat_events_get(eo)); + } + + virtual void repeat_events_set(Handle<Value> val) + { + if (val->IsBoolean()) + elm_notify_repeat_events_set(eo, val->BooleanValue()); + } + +}; + +template<> CEvasObject::CPropHandler<CElmNotify>::property_list +CEvasObject::CPropHandler<CElmNotify>::list[] = { + PROP_HANDLER(CElmNotify, content), + PROP_HANDLER(CElmNotify, orient), + PROP_HANDLER(CElmNotify, timeout), + PROP_HANDLER(CElmNotify, repeat_events), + { NULL, NULL, NULL }, +}; + + + CEvasObject * realize_one(CEvasObject *parent, Handle<Value> object_val) { @@ -4912,6 +4995,8 @@ eo = new CElmFileSelectorEntry(parent,obj); else if (!strcmp(*str, "inwin")) eo = new CElmInwin(parent,obj); + else if (!strcmp(*str, "notify")) + eo = new CElmNotify(parent,obj); if (!eo) { |