From: Enlightenment S. <no-...@en...> - 2010-07-09 20:23:18
|
Log: wrapped append,prepend,.. Author: andreas Date: 2010-07-09 13:23:12 -0700 (Fri, 09 Jul 2010) New Revision: 50164 Modified: trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/Application.h trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/GenList.h trunk/BINDINGS/cxx/elementaryxx/src/Application.cpp trunk/BINDINGS/cxx/elementaryxx/src/GenList.cpp Modified: trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/Application.h =================================================================== --- trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/Application.h 2010-07-09 16:44:33 UTC (rev 50163) +++ trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/Application.h 2010-07-09 20:23:12 UTC (rev 50164) @@ -20,11 +20,16 @@ // EAPI void elm_need_efreet(void); // EAPI void elm_need_e_dbus(void); - double getScale (); - void setScale (double scale); + static double getScale (); + static void setScale (double scale); // EAPI Evas_Coord elm_finger_size_get(void); // EAPI void elm_finger_size_set(Evas_Coord size); + + /*! + * Flush all caches & dump all data that can be to lean down to use less memory + */ + static void flushAll (); }; } // end namespace Elmxx Modified: trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/GenList.h =================================================================== --- trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/GenList.h 2010-07-09 16:44:33 UTC (rev 50163) +++ trunk/BINDINGS/cxx/elementaryxx/include/elementaryxx/GenList.h 2010-07-09 20:23:12 UTC (rev 50164) @@ -316,6 +316,14 @@ */ GenListItem *append (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection); + GenListItem *prepend (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection); + + GenListItem *insertBefore (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection); + + GenListItem *insertAfter (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection); + + void del (GenListItem &item); + GenListItem *getItemSelected () const; /*! @@ -352,6 +360,16 @@ GenList (const GenList&); // forbid copy constructor GenList (Evasxx::Object &parent); // private construction -> use factory () ~GenList (); // forbid direct delete -> use Object::destroy() + + enum InsertOperation + { + Append, + Prepend, + InsertAfter, + InsertBefore + }; + + GenListItem *insertInternal (GenListColumnConstructor *construction, GenList::InsertOperation op, const GenListItem *opItem, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection); static void gl_sel (void *data, Evas_Object *obj, void *event_info); Modified: trunk/BINDINGS/cxx/elementaryxx/src/Application.cpp =================================================================== --- trunk/BINDINGS/cxx/elementaryxx/src/Application.cpp 2010-07-09 16:44:33 UTC (rev 50163) +++ trunk/BINDINGS/cxx/elementaryxx/src/Application.cpp 2010-07-09 20:23:12 UTC (rev 50164) @@ -40,5 +40,10 @@ { elm_scale_set (scale); } + +void Application::flushAll () +{ + elm_all_flush (); +} } // end namespace Elmxx Modified: trunk/BINDINGS/cxx/elementaryxx/src/GenList.cpp =================================================================== --- trunk/BINDINGS/cxx/elementaryxx/src/GenList.cpp 2010-07-09 16:44:33 UTC (rev 50163) +++ trunk/BINDINGS/cxx/elementaryxx/src/GenList.cpp 2010-07-09 20:23:12 UTC (rev 50164) @@ -147,6 +147,26 @@ GenListItem *GenList::append (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection) { + insertInternal (construction, GenList::Append, parent, flags, selection); +} + +GenListItem *GenList::prepend (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection) +{ + insertInternal (construction, GenList::Prepend, parent, flags, selection); +} + +GenListItem *GenList::insertBefore (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection) +{ + insertInternal (construction, GenList::InsertBefore, parent, flags, selection); +} + +GenListItem *GenList::insertAfter (GenListColumnConstructor *construction, const GenListItem *parent, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection) +{ + insertInternal (construction, GenList::InsertAfter, parent, flags, selection); +} + +GenListItem *GenList::insertInternal (GenListColumnConstructor *construction, GenList::InsertOperation op, const GenListItem *opItem, Elm_Genlist_Item_Flags flags, GenListColumnSelector *selection) +{ assert (mModel); Elm_Genlist_Item *gli; @@ -172,13 +192,45 @@ construction->mDataModel = mModel; selection->mGenList = this; - gli = elm_genlist_item_append (o, &mModel->mGLIC, - construction /* item data */, - parent ? parent->mItem : NULL /* parent */, - flags, - GenList::gl_sel/* func */, - selection /* func data */); + switch (op) + { + case Append: + gli = elm_genlist_item_append (o, &mModel->mGLIC, + construction /* item data */, + opItem ? opItem->mItem : NULL /* parent */, + flags, + GenList::gl_sel/* func */, + selection /* func data */); + break; + + case Prepend: + gli = elm_genlist_item_prepend (o, &mModel->mGLIC, + construction /* item data */, + opItem ? opItem->mItem : NULL /* parent */, + flags, + GenList::gl_sel/* func */, + selection /* func data */); + break; + + case InsertBefore: + gli = elm_genlist_item_insert_before (o, &mModel->mGLIC, + construction /* item data */, + opItem ? opItem->mItem : NULL /* parent */, + flags, + GenList::gl_sel/* func */, + selection /* func data */); + break; + case InsertAfter: + gli = elm_genlist_item_insert_after (o, &mModel->mGLIC, + construction /* item data */, + opItem ? opItem->mItem : NULL /* parent */, + flags, + GenList::gl_sel/* func */, + selection /* func data */); + break; + } + GenListItem *item = GenListItem::wrap (*gli, *mModel); construction->mGenListItem = item; @@ -200,6 +252,11 @@ return item; } +void GenList::del (GenListItem &item) +{ + elm_genlist_item_del (item.mItem); +} + GenListItem *GenList::getItemSelected () const { Elm_Genlist_Item *item = elm_genlist_selected_item_get (o); |