forked from enlightenment/efl
Overall refactoring.
1. Use image variables in smart way. 2. Fixed function parameter formatting. 3. Changed callback function names. 4. Reordered control panel buttons logically.
This commit is contained in:
parent
3685ea66fe
commit
f06cd8aad3
|
@ -11,86 +11,65 @@
|
||||||
|
|
||||||
#include <Elementary.h>
|
#include <Elementary.h>
|
||||||
|
|
||||||
|
#define IMG_NUM 9
|
||||||
|
|
||||||
static Evas_Object *slideshow, *bt_start, *bt_stop;
|
static Evas_Object *slideshow, *bt_start, *bt_stop;
|
||||||
static Elm_Slideshow_Item_Class itc;
|
static Elm_Slideshow_Item_Class itc;
|
||||||
|
|
||||||
static char img1[256], img2[256], img3[256], img4[256], img5[256], img6[256], img7[256], img8[256], img9[256];
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_notify_show(void *data,
|
_notify_show(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
Evas *e,
|
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
evas_object_show(data);
|
evas_object_show(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* jump to next item, cyclically */
|
/* jump to next item, cyclically */
|
||||||
static void
|
static void
|
||||||
_next(void *data,
|
_next(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_next(data);
|
elm_slideshow_next(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_previous(void *data,
|
_previous(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_previous(data);
|
elm_slideshow_previous(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_first(void *data,
|
_first(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_item_show(data);
|
elm_slideshow_item_show(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_last(void *data,
|
_last(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_item_show(data);
|
elm_slideshow_item_show(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_mouse_in(void *data,
|
_mouse_in_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
Evas *e,
|
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_notify_timeout_set(data, 0.0);
|
elm_notify_timeout_set(data, 0.0);
|
||||||
evas_object_show(data);
|
evas_object_show(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_mouse_out(void *data,
|
_mouse_out_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
Evas *e,
|
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_notify_timeout_set(data, 3.0);
|
elm_notify_timeout_set(data, 3.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* transition changed */
|
/* transition changed */
|
||||||
static void
|
static void
|
||||||
_transition_select(void *data,
|
_transition_select(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_transition_set(slideshow, data);
|
elm_slideshow_transition_set(slideshow, data);
|
||||||
elm_object_text_set(obj, data);
|
elm_object_text_set(obj, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_layout_select(void *data,
|
_layout_select(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_layout_set(slideshow, data);
|
elm_slideshow_layout_set(slideshow, data);
|
||||||
elm_object_text_set(obj, data);
|
elm_object_text_set(obj, data);
|
||||||
|
@ -98,9 +77,7 @@ _layout_select(void *data,
|
||||||
|
|
||||||
/* start the show! */
|
/* start the show! */
|
||||||
static void
|
static void
|
||||||
_start(void *data,
|
_start(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data));
|
elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data));
|
||||||
|
|
||||||
|
@ -109,9 +86,7 @@ _start(void *data,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_stop(void *data,
|
_stop(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
elm_slideshow_timeout_set(slideshow, 0.0);
|
elm_slideshow_timeout_set(slideshow, 0.0);
|
||||||
elm_object_disabled_set(bt_start, EINA_FALSE);
|
elm_object_disabled_set(bt_start, EINA_FALSE);
|
||||||
|
@ -120,9 +95,7 @@ _stop(void *data,
|
||||||
|
|
||||||
/* slideshow transition time has changed */
|
/* slideshow transition time has changed */
|
||||||
static void
|
static void
|
||||||
_spin(void *data,
|
_spin(void *data, Evas_Object *obj, void *event_info)
|
||||||
Evas_Object *obj,
|
|
||||||
void *event_info)
|
|
||||||
{
|
{
|
||||||
if (elm_slideshow_timeout_get(slideshow) > 0)
|
if (elm_slideshow_timeout_get(slideshow) > 0)
|
||||||
elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data));
|
elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data));
|
||||||
|
@ -130,8 +103,7 @@ _spin(void *data,
|
||||||
|
|
||||||
/* get our images to make slideshow items */
|
/* get our images to make slideshow items */
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_get(void *data,
|
_get(void *data, Evas_Object *obj)
|
||||||
Evas_Object *obj)
|
|
||||||
{
|
{
|
||||||
Evas_Object *photo = elm_photo_add(obj);
|
Evas_Object *photo = elm_photo_add(obj);
|
||||||
elm_photo_file_set(photo, data);
|
elm_photo_file_set(photo, data);
|
||||||
|
@ -143,8 +115,7 @@ _get(void *data,
|
||||||
|
|
||||||
/* ordering alphabetically */
|
/* ordering alphabetically */
|
||||||
static int
|
static int
|
||||||
_cmp_func(const void *data1,
|
_cmp_func(const void *data1, const void *data2)
|
||||||
const void *data2)
|
|
||||||
{
|
{
|
||||||
const char *img_path1, *img_path2;
|
const char *img_path1, *img_path2;
|
||||||
|
|
||||||
|
@ -158,26 +129,26 @@ _cmp_func(const void *data1,
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI_MAIN int
|
EAPI_MAIN int
|
||||||
elm_main(int argc,
|
elm_main(int argc, char **argv)
|
||||||
char **argv)
|
|
||||||
{
|
{
|
||||||
Evas_Object *win, *notify, *bx, *bt, *hv, *spin;
|
Evas_Object *win, *notify, *bx, *bt, *hv, *spin;
|
||||||
Elm_Object_Item *slide_first, *slide_last, *slide_it;
|
Elm_Object_Item *slide_first = NULL, *slide_last = NULL, *slide_it = NULL;
|
||||||
const char *transition, *layout;
|
const char *transition, *layout;
|
||||||
const Eina_List *l, *list;
|
const Eina_List *l, *list;
|
||||||
const char *data_dir;
|
const char *data_dir;
|
||||||
|
char img[IMG_NUM][PATH_MAX];
|
||||||
|
char *img_files[] =
|
||||||
|
{
|
||||||
|
"logo.png", "plant_01.jpg", "rock_01.jpg", "rock_02.jpg", "sky_01.jpg",
|
||||||
|
"wood_01.jpg", "mystrale.jpg", "mystrale_2.jpg"
|
||||||
|
};
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
elm_app_info_set(elm_main, "elementary", "images");
|
elm_app_info_set(elm_main, "elementary", "images");
|
||||||
|
|
||||||
data_dir = elm_app_data_dir_get();
|
data_dir = elm_app_data_dir_get();
|
||||||
snprintf(img1, sizeof(img1), "%s/images/logo.png", data_dir);
|
for (i = 0; i < IMG_NUM; i++)
|
||||||
snprintf(img2, sizeof(img2), "%s/images/plant_01.jpg", data_dir);
|
snprintf(img[i], PATH_MAX, "%s/images/%s", data_dir, img_files[i]);
|
||||||
snprintf(img3, sizeof(img3), "%s/images/rock_01.jpg", data_dir);
|
|
||||||
snprintf(img4, sizeof(img4), "%s/images/rock_02.jpg", data_dir);
|
|
||||||
snprintf(img5, sizeof(img5), "%s/images/sky_01.jpg", data_dir);
|
|
||||||
snprintf(img6, sizeof(img6), "%s/images/sky_04.jpg", data_dir);
|
|
||||||
snprintf(img7, sizeof(img7), "%s/images/wood_01.jpg", data_dir);
|
|
||||||
snprintf(img8, sizeof(img8), "%s/images/mystrale.jpg", data_dir);
|
|
||||||
snprintf(img9, sizeof(img9), "%s/images/mystrale_2.jpg", data_dir);
|
|
||||||
|
|
||||||
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
|
||||||
|
|
||||||
|
@ -196,15 +167,13 @@ elm_main(int argc,
|
||||||
itc.func.get = _get;
|
itc.func.get = _get;
|
||||||
itc.func.del = NULL;
|
itc.func.del = NULL;
|
||||||
|
|
||||||
slide_first = elm_slideshow_item_sorted_insert(slideshow, &itc, img1, _cmp_func);
|
for (i = 0; i < IMG_NUM; i++)
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img2, _cmp_func);
|
{
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img3, _cmp_func);
|
slide_it = elm_slideshow_item_sorted_insert(slideshow, &itc, img[i],
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img4, _cmp_func);
|
_cmp_func);
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img5, _cmp_func);
|
if (!slide_first) slide_first = slide_it;
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img6, _cmp_func);
|
}
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img7, _cmp_func);
|
slide_last = slide_it;
|
||||||
elm_slideshow_item_sorted_insert(slideshow, &itc, img8, _cmp_func);
|
|
||||||
slide_last = elm_slideshow_item_add(slideshow, &itc, img9);
|
|
||||||
|
|
||||||
list = elm_slideshow_items_get(slideshow);
|
list = elm_slideshow_items_get(slideshow);
|
||||||
fprintf(stdout, "List of items in the slideshow:\n");
|
fprintf(stdout, "List of items in the slideshow:\n");
|
||||||
|
@ -216,16 +185,23 @@ elm_main(int argc,
|
||||||
elm_notify_align_set(notify, 0.5, 1.0);
|
elm_notify_align_set(notify, 0.5, 1.0);
|
||||||
evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
elm_notify_timeout_set(notify, 3.0);
|
elm_notify_timeout_set(notify, 3.0);
|
||||||
|
evas_object_show(notify);
|
||||||
|
|
||||||
bx = elm_box_add(win);
|
bx = elm_box_add(win);
|
||||||
elm_box_horizontal_set(bx, EINA_TRUE);
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
elm_object_content_set(notify, bx);
|
elm_object_content_set(notify, bx);
|
||||||
evas_object_show(bx);
|
evas_object_show(bx);
|
||||||
|
|
||||||
evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN, _mouse_in,
|
evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN,
|
||||||
notify);
|
_mouse_in_cb, notify);
|
||||||
evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT, _mouse_out,
|
evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT,
|
||||||
notify);
|
_mouse_out_cb, notify);
|
||||||
|
|
||||||
|
bt = elm_button_add(win);
|
||||||
|
elm_object_text_set(bt, "First");
|
||||||
|
evas_object_smart_callback_add(bt, "clicked", _first, slide_first);
|
||||||
|
elm_box_pack_end(bx, bt);
|
||||||
|
evas_object_show(bt);
|
||||||
|
|
||||||
bt = elm_button_add(win);
|
bt = elm_button_add(win);
|
||||||
elm_object_text_set(bt, "Previous");
|
elm_object_text_set(bt, "Previous");
|
||||||
|
@ -239,12 +215,6 @@ elm_main(int argc,
|
||||||
elm_box_pack_end(bx, bt);
|
elm_box_pack_end(bx, bt);
|
||||||
evas_object_show(bt);
|
evas_object_show(bt);
|
||||||
|
|
||||||
bt = elm_button_add(win);
|
|
||||||
elm_object_text_set(bt, "First");
|
|
||||||
evas_object_smart_callback_add(bt, "clicked", _first, slide_first);
|
|
||||||
elm_box_pack_end(bx, bt);
|
|
||||||
evas_object_show(bt);
|
|
||||||
|
|
||||||
bt = elm_button_add(win);
|
bt = elm_button_add(win);
|
||||||
elm_object_text_set(bt, "Last");
|
elm_object_text_set(bt, "Last");
|
||||||
evas_object_smart_callback_add(bt, "clicked", _last, slide_last);
|
evas_object_smart_callback_add(bt, "clicked", _last, slide_last);
|
||||||
|
@ -298,8 +268,6 @@ elm_main(int argc,
|
||||||
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_MOVE,
|
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_MOVE,
|
||||||
_notify_show, notify);
|
_notify_show, notify);
|
||||||
|
|
||||||
_notify_show(notify, NULL, NULL, NULL);
|
|
||||||
|
|
||||||
elm_run();
|
elm_run();
|
||||||
elm_shutdown();
|
elm_shutdown();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue