2015-07-01 15:27:30 -07:00
|
|
|
//Compile with:
|
2016-01-13 21:53:51 -08:00
|
|
|
// gcc -o fileviewlist fileviewlist.c `pkg-config --cflags --libs elementary`
|
2015-07-01 15:27:30 -07:00
|
|
|
|
2016-01-13 21:53:51 -08:00
|
|
|
#ifdef HAVE_CONFIG_H
|
2016-04-08 16:00:49 -07:00
|
|
|
# include "config.h"
|
2016-01-13 21:53:51 -08:00
|
|
|
#else
|
|
|
|
# define EFL_BETA_API_SUPPORT 1
|
|
|
|
#endif
|
2015-07-01 15:27:30 -07:00
|
|
|
|
|
|
|
#include <Elementary.h>
|
|
|
|
#include <Efl.h>
|
|
|
|
#include <Eio.h>
|
efl_model : rename all efl_model based classes.
Summary:
As the result of discussion in T7458,
we need to rename all efl_model based classes with efl_XXX_Model sequence.
I've run few vote for this, see V42, V43
few classes are totally renamed as our consideration of misnaming.
| Efl.Model_Loop | Efl.Loop_Model |
| Efl.Model_Item | Efl.Generic_Model |
| Efl.Model_Container | Efl.Container_Model |
| Efl.Model_Container_Item | Efl.Container_Model_Item |
| Efl.Model_Composite | Efl.Composite_Model |
| Efl.Model_Composite_Boolean | Efl.Boolean_Model |
| Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item |
| Efl.Model_Composite_Selection | Efl.Select_Model |
| Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item |
| Efl.Model_View | Efl.View_Model |
| Eio.Model | Efl.Io.Model |
| Efl.Ui.Model_State | Efl.Ui.State_Model |
| Efl.Ui.Model_Size | Efl.Ui.Size_Model |
| Efl.Ui.Model_Exact | Efl.Ui.Exact_Model |
| Efl.Ui.Model_Average | Efl.Ui.Average_Model |
| Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model |
I worried about Efl.Io.Model changes, cause it is widely used,
but as I tested, there is no issue found yet.
Eldbus.Model also may can changed Efl.Dbus.Model,
but I cannot found any class who using Efl.Dbus namespace,
so I left it future work.
Test Plan:
Run the Make Test,
it works well except Efl test about selection.
there are class inheritance problem exist in select_model,
I reported it and will fix it in another patch.
Reviewers: cedric, felipealmeida, woohyun, Hermet
Reviewed By: cedric
Subscribers: lauromoura
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D7533
2019-01-30 20:35:34 -08:00
|
|
|
#include <efl_io_model.eo.h>
|
2015-07-01 15:27:30 -07:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#define EFL_MODEL_TEST_FILENAME_PATH "/tmp"
|
|
|
|
|
|
|
|
struct _Efl_Model_Test_Fileview_Data
|
|
|
|
{
|
|
|
|
Eo *filemodel;
|
|
|
|
Eo *fileview;
|
|
|
|
};
|
|
|
|
typedef struct _Efl_Model_Test_Fileview_Data Efl_Model_Test_Fileview_Data;
|
|
|
|
|
|
|
|
static void
|
|
|
|
_cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
|
|
|
{
|
|
|
|
Efl_Model_Test_Fileview_Data *priv = (Efl_Model_Test_Fileview_Data *)data;
|
2016-08-15 06:44:41 -07:00
|
|
|
efl_unref(priv->fileview);
|
|
|
|
efl_unref(priv->filemodel);
|
2015-07-01 15:27:30 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
EAPI_MAIN int
|
2017-04-19 23:33:59 -07:00
|
|
|
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
2015-07-01 15:27:30 -07:00
|
|
|
{
|
|
|
|
Efl_Model_Test_Fileview_Data priv;
|
|
|
|
Evas_Object *win = NULL;
|
|
|
|
Evas_Object *genlist = NULL;
|
|
|
|
char *dirname;
|
|
|
|
|
|
|
|
memset(&priv, 0, sizeof(Efl_Model_Test_Fileview_Data));
|
|
|
|
|
|
|
|
ecore_init();
|
|
|
|
|
|
|
|
if(argv[1] != NULL) dirname = argv[1];
|
|
|
|
else dirname = EFL_MODEL_TEST_FILENAME_PATH;
|
|
|
|
|
|
|
|
win = elm_win_util_standard_add("viewlist", "Viewlist");
|
|
|
|
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
genlist = elm_genlist_add(win);
|
|
|
|
evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_show(genlist);
|
|
|
|
|
efl_model : rename all efl_model based classes.
Summary:
As the result of discussion in T7458,
we need to rename all efl_model based classes with efl_XXX_Model sequence.
I've run few vote for this, see V42, V43
few classes are totally renamed as our consideration of misnaming.
| Efl.Model_Loop | Efl.Loop_Model |
| Efl.Model_Item | Efl.Generic_Model |
| Efl.Model_Container | Efl.Container_Model |
| Efl.Model_Container_Item | Efl.Container_Model_Item |
| Efl.Model_Composite | Efl.Composite_Model |
| Efl.Model_Composite_Boolean | Efl.Boolean_Model |
| Efl.Model_Composite_Boolean_Chlidren | Efl.Boolean_Model_Item |
| Efl.Model_Composite_Selection | Efl.Select_Model |
| Efl.Model_Composite_Selection_Chlidren | Efl.Select_Model_Item |
| Efl.Model_View | Efl.View_Model |
| Eio.Model | Efl.Io.Model |
| Efl.Ui.Model_State | Efl.Ui.State_Model |
| Efl.Ui.Model_Size | Efl.Ui.Size_Model |
| Efl.Ui.Model_Exact | Efl.Ui.Exact_Model |
| Efl.Ui.Model_Average | Efl.Ui.Average_Model |
| Efl.Ui.Model_Homogeneous | Efl.Ui.Homogeneous_Model |
I worried about Efl.Io.Model changes, cause it is widely used,
but as I tested, there is no issue found yet.
Eldbus.Model also may can changed Efl.Dbus.Model,
but I cannot found any class who using Efl.Dbus namespace,
so I left it future work.
Test Plan:
Run the Make Test,
it works well except Efl test about selection.
there are class inheritance problem exist in select_model,
I reported it and will fix it in another patch.
Reviewers: cedric, felipealmeida, woohyun, Hermet
Reviewed By: cedric
Subscribers: lauromoura
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D7533
2019-01-30 20:35:34 -08:00
|
|
|
priv.filemodel = efl_add(EFL_IO_MODEL_CLASS, win, efl_io_model_path_set(efl_added, dirname));
|
2018-06-07 14:50:48 -07:00
|
|
|
priv.fileview = efl_add(ELM_VIEW_LIST_CLASS, win, elm_view_list_genlist_set(efl_added, genlist, ELM_GENLIST_ITEM_TREE, "double_label"));
|
2016-03-02 04:10:48 -08:00
|
|
|
elm_view_list_model_set(priv.fileview, priv.filemodel);
|
2015-07-01 15:27:30 -07:00
|
|
|
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, &priv);
|
|
|
|
|
2016-03-02 04:10:48 -08:00
|
|
|
elm_view_list_property_connect(priv.fileview, "filename", "elm.text");
|
|
|
|
elm_view_list_property_connect(priv.fileview, "mtime", "elm.text.sub");
|
2015-07-01 15:27:30 -07:00
|
|
|
|
|
|
|
evas_object_resize(win, 320, 520);
|
|
|
|
elm_win_resize_object_add(win, genlist);
|
|
|
|
evas_object_show(win);
|
|
|
|
|
|
|
|
elm_run();
|
|
|
|
|
|
|
|
elm_shutdown();
|
|
|
|
ecore_shutdown();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
ELM_MAIN()
|
|
|
|
|