static void _sizing_eval(Evas_Object *obj);
static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static const char SIG_CLICKED[] = "clicked";
+static const char SIG_PRESS[] = "press";
+static const char SIG_UNPRESS[] = "unpress";
+static const char SIG_CLICKED_DOUBLE[] = "clicked,double";
+
+static const Evas_Smart_Cb_Description _signals[] = {
+ {SIG_CLICKED, ""},
+ {SIG_PRESS, ""},
+ {SIG_UNPRESS, ""},
+ {SIG_CLICKED_DOUBLE, ""},
+ {NULL, NULL}
+};
+
static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
- if (wd->panes) evas_object_del(wd->panes);
free(wd);
}
if(wd->contents.left && wd->contents.right)
edje_object_signal_emit(wd->panes, "elm.panes.pair", "elm");
if(wd->fixed)
- edje_object_signal_emit(wd->panes, "elm.panes.fixed", "elm");
+ edje_object_signal_emit(wd->panes, "elm.panes.fixed", "elm");
+
edje_object_scale_set(wd->panes, elm_widget_scale_get(obj) *
_elm_config->scale);
_sizing_eval(obj);
static void
_clicked(void *data, Evas_Object *obj __UNUSED__ , const char *emission __UNUSED__, const char *source __UNUSED__)
{
- evas_object_smart_callback_call(data, "clicked", NULL);
+ evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
}
static void
static void
_press(void *data, Evas_Object *obj __UNUSED__ , const char *emission __UNUSED__, const char *source __UNUSED__)
{
- evas_object_smart_callback_call(data, "press", NULL);
+ evas_object_smart_callback_call(data, SIG_PRESS, NULL);
}
static void
_unpress(void *data, Evas_Object *obj __UNUSED__ , const char *emission __UNUSED__, const char *source __UNUSED__)
{
Widget_Data *wd = elm_widget_data_get(data);
- evas_object_smart_callback_call(data, "unpress", NULL);
+ evas_object_smart_callback_call(data, SIG_UNPRESS, NULL);
if (wd->clicked_double)
{
- evas_object_smart_callback_call(data, "clicked,double", NULL);
+ evas_object_smart_callback_call(data, SIG_CLICKED_DOUBLE, NULL);
wd->clicked_double = EINA_FALSE;
}
}
elm_widget_del_hook_set(obj, _del_hook);
elm_widget_theme_hook_set(obj, _theme_hook);
elm_widget_focus_next_hook_set(obj, _elm_panes_focus_next_hook);
- wd->contents.left = NULL;
- wd->contents.right = NULL;
wd->panes = edje_object_add(e);
_elm_theme_object_set(obj, wd->panes, "panes", "vertical", "default");
evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
+ evas_object_smart_callbacks_descriptions_set(obj, _signals);
+
_mirrored_set(obj, elm_widget_mirrored_get(obj));
_sizing_eval(obj);
return obj;
*
* @ingroup Panes
*/
-EAPI double
+EAPI double
elm_panes_content_left_size_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) 0.0;
*
* @ingroup Panes
*/
-EAPI void
+EAPI void
elm_panes_content_left_size_set(Evas_Object *obj, double size)
{
ELM_CHECK_WIDTYPE(obj, widtype);
*
* @ingroup Panes
*/
-EAPI void
+EAPI void
elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal)
{
ELM_CHECK_WIDTYPE(obj, widtype);
*
* @ingroup Panes
*/
-EAPI Eina_Bool
+EAPI Eina_Bool
elm_panes_horizontal_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;