efl
75 строк · 2.1 Кб
1//Compile with:
2// gcc -o fileviewlist fileviewlist.c `pkg-config --cflags --libs elementary`
3
4#ifdef HAVE_CONFIG_H5# include "config.h"6#else7# define EFL_BETA_API_SUPPORT 18#endif9
10#include <Elementary.h>11#include <Efl.h>12#include <Eio.h>13#include <efl_io_model.eo.h>14#include <stdio.h>15
16#define EFL_MODEL_TEST_FILENAME_PATH "/tmp"17
18struct _Efl_Model_Test_Fileview_Data19{
20Eo *filemodel;21Eo *fileview;22};23typedef struct _Efl_Model_Test_Fileview_Data Efl_Model_Test_Fileview_Data;24
25static void26_cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)27{
28Efl_Model_Test_Fileview_Data *priv = (Efl_Model_Test_Fileview_Data *)data;29efl_unref(priv->fileview);30efl_unref(priv->filemodel);31}
32
33EAPI_MAIN int34elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)35{
36Efl_Model_Test_Fileview_Data priv;37Evas_Object *win = NULL;38Evas_Object *genlist = NULL;39char *dirname;40
41memset(&priv, 0, sizeof(Efl_Model_Test_Fileview_Data));42
43ecore_init();44
45if(argv[1] != NULL) dirname = argv[1];46else dirname = EFL_MODEL_TEST_FILENAME_PATH;47
48win = elm_win_util_standard_add("viewlist", "Viewlist");49elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);50elm_win_autodel_set(win, EINA_TRUE);51
52genlist = elm_genlist_add(win);53evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);54evas_object_show(genlist);55
56priv.filemodel = efl_add(EFL_IO_MODEL_CLASS, win, efl_io_model_path_set(efl_added, dirname));57priv.fileview = efl_add(ELM_VIEW_LIST_CLASS, win, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, "double_label"));58elm_view_list_model_set(priv.fileview, priv.filemodel);59evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, &priv);60
61elm_view_list_property_connect(priv.fileview, "filename", "elm.text");62elm_view_list_property_connect(priv.fileview, "mtime", "elm.text.sub");63
64evas_object_resize(win, 320, 520);65elm_win_resize_object_add(win, genlist);66evas_object_show(win);67
68elm_run();69
70elm_shutdown();71ecore_shutdown();72
73return 0;74}
75ELM_MAIN()76
77