Dear All,
Hello~
When the indicator is displayed initially and use elm_confrom as parent by
using elm_conformant_content_area_get, the indicator area (wd->shelf) does
not display properly.
Because any interested ECORE_X_EVENT_WINDOW_PROPERTY does not notify.
In this case, we have got to evaluate size, when EVAS_CALLBACK_RESIZE
occurs.
And I have a query...
When the event with ECORE_X_ATOM_E_ILLUME_ZONE occurs?
Sincerely,
Shinwoo Kim.
Index: src/lib/elm_conform.c
===================================================================
--- src/lib/elm_conform.c (revision 60372)
+++ src/lib/elm_conform.c (working copy)
@@ -24,8 +24,8 @@
Evas_Object *shelf, *panel, *virtualkeypad;
Evas_Object *content;
Evas_Object *scroller;
+#ifdef HAVE_ELEMENTARY_X
Ecore_Event_Handler *prop_hdl;
-#ifdef HAVE_ELEMENTARY_X
Ecore_X_Virtual_Keyboard_State vkb_state;
#endif
struct
@@ -51,6 +51,7 @@
/* local function prototypes */
static const char *widtype = NULL;
+static void _del_pre_hook(Evas_Object *obj);
static void _del_hook(Evas_Object *obj);
static void _mirrored_set(Evas_Object *obj, Eina_Bool rtl);
static void _theme_hook(Evas_Object *obj);
@@ -65,17 +66,30 @@
static void _conformant_part_sizing_eval(Evas_Object *obj,
Conformant_Part_Type part_type);
#endif
+static void
+_conformant_move_resize_event_cb(void *data, Evas *e, Evas_Object *obj,
+ void *event_info);
static void _sizing_eval(Evas_Object *obj);
static Eina_Bool _prop_change(void *data, int type, void *event);
/* local functions */
static void
+_del_pre_hook(Evas_Object *obj)
+{
+ Widget_Data *wd = elm_widget_data_get(obj);
+ if (!wd) return;
+#ifdef HAVE_ELEMENTARY_X
+ if (wd->prop_hdl) ecore_event_handler_del(wd->prop_hdl);
+#endif
+ evas_object_event_callback_del_full(obj, EVAS_CALLBACK_RESIZE, _conformant_move_resize_event_cb, obj);
+}
+
+static void
_del_hook(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
- if (wd->prop_hdl) ecore_event_handler_del(wd->prop_hdl);
free(wd);
}
@@ -479,6 +493,8 @@
#endif
evas_object_smart_callback_add(obj, "sub-object-del", _sub_del, obj);
+ evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE,
+ _conformant_move_resize_event_cb, obj);
_mirrored_set(obj, elm_widget_mirrored_get(obj));
_sizing_eval(obj);
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel