support a guide text for editor ctxpopup.
introduce a new smart callback "ctxpopup,activated" @feature
This commit is contained in:
parent
ab0dab409c
commit
fe41adaa28
|
@ -452,6 +452,14 @@ enventor_program_run_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
stats_info_msg_update(buf);
|
||||
}
|
||||
|
||||
static void
|
||||
enventor_ctxpopup_activated_cb(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Enventor_Ctxpopup_Type type = (Enventor_Ctxpopup_Type) event_info;
|
||||
if (type != ENVENTOR_CTXPOPUP_TYPE_SLIDER) return;
|
||||
stats_info_msg_update("You could use a mouse wheel to change values elaborately.");
|
||||
}
|
||||
|
||||
static void
|
||||
enventor_ctxpopup_changed_cb(void *data, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
|
@ -520,6 +528,8 @@ enventor_setup(app_data *ad)
|
|||
enventor_live_view_updated_cb, ad);
|
||||
evas_object_smart_callback_add(enventor, "program,run",
|
||||
enventor_program_run_cb, ad);
|
||||
evas_object_smart_callback_add(enventor, "ctxpopup,activated",
|
||||
enventor_ctxpopup_activated_cb, ad);
|
||||
evas_object_smart_callback_add(enventor, "ctxpopup,changed",
|
||||
enventor_ctxpopup_changed_cb, ad);
|
||||
evas_object_smart_callback_add(enventor, "ctxpopup,dismissed",
|
||||
|
|
|
@ -16,6 +16,14 @@
|
|||
#define EOAPI EAPI
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ENVENTOR_CTXPOPUP_TYPE_SLIDER = 0,
|
||||
ENVENTOR_CTXPOPUP_TYPE_LIST,
|
||||
ENVENTOR_CTXPOPUP_TYPE_TOGGLE,
|
||||
ENVENTOR_CTXPOPUP_TYPE_IMAGE
|
||||
} Enventor_Ctxpopup_Type;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ENVENTOR_PATH_TYPE_EDJ = 0,
|
||||
|
|
|
@ -532,7 +532,8 @@ ctxpopup_img_preview_create(edit_data *ed,
|
|||
Evas_Object *
|
||||
ctxpopup_candidate_list_create(edit_data *ed, attr_value *attr,
|
||||
Evas_Smart_Cb ctxpopup_dismiss_cb,
|
||||
Evas_Smart_Cb ctxpopup_changed_cb)
|
||||
Evas_Smart_Cb ctxpopup_changed_cb,
|
||||
Enventor_Ctxpopup_Type *type)
|
||||
{
|
||||
//create ctxpopup
|
||||
Evas_Object *ctxpopup = elm_ctxpopup_add(edit_obj_get(ed));
|
||||
|
@ -562,43 +563,51 @@ ctxpopup_candidate_list_create(edit_data *ed, attr_value *attr,
|
|||
case ATTR_VALUE_BOOLEAN:
|
||||
{
|
||||
toggle_layout_set(ctxpopup, ctxdata);
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_TOGGLE;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_INTEGER:
|
||||
{
|
||||
ctxdata->integer = EINA_TRUE;
|
||||
slider_layout_set(ctxpopup, ctxdata);
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_SLIDER;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_FLOAT:
|
||||
{
|
||||
ctxdata->integer = EINA_FALSE;
|
||||
slider_layout_set(ctxpopup, ctxdata);
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_SLIDER;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_CONSTANT:
|
||||
{
|
||||
constant_candidate_set(ctxpopup, ctxdata);
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_LIST;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_PART:
|
||||
{
|
||||
if (!part_candidate_set(ctxpopup, ctxdata)) goto err;
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_LIST;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_STATE:
|
||||
{
|
||||
if (!state_candidate_set(ctxpopup, ctxdata, ed)) goto err;
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_LIST;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_IMAGE:
|
||||
{
|
||||
if (!image_candidate_set(ctxpopup, ctxdata)) goto err;
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_IMAGE;
|
||||
break;
|
||||
}
|
||||
case ATTR_VALUE_PROGRAM:
|
||||
{
|
||||
if (!program_candidate_set(ctxpopup, ctxdata)) goto err;
|
||||
*type = ENVENTOR_CTXPOPUP_TYPE_LIST;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -606,6 +615,7 @@ ctxpopup_candidate_list_create(edit_data *ed, attr_value *attr,
|
|||
ctxdata);
|
||||
evas_object_smart_callback_add(ctxpopup, "dismissed", ctxpopup_dismiss_cb,
|
||||
ed);
|
||||
|
||||
return ctxpopup;
|
||||
|
||||
err:
|
||||
|
|
|
@ -673,6 +673,9 @@ image_preview_show(edit_data *ed, char *cur, Evas_Coord x, Evas_Coord y)
|
|||
|
||||
evas_object_move(ed->ctxpopup, x, y);
|
||||
evas_object_show(ed->ctxpopup);
|
||||
Enventor_Ctxpopup_Type type = ENVENTOR_CTXPOPUP_TYPE_IMAGE;
|
||||
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_ACTIVATED,
|
||||
(void *) type);
|
||||
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
||||
succeed = EINA_TRUE;
|
||||
}
|
||||
|
@ -695,16 +698,21 @@ candidate_list_show(edit_data *ed, char *text, char *cur, char *selected)
|
|||
parser_attribute_value_set(attr, cur);
|
||||
|
||||
//Show up the list of the types
|
||||
Enventor_Ctxpopup_Type type;
|
||||
Evas_Object *ctxpopup =
|
||||
ctxpopup_candidate_list_create(ed, attr,
|
||||
ctxpopup_candidate_dismiss_cb,
|
||||
ctxpopup_candidate_changed_cb);
|
||||
ctxpopup_candidate_changed_cb,
|
||||
&type);
|
||||
if (!ctxpopup) return;
|
||||
|
||||
int x, y;
|
||||
evas_pointer_output_xy_get(evas_object_evas_get(ed->en_edit), &x, &y);
|
||||
evas_object_move(ctxpopup, x, y);
|
||||
evas_object_show(ctxpopup);
|
||||
evas_object_smart_callback_call(ed->enventor, SIG_CTXPOPUP_ACTIVATED,
|
||||
(void *) type);
|
||||
|
||||
evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, ctxpopup_del_cb, ed);
|
||||
ed->ctxpopup = ctxpopup;
|
||||
elm_object_tree_focus_allow_set(ed->layout, EINA_FALSE);
|
||||
|
|
|
@ -19,6 +19,7 @@ const char SIG_COMPILE_ERROR[] = "compile,error";
|
|||
const char SIG_PROGRAM_RUN[] = "program,run";
|
||||
const char SIG_CTXPOPUP_CHANGED[] = "ctxpopup,changed";
|
||||
const char SIG_CTXPOPUP_DISMISSED[] = "ctxpopup,dismissed";
|
||||
const char SIG_CTXPOPUP_ACTIVATED[] = "ctxpopup,activated";
|
||||
const char SIG_EDC_MODIFIED[] = "edc,modified";
|
||||
const char SIG_FOCUSED[] = "focused";
|
||||
|
||||
|
|
|
@ -269,6 +269,7 @@ class Enventor.Object (Elm.Widget, Efl.File) {
|
|||
max_line,changed;
|
||||
compile,error;
|
||||
program,run;
|
||||
ctxpopup,activated;
|
||||
ctxpopup,changed;
|
||||
ctxpopup,dismissed;
|
||||
edc,modified;
|
||||
|
|
|
@ -51,6 +51,7 @@ extern const char SIG_LIVE_VIEW_RESIZED[];
|
|||
extern const char SIG_PROGRAM_RUN[];
|
||||
extern const char SIG_CTXPOPUP_CHANGED[];
|
||||
extern const char SIG_CTXPOPUP_DISMISSED[];
|
||||
extern const char SIG_CTXPOPUP_ACTIVATED[];
|
||||
extern const char SIG_EDC_MODIFIED[];
|
||||
extern const char SIG_FOCUSED[];
|
||||
|
||||
|
@ -233,7 +234,7 @@ Eina_Bool template_insert(edit_data *ed, Enventor_Template_Insert_Type insert_ty
|
|||
|
||||
|
||||
/* ctxpopup */
|
||||
Evas_Object *ctxpopup_candidate_list_create(edit_data *ed, attr_value *attr, Evas_Smart_Cb ctxpopup_dismiss_cb, Evas_Smart_Cb ctxpopup_changed_cb);
|
||||
Evas_Object *ctxpopup_candidate_list_create(edit_data *ed, attr_value *attr, Evas_Smart_Cb ctxpopup_dismiss_cb, Evas_Smart_Cb ctxpopup_changed_cb, Enventor_Ctxpopup_Type *type);
|
||||
Evas_Object *ctxpopup_img_preview_create(edit_data*ed, const char *imgpath, Evas_Smart_Cb ctxpopup_dismiss_cb, Evas_Smart_Cb ctxpopup_relay_cb);
|
||||
void ctxpopup_img_preview_reload(Evas_Object *ctxpopup, const char *imgpath);
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
|
|||
{SIG_PROGRAM_RUN, ""},
|
||||
{SIG_CTXPOPUP_CHANGED, ""},
|
||||
{SIG_CTXPOPUP_DISMISSED, ""},
|
||||
{SIG_CTXPOPUP_ACTIVATED, ""},
|
||||
{SIG_EDC_MODIFIED, ""},
|
||||
{SIG_FOCUSED, ""},
|
||||
{NULL, NULL}
|
||||
|
|
Loading…
Reference in New Issue