forked from enlightenment/enventor
edc_navigator: support stop all programs.
for this, added one more api, enventor_object_programs_stop()
This commit is contained in:
parent
97fbb51062
commit
a4d4fb748c
|
@ -37,6 +37,7 @@ images {
|
|||
image: "navi_program.png" COMP;
|
||||
image: "navi_unknown.png" COMP;
|
||||
image: "navi_play.png" COMP;
|
||||
image: "navi_stop.png" COMP;
|
||||
}
|
||||
|
||||
#define ICON_GROUP(_group_name, _image_path) \
|
||||
|
@ -87,5 +88,6 @@ ICON_GROUP("navi_state", "navi_state.png")
|
|||
ICON_GROUP("navi_program", "navi_program.png")
|
||||
ICON_GROUP("navi_unknown", "navi_unknown.png")
|
||||
ICON_GROUP("navi_play", "navi_play.png")
|
||||
ICON_GROUP("navi_stop", "navi_stop.png")
|
||||
|
||||
#undef ICON_GROUP
|
||||
|
|
|
@ -84,5 +84,6 @@ EXTRA_DIST = \
|
|||
navi_unknown.png \
|
||||
navi_state.png \
|
||||
navi_program.png \
|
||||
navi_play.png \
|
||||
navi_play.png \
|
||||
navi_stop.png \
|
||||
bg_demo.png
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 155 B |
|
@ -738,6 +738,7 @@ static Evas_Object *
|
|||
gl_program_content_get_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
const char *part)
|
||||
{
|
||||
//1. Icon
|
||||
if (!strcmp("elm.swallow.icon", part))
|
||||
{
|
||||
Evas_Object *image = elm_image_add(obj);
|
||||
|
@ -745,17 +746,30 @@ gl_program_content_get_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|||
return image;
|
||||
}
|
||||
|
||||
//play/stop button
|
||||
//2. Play Button
|
||||
program_it *pit = data;
|
||||
Evas_Object *btn = elm_button_add(obj);
|
||||
|
||||
//Box
|
||||
Evas_Object *box = elm_box_add(obj);
|
||||
elm_object_tooltip_text_set(box, "Play Program");
|
||||
|
||||
//Button
|
||||
Evas_Object *btn = elm_button_add(box);
|
||||
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_scale_set(btn, 0.5);
|
||||
evas_object_smart_callback_add(btn, "clicked", program_btn_clicked_cb,
|
||||
pit);
|
||||
evas_object_show(btn);
|
||||
|
||||
//Image
|
||||
Evas_Object *img = elm_image_add(btn);
|
||||
elm_image_file_set(img, EDJE_PATH, "navi_play");
|
||||
elm_object_content_set(btn, img);
|
||||
|
||||
return btn;
|
||||
elm_box_pack_end(box, btn);
|
||||
|
||||
return box;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -813,6 +827,18 @@ sub_programs_update(navi_data *nd, programs_it *pit)
|
|||
|
||||
/* Programs Related */
|
||||
|
||||
static void
|
||||
programs_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
programs_it *pit = data;
|
||||
Evas_Object *enventor = base_enventor_get();
|
||||
enventor_object_programs_stop(enventor);
|
||||
|
||||
if (!config_stats_bar_get()) return;
|
||||
|
||||
stats_info_msg_update(_("Stop all running programs."));
|
||||
}
|
||||
|
||||
static void
|
||||
programs_expand(programs_it *pit)
|
||||
{
|
||||
|
@ -966,12 +992,39 @@ static Evas_Object *
|
|||
gl_programs_content_get_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
const char *part)
|
||||
{
|
||||
if (strcmp("elm.swallow.icon", part)) return NULL;
|
||||
//1. Icon
|
||||
if (!strcmp("elm.swallow.icon", part))
|
||||
{
|
||||
Evas_Object *image = elm_image_add(obj);
|
||||
elm_image_file_set(image, EDJE_PATH, "navi_program");
|
||||
|
||||
Evas_Object *image = elm_image_add(obj);
|
||||
elm_image_file_set(image, EDJE_PATH, "navi_program");
|
||||
return image;
|
||||
}
|
||||
|
||||
return image;
|
||||
//2. Stop All Button
|
||||
programs_it *pit = data;
|
||||
|
||||
//Box
|
||||
Evas_Object *box = elm_box_add(obj);
|
||||
elm_object_tooltip_text_set(box, "Stop All Programs");
|
||||
|
||||
//Button
|
||||
Evas_Object *btn = elm_button_add(box);
|
||||
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||
evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||
elm_object_scale_set(btn, 0.5);
|
||||
evas_object_smart_callback_add(btn, "clicked", programs_btn_clicked_cb,
|
||||
pit);
|
||||
evas_object_show(btn);
|
||||
|
||||
//Image
|
||||
Evas_Object *img = elm_image_add(btn);
|
||||
elm_image_file_set(img, EDJE_PATH, "navi_stop");
|
||||
elm_object_content_set(btn, img);
|
||||
|
||||
elm_box_pack_end(box, btn);
|
||||
|
||||
return box;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -506,7 +506,7 @@ enventor_live_view_updated_cb(void *data, Evas_Object *obj,
|
|||
ad->lazy_save = EINA_FALSE;
|
||||
ad->on_saving = EINA_FALSE;
|
||||
}
|
||||
|
||||
printf("%s\n", __func__);
|
||||
base_edc_navigator_group_update();
|
||||
}
|
||||
|
||||
|
|
|
@ -663,6 +663,14 @@ view_obj_need_reload_set(view_data *vd)
|
|||
vd->edj_reload_need = EINA_TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
view_programs_stop(view_data *vd)
|
||||
{
|
||||
if (!vd || !vd->layout) return;
|
||||
if (!vd->file_set_finished) return;
|
||||
edje_edit_program_stop_all(vd->layout);
|
||||
}
|
||||
|
||||
void
|
||||
view_program_run(view_data *vd, const char *program)
|
||||
{
|
||||
|
|
|
@ -185,6 +185,8 @@ class Enventor.Object (Elm.Widget, Efl.File) {
|
|||
@in line: int;
|
||||
}
|
||||
}
|
||||
programs_stop {
|
||||
}
|
||||
program_run {
|
||||
params {
|
||||
@in program: const(char) *;
|
||||
|
|
|
@ -221,6 +221,7 @@ void view_part_highlight_set(view_data *vd, const char *part_name);
|
|||
void view_dummy_set(view_data *vd, Eina_Bool dummy_on);
|
||||
void view_mirror_mode_update(view_data *vd);
|
||||
void view_program_run(view_data *vd, const char *program);
|
||||
void view_programs_stop(view_data *vd);
|
||||
Eina_Stringshare *view_group_name_get(view_data *vd);
|
||||
void *view_data_get(view_data *vd);
|
||||
void view_scale_set(view_data *vd, double scale);
|
||||
|
|
|
@ -786,6 +786,14 @@ _enventor_object_program_run(Eo *obj EINA_UNUSED,
|
|||
view_program_run(VIEW_DATA, program);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_enventor_object_programs_stop(Eo *obj EINA_UNUSED,
|
||||
Enventor_Object_Data *pd)
|
||||
{
|
||||
view_programs_stop(VIEW_DATA);
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Externally accessible calls */
|
||||
/*****************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue