2010-05-08 13:53:44 -07:00
|
|
|
#ifndef ELMXX_GEN_LIST_DATA_MODEL_H
|
|
|
|
#define ELMXX_GEN_LIST_DATA_MODEL_H
|
|
|
|
|
|
|
|
/* EFL */
|
|
|
|
#include <evasxx/Evasxx.h>
|
|
|
|
#include <Elementary.h>
|
|
|
|
|
|
|
|
/* STD */
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace Elmxx {
|
|
|
|
|
|
|
|
/* forward declarations */
|
|
|
|
class GenList;
|
2010-05-26 14:01:36 -07:00
|
|
|
class Icon;
|
|
|
|
class Window;
|
|
|
|
class Object;
|
|
|
|
class GenListColumnConstructor;
|
|
|
|
|
2010-05-08 13:53:44 -07:00
|
|
|
class GenListDataModel
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
friend class GenList;
|
|
|
|
|
|
|
|
GenListDataModel ();
|
|
|
|
|
2010-05-26 14:01:36 -07:00
|
|
|
// TODO: implement these 4 functions pure virtual?
|
|
|
|
|
|
|
|
std::string getLabel (GenListColumnConstructor *construction, Evasxx::Object &obj, const std::string &part) const;
|
|
|
|
|
|
|
|
Elmxx::Object *getIcon (GenListColumnConstructor *construction, Evasxx::Object &obj, const std::string &part);
|
|
|
|
|
|
|
|
bool getState (GenListColumnConstructor *construction, Evasxx::Object &obj, const std::string &part);
|
|
|
|
|
|
|
|
void del (GenListColumnConstructor *construction, Evasxx::Object &obj);
|
2010-05-08 13:53:44 -07:00
|
|
|
|
|
|
|
private:
|
|
|
|
static char *gl_label_get (const void *data, Evas_Object *obj, const char *part);
|
|
|
|
static Evas_Object *gl_icon_get (const void *data, Evas_Object *obj, const char *part);
|
|
|
|
static Eina_Bool gl_state_get (const void *data, Evas_Object *obj, const char *part);
|
|
|
|
static void gl_del (const void *data, Evas_Object *obj);
|
|
|
|
|
|
|
|
Elm_Genlist_Item_Class mGLIC;
|
|
|
|
};
|
|
|
|
|
|
|
|
} // end namespace Elmxx
|
|
|
|
|
|
|
|
#endif // ELMXX_GEN_LIST_DATA_MODEL_H
|