Migration with svn revision @65864
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 6 Dec 2011 05:06:33 +0000 (14:06 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Thu, 8 Dec 2011 04:52:38 +0000 (13:52 +0900)
YMerge remote branch 'origin/upstream'

Conflicts:
src/lib/edje_entry.c

1  2 
src/bin/edje_cc_handlers.c
src/lib/Edje.h
src/lib/edje_calc.c
src/lib/edje_entry.c
src/lib/edje_private.h
src/lib/edje_util.c

Simple merge
diff --cc src/lib/Edje.h
Simple merge
Simple merge
@@@ -520,16 -464,8 +520,14 @@@ _sel_clear(Evas_Textblock_Cursor *c __U
          Sel *sel;
  
          sel = en->sel->data;
-         en->rp->edje->subobjs = eina_list_remove(en->rp->edje->subobjs, sel->obj_bg);
-         en->rp->edje->subobjs = eina_list_remove(en->rp->edje->subobjs, sel->obj_fg);
          if (sel->obj_bg) evas_object_del(sel->obj_bg);
          if (sel->obj_fg) evas_object_del(sel->obj_fg);
 +
 +        if (en->rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_BLOCK_HANDLE)
 +          {
 +             evas_object_hide(en->block_handler_top);
 +             evas_object_hide(en->block_handler_btm);
 +          }
          free(sel);
          en->sel = eina_list_remove_list(en->sel, en->sel);
       }
@@@ -586,13 -516,10 +582,13 @@@ _sel_update(Evas_Textblock_Cursor *c __
                    evas_object_pass_events_set(ob, EINA_TRUE);
                    evas_object_show(ob);
                    sel->obj_bg = ob;
-                   en->rp->edje->subobjs = eina_list_append(en->rp->edje->subobjs, sel->obj_bg);
+                   _edje_subobj_register(en->rp->edje, sel->obj_bg);
  
                    ob = edje_object_add(en->rp->edje->base.evas);
 -                  edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
 +                  if (en->rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_BLOCK_HANDLE)
 +                     edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source6);
 +                  else
 +                     edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
                    evas_object_smart_member_add(ob, smart);
                    evas_object_stack_above(ob, o);
                    evas_object_clip_set(ob, clip);
@@@ -2552,47 -2012,8 +2544,47 @@@ _edje_entry_real_part_init(Edje_Real_Pa
     evas_object_stack_above(en->cursor_fg, rp->object);
     evas_object_clip_set(en->cursor_fg, evas_object_clip_get(rp->object));
     evas_object_pass_events_set(en->cursor_fg, EINA_TRUE);
-    rp->edje->subobjs = eina_list_append(rp->edje->subobjs, en->cursor_fg);
+    _edje_subobj_register(en->rp->edje, en->cursor_fg);
  
 +   if (en->rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_BLOCK_HANDLE)
 +     {
 +        const char *bh_position;
 +        Evas_Object *ob;
 +        Evas_Object *smart;
 +        smart = evas_object_smart_parent_get(rp->object);
 +
 +        evas_object_hide(en->cursor_fg);
 +        ob = edje_object_add(en->rp->edje->base.evas);
 +        edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
 +        bh_position = edje_object_data_get(ob, "position");
 +        if ((!bh_position) || (bh_position[0] == 0)) bh_position = "BOTH";
 +        if (ob) evas_object_del(ob);
 +
 +        if ((!strcmp(bh_position, "TOP")) || (!strcmp(bh_position, "BOTH")))
 +          {
 +             ob = edje_object_add(en->rp->edje->base.evas);
 +             edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source3);
 +             evas_object_layer_set(ob, EVAS_LAYER_MAX - 2);
 +             en->block_handler_top = ob;
 +             en->rp->edje->subobjs = eina_list_append(en->rp->edje->subobjs, en->block_handler_top);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, _edje_entry_top_handler_mouse_down_cb, en->rp);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_UP, _edje_entry_top_handler_mouse_up_cb, en->rp);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_MOVE, _edje_entry_top_handler_mouse_move_cb, en->rp);
 +          }
 +
 +        if ((!strcmp(bh_position, "BOTTOM")) || (!strcmp(bh_position, "BOTH")))
 +          {
 +             ob = edje_object_add(en->rp->edje->base.evas);
 +             edje_object_file_set(ob, en->rp->edje->path, en->rp->part->source2);
 +             evas_object_layer_set(ob, EVAS_LAYER_MAX - 2);
 +             en->block_handler_btm = ob;
 +             en->rp->edje->subobjs = eina_list_append(en->rp->edje->subobjs, en->block_handler_btm);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_DOWN, _edje_entry_bottom_handler_mouse_down_cb, en->rp);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_UP, _edje_entry_bottom_handler_mouse_up_cb, en->rp);
 +             evas_object_event_callback_add(ob, EVAS_CALLBACK_MOUSE_MOVE, _edje_entry_bottom_handler_mouse_move_cb, en->rp);
 +          }
 +     }
 +
     if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE)
       {
          evas_object_show(en->cursor_bg);
          ecore_imf_context_input_mode_set(en->imf_context,
                                           rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ?
                                           ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL);
 +
 +        if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD)
 +          {
 +             ecore_imf_context_input_panel_language_set(en->imf_context, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET);
 +          }
  #endif
       }
+ #ifdef HAVE_ECORE_IMF
  done:
+ #endif
     en->cursor = (Evas_Textblock_Cursor *)evas_object_textblock_cursor_get(rp->object);
 +
 +   edje_object_signal_callback_add(rp->edje->obj, "mouse,down,1,double", rp->part->name, _edje_entry_mouse_double_clicked, rp);
  }
  
  void
Simple merge
Simple merge