Revert "upstream merge"
authorWooHyun Jung <wh0705.jung@samsung.com>
Thu, 26 Jul 2012 08:18:54 +0000 (17:18 +0900)
committerWooHyun Jung <wh0705.jung@samsung.com>
Thu, 26 Jul 2012 08:18:54 +0000 (17:18 +0900)
This reverts commit c1608e664b37492af3a56d60dc4cba309eb4e99f, reversing
changes made to d393f86867ac227f0b07eb70b7ffc7decbb286fa.

Conflicts:

packaging/edje.spec

16 files changed:
AUTHORS
ChangeLog
Makefile.am
NEWS
src/bin/Makefile.am
src/bin/edje_cc.c
src/bin/edje_cc_handlers.c
src/bin/edje_cc_out.c
src/lib/Edje.h
src/lib/edje_calc.c
src/lib/edje_data.c
src/lib/edje_entry.c
src/lib/edje_load.c
src/lib/edje_multisense.c
src/lib/edje_private.h
src/lib/edje_util.c

diff --git a/AUTHORS b/AUTHORS
index 5dc5a9f..a7a2007 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -25,5 +25,3 @@ Mikael Sans <sans.mikael@gmail.com>
 Jérôme Pinot <ngc891@gmail.com>
 Rajeev Ranjan (Rajeev) <rajeev.r@samsung.com> <rajeev.jnnce@gmail.com>
 ChunEon Park (Hermet) <hermet@hermet.pe.kr>
-Kim Shinwoo <kimcinoo.efl@gmail.com>
-Michael Bouchaud (yoz) <michael.bouchaud@gmail.com>
index 2d239c1..691025e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
        * edje_entry: display preedit string even though there is no attribute
 
-2012-06-20  Kim Shinwoo
-
-       * Add edje_object_access_part_list_get and acess flags in edc file.
-
-2012-06-21  Carsten Haitzler (The Rasterman)
-
-        * Improve edje_cc slightly to use prefix for full path to
-        embryo_cc. this still like before requires embryo and edje to share
-        the same install prefix for edje_cc to work.
-
-2012-06-12  Michael Bouchaud (yoz)
-
-       * The aliases are now inherited from the targeted group
-       * Aliases can be usable with edje programs, if the part is in the
-       group
-
-2012-06-24  Cedric Bail
-
-       * Emit signal for flagged part when their size get to zero.
index 01415b9..4d02ab0 100644 (file)
@@ -72,21 +72,23 @@ endif
 
 if EFL_ENABLE_COVERAGE
 lcov-reset:
-       @rm -rf $(top_builddir)/coverage
-       @find $(top_builddir) -name "*.gcda" -delete
-       @lcov --zerocounters --directory $(top_builddir)
+       @rm -rf coverage
+       @find . -name "*.gcda" -exec rm {} \;
+       @lcov --directory . --zerocounters
 
 lcov-report:
-       @mkdir $(top_builddir)/coverage
-       lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)
-       lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
-       genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info
-       @echo "Coverage Report at $(top_builddir)/coverage/html"
+       @mkdir coverage
+       @lcov --compat-libtool --directory $(top_srcdir)/src --capture --output-file coverage/coverage.info
+       @lcov -l coverage/coverage.info |grep "\\.h"  |cut -d " " -f 2 > coverage/remove
+       @lcov -r coverage/coverage.info `cat coverage/remove` > coverage/coverage.cleaned.info
+       @rm coverage/remove
+       @mv coverage/coverage.cleaned.info coverage/coverage.info
+       @genhtml -t "$(PACKAGE_STRING)" -o coverage coverage/coverage.info
 
 coverage:
-       @$(MAKE) lcov-reset
-       @$(MAKE) check
-       @$(MAKE) lcov-report
+       @make lcov-reset
+       @make check
+       @make lcov-report
 else
 lcov-reset:
        @echo "reconfigure with --enable-coverage"
diff --git a/NEWS b/NEWS
index fb4e059..0da56e4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,6 @@ Additions:
     * edje_player will automatically reload the file when it change on disk.
     * Add SPACER part. This part are not putting anything into the canvas. So lighter and faster to
     process (Use it to replace RECT part that are never visible and never catch any event).
-    * Add accessibility flags and API to retrieve the relevant part.
-    * Emit signal when flagged part size get to zero.
 
 Improvements:
     * Allocate once and reuse Evas_Map.
index ccb6580..6ebe8fe 100644 (file)
@@ -35,7 +35,7 @@ edje_cc_CPPFLAGS = \
 -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
 -DEPP_DIR=\"$(libdir)/$(PACKAGE)/utils\" \
 @EDJE_CFLAGS@ @EDJE_CC_CFLAGS@ @EIO_CFLAGS@ @EVIL_CFLAGS@ @SNDFILE_CFLAGS@
-edje_cc_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_CC_LIBS@ @EDJE_LIBS@ @EVIL_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@ -lm
+edje_cc_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_CC_LIBS@ @EVIL_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@ -lm
 edje_cc_LDFLAGS = @lt_enable_auto_import@
 
 edje_watch_SOURCES = \
@@ -46,7 +46,7 @@ edje_watch_CPPFLAGS = \
 -I$(top_srcdir)/src/lib \
 -DPACKAGE_BIN_DIR=\"$(bindir)\" \
 @EDJE_CFLAGS@ @EDJE_CC_CFLAGS@ @EIO_CFLAGS@ @EVIL_CFLAGS@ @EDJE_WATCH_CFLAGS@
-edje_watch_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_WATCH_LIBS@ @EDJE_LIBS@
+edje_watch_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_WATCH_LIBS@
 edje_watch_LDFLAGS = @lt_enable_auto_import@
 
 edje_decc_SOURCES = \
@@ -59,7 +59,7 @@ edje_decc_CPPFLAGS = \
 -I$(top_srcdir)/src/bin \
 -I$(top_srcdir)/src/lib \
 @EDJE_CFLAGS@ @EDJE_DECC_CFLAGS@ @EIO_CFLAGS@ @EVIL_CFLAGS@
-edje_decc_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_DECC_LIBS@ @EDJE_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
+edje_decc_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_DECC_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
 edje_decc_LDFLAGS = @lt_enable_auto_import@
 
 edje_player_SOURCES = edje_player.c
@@ -67,7 +67,7 @@ edje_player_CPPFLAGS = \
 -I$(top_srcdir)/src/bin \
 -I$(top_srcdir)/src/lib \
 @EDJE_PLAYER_CFLAGS@ @EVIL_CFLAGS@ @EIO_CFLAGS@
-edje_player_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_PLAYER_LIBS@ @EDJE_LIBS@ @EVIL_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
+edje_player_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_PLAYER_LIBS@ @EVIL_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
 edje_player_LDFLAGS = @lt_enable_auto_import@
 
 edje_inspector_SOURCES = edje_inspector.c
@@ -75,7 +75,7 @@ edje_inspector_CPPFLAGS = \
 -I$(top_srcdir)/src/bin \
 -I$(top_srcdir)/src/lib \
 @EDJE_INSPECTOR_CFLAGS@ @EIO_CFLAGS@
-edje_inspector_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_INSPECTOR_LIBS@ @EDJE_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@
+edje_inspector_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_INSPECTOR_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@
 edje_inspector_LDFLAGS = @lt_enable_auto_import@
 
 edje_external_inspector_SOURCES = edje_external_inspector.c
@@ -83,7 +83,7 @@ edje_external_inspector_CPPFLAGS = \
 -I$(top_srcdir)/src/bin \
 -I$(top_srcdir)/src/lib \
 @EDJE_EXTERNAL_INSPECTOR_CFLAGS@ @EIO_CFLAGS@
-edje_external_inspector_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_EXTERNAL_INSPECTOR_LIBS@ @EDJE_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
+edje_external_inspector_LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_EXTERNAL_INSPECTOR_LIBS@ @VORBISENC_LIBS@ @FLAC_LIBS@ @SNDFILE_LIBS@
 edje_external_inspector_LDFLAGS = @lt_enable_auto_import@
 
 EXTRA_DIST = @EDJE_RECC_PRG@ edje_cc.h edje_convert.h edje_convert.c edje_multisense_convert.h edje_data_convert.c
index c43a3b3..7152836 100644 (file)
@@ -30,7 +30,7 @@ int        no_save = 0;
 int        min_quality = 0;
 int        max_quality = 100;
 int        compress_mode = EET_COMPRESSION_DEFAULT;
-int        threads = 0;
+int        threads = 1;
 
 static void
 main_help(void)
@@ -248,7 +248,6 @@ main(int argc, char **argv)
        exit(-1);
      }
 
-   _on_edjecc = EINA_TRUE;
    using_file(file_in);
 
    if (!edje_init())
index c7a06f0..fb51d62 100644 (file)
@@ -142,7 +142,6 @@ static void st_collections_group_parts_part_entry_mode(void);
 static void st_collections_group_parts_part_select_mode(void);
 static void st_collections_group_parts_part_cursor_mode(void);
 static void st_collections_group_parts_part_multiline(void);
-static void st_collections_group_parts_part_access(void);
 static void st_collections_group_parts_part_dragable_x(void);
 static void st_collections_group_parts_part_dragable_y(void);
 static void st_collections_group_parts_part_dragable_confine(void);
@@ -171,7 +170,6 @@ static void st_collections_group_parts_part_description_inherit(void);
 static void st_collections_group_parts_part_description_source(void);
 static void st_collections_group_parts_part_description_state(void);
 static void st_collections_group_parts_part_description_visible(void);
-static void st_collections_group_parts_part_description_limit(void);
 static void st_collections_group_parts_part_description_align(void);
 static void st_collections_group_parts_part_description_fixed(void);
 static void st_collections_group_parts_part_description_min(void);
@@ -388,7 +386,6 @@ New_Statement_Handler statement_handlers[] =
      {"collections.group.parts.part.select_mode", st_collections_group_parts_part_select_mode},
      {"collections.group.parts.part.cursor_mode", st_collections_group_parts_part_cursor_mode},
      {"collections.group.parts.part.multiline", st_collections_group_parts_part_multiline},
-     {"collections.group.parts.part.access", st_collections_group_parts_part_access},
      {"collections.group.parts.part.image", st_images_image}, /* dup */
      {"collections.group.parts.part.set.name", st_images_set_name},
      {"collections.group.parts.part.set.image.image", st_images_set_image_image},
@@ -436,7 +433,6 @@ New_Statement_Handler statement_handlers[] =
      {"collections.group.parts.part.description.source", st_collections_group_parts_part_description_source},
      {"collections.group.parts.part.description.state", st_collections_group_parts_part_description_state},
      {"collections.group.parts.part.description.visible", st_collections_group_parts_part_description_visible},
-     {"collections.group.parts.part.description.limit", st_collections_group_parts_part_description_limit},
      {"collections.group.parts.part.description.align", st_collections_group_parts_part_description_align},
      {"collections.group.parts.part.description.fixed", st_collections_group_parts_part_description_fixed},
      {"collections.group.parts.part.description.min", st_collections_group_parts_part_description_min},
@@ -2257,6 +2253,7 @@ st_collections_group_inherit(void)
    Edje_Pack_Element_Parser *pitem;
    Edje_Part_Description_Common *ed, *ed2;
    Edje_List_Foreach_Data fdata;
+   Edje_String *es;
    Eina_List *l;
    char *parent_name;
    unsigned int i, j;
@@ -2289,46 +2286,21 @@ st_collections_group_inherit(void)
 
    if (pc2->data)
      {
-        char *key, *data;
+        char *key;
 
         memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
         eina_hash_foreach(pc2->data,
                      _edje_data_item_list_foreach, &fdata);
 
-        if (!pc->data) pc->data = eina_hash_string_small_new(free);
-        EINA_LIST_FREE(fdata.list, key)
-          {
-             data = eina_hash_find(pc2->data, key);
-             eina_hash_direct_add(pc->data, key, data);
-          }
-     }
-
-   if (pc2->alias)
-     {
-        char *key, *alias;
+        if (!pc->data)
+          pc->data = eina_hash_string_small_new(free);
 
-        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-        eina_hash_foreach(pc2->alias,
-                     _edje_data_item_list_foreach, &fdata);
-        if (!pc->alias) pc->alias = eina_hash_string_small_new(free);
-        EINA_LIST_FREE(fdata.list, key)
-          {
-             alias = eina_hash_find(pc2->alias, key);
-             eina_hash_direct_add(pc->alias, key, alias);
-          }
-     }
-   if (pc2->aliased)
-     {
-        char *key, *aliased;
 
-        memset(&fdata, 0, sizeof(Edje_List_Foreach_Data));
-        eina_hash_foreach(pc2->aliased,
-                          _edje_data_item_list_foreach, &fdata);
-        if (!pc->aliased) pc->aliased = eina_hash_string_small_new(free);
         EINA_LIST_FREE(fdata.list, key)
           {
-             aliased = eina_hash_find(pc2->aliased, key);
-             eina_hash_direct_add(pc->aliased, key, aliased);
+             es = mem_alloc(SZ(Edje_String));
+             es = (Edje_String *)eina_hash_find(pc2->data, key);
+             eina_hash_direct_add(pc->data, key, es);
           }
      }
 
@@ -2368,7 +2340,6 @@ st_collections_group_inherit(void)
         ep->select_mode = ep2->select_mode;
         ep->cursor_mode = ep2->cursor_mode;
         ep->multiline = ep2->multiline;
-        ep->access = ep2->access;
         ep->dragable.x = ep2->dragable.x;
         ep->dragable.step_x = ep2->dragable.step_x;
         ep->dragable.count_x = ep2->dragable.count_x;
@@ -2961,7 +2932,6 @@ ob_collections_group_parts_part(void)
    ep->pointer_mode = EVAS_OBJECT_POINTER_MODE_AUTOGRAB;
    ep->precise_is_inside = 0;
    ep->use_alternate_font_metrics = 0;
-   ep->access = 0;
    ep->clip_to_id = -1;
    ep->dragable.confine_id = -1;
    ep->dragable.event_id = -1;
@@ -3647,25 +3617,6 @@ st_collections_group_parts_part_multiline(void)
 
 /**
     @page edcref
-    @property
-        access 
-    @parameters
-        [1 or 0]
-    @effect
-        Specifies whether the part will use accessibility feature (1),
-        or not (0). It's set to 0 by default.
-    @endproperty
-*/
-static void
-st_collections_group_parts_part_access(void)
-{
-   check_arg_count(1);
-
-   current_part->access = parse_bool(0);
-}
-
-/**
-    @page edcref
     @block
         dragable
     @context
@@ -4259,7 +4210,6 @@ ob_collections_group_parts_part_description(void)
      }
 
    ed->visible = 1;
-   ed->limit = 0;
    ed->align.x = FROM_DOUBLE(0.5);
    ed->align.y = FROM_DOUBLE(0.5);
    ed->min.w = 0;
@@ -4673,43 +4623,6 @@ st_collections_group_parts_part_description_visible(void)
 
    current_desc->visible = parse_bool(0);
 }
-/**
-    @page edcref
-    @property
-        limit
-    @parameters
-        [NONE, WIDTH, HEIGHT or BOTH]
-    @effect
-       Emit a signal when the part size change from zero or to a zero size
-       ('limit,width,over', 'limit,width,zero'). By default no signal are
-       emitted.
-    @endproperty
-    @since 1.7.0
-*/
-static void
-st_collections_group_parts_part_description_limit(void)
-{
-   check_arg_count(1);
-
-   current_desc->limit = parse_enum(0,
-                                   "NONE", 0,
-                                   "WIDTH", 1,
-                                   "HEIGHT", 2,
-                                   "BOTH", 3);
-
-   if (current_desc->limit)
-     {
-        Edje_Part_Collection *pc;
-        int count;
-
-        pc = eina_list_data_get(eina_list_last(edje_collections));
-        count = pc->limits.parts_count++;
-        pc->limits.parts = realloc(pc->limits.parts,
-                                   pc->limits.parts_count * sizeof (Edje_Part_Limit));
-        data_queue_part_lookup(pc, current_part->name,
-                               &(pc->limits.parts[count].part));
-     }
-}
 
 /**
     @page edcref
index 6eee5a6..0e72e28 100644 (file)
@@ -1272,6 +1272,7 @@ data_write_scripts(Eet_File *ef)
         sc->ef = ef;
         sc->cd = cd;
         sc->i = i;
+        // XXX: from here
         snprintf(sc->tmpn, PATH_MAX, "%s/edje_cc.sma-tmp-XXXXXX", tmp_dir);
         sc->tmpn_fd = mkstemp(sc->tmpn);
         if (sc->tmpn_fd < 0)
@@ -1286,11 +1287,11 @@ data_write_scripts(Eet_File *ef)
                              "compilation.\n", sc->tmpn);
           }
         create_script_file(ef, sc->tmpn, cd, sc->tmpn_fd);
+        // XXX; to here -> can make set of threads that report back and then
+        // spawn
         snprintf(buf, sizeof(buf),
-                 "%s/embryo_cc -i %s/include -o %s %s",
-                 eina_prefix_bin_get(pfx), 
-                 eina_prefix_data_get(pfx),
-                 sc->tmpo, sc->tmpn);
+                 "embryo_cc -i %s/include -o %s %s",
+                 eina_prefix_data_get(pfx), sc->tmpo, sc->tmpn);
         pending_threads++;
         sc->exe = ecore_exe_run(buf, sc);
         ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
@@ -2144,15 +2145,11 @@ data_process_lookups(void)
           }
         else
           {
-             char *alias;
-             alias = eina_hash_find(part->pc->alias, part->name);
-             if (!alias)
-               alias = part->name;
              for (i = 0; i < part->pc->parts_count; ++i)
                {
                   ep = part->pc->parts[i];
 
-                  if ((ep->name) && (!strcmp(ep->name, alias)))
+                  if ((ep->name) && (!strcmp(ep->name, part->name)))
                     {
                        handle_slave_lookup(part_slave_lookups, part->dest, ep->id);
                        *(part->dest) = ep->id;
@@ -2162,8 +2159,8 @@ data_process_lookups(void)
 
              if (i == part->pc->parts_count)
                {
-                  ERR("%s: Error. Unable to find part name \"%s\" needed in group '%s'.",
-                      progname, alias, part->pc->part);
+                  ERR("%s: Error. Unable to find part name \"%s\".",
+                      progname, part->name);
                   exit(-1);
                }
           }
index c259e60..d0ca484 100644 (file)
@@ -3674,15 +3674,6 @@ EAPI Evas_Object *edje_object_part_box_remove_at          (Evas_Object *obj, con
 EAPI Eina_Bool    edje_object_part_box_remove_all         (Evas_Object *obj, const char *part, Eina_Bool clear);
 
 /**
- * @brief Retrieve a list all accessibility part names
- *
- * @param obj A valid Evas_Object handle
- * @return A list all accessibility part names on @p obj
- * @since 1.3.0
- */
-EAPI Eina_List * edje_object_access_part_list_get         (const Evas_Object *obj);
-
-/**
  * @brief Retrieve a child from a table
  *
  * @param obj A valid Evas_Object handle
index 6b99b61..6634f96 100644 (file)
@@ -667,79 +667,6 @@ _edje_recalc_do(Edje *ed)
         edje_object_size_min_calc(ed->obj, &w, &h);
         evas_object_size_hint_min_set(ed->obj, w, h);
      }
-
-   if (!ed->collection) return ;
-
-   for (i = 0; i < ed->collection->limits.parts_count; i++)
-     {
-        const char *name;
-        unsigned char limit;
-        int part;
-
-        name = ed->collection->parts[i]->name;
-        part = ed->collection->limits.parts[i].part;
-        limit = ed->table_parts[part]->chosen_description->limit;
-        switch (limit)
-          {
-           case 0:
-              ed->collection->limits.parts[i].width = 2;
-              ed->collection->limits.parts[i].height = 2;
-              break;
-           case 1:
-              ed->collection->limits.parts[i].height = 2;
-              break;
-           case 2:
-              ed->collection->limits.parts[i].width = 2;
-              break;
-           case 3:
-              break;
-          }
-
-        if (limit | 1)
-          {
-             if (ed->table_parts[part]->w > 0 &&
-                 (ed->collection->limits.parts[i].width <= 0 ||
-                  ed->collection->limits.parts[i].width == 2))
-               {
-                  ed->collection->limits.parts[i].width = 1;
-                  _edje_emit(ed, "limit,width,over", name);
-               }
-             else if (ed->table_parts[part]->w < 0 &&
-                      ed->collection->limits.parts[i].width >= 0)
-               {
-                  ed->collection->limits.parts[i].width = -1;
-                  _edje_emit(ed, "limit,width,below", name);
-               }
-             else if (ed->table_parts[part]->w == 0 &&
-                      ed->collection->limits.parts[i].width != 0)
-               {
-                  ed->collection->limits.parts[i].width = 0;
-                  _edje_emit(ed, "limit,width,zero", name);
-               }
-          }
-        if (limit | 2)
-          {
-             if (ed->table_parts[part]->h > 0 &&
-                 (ed->collection->limits.parts[i].height <= 0 ||
-                  ed->collection->limits.parts[i].height == 2))
-               {
-                  ed->collection->limits.parts[i].height = 1;
-                  _edje_emit(ed, "limit,height,over", name);
-               }
-             else if (ed->table_parts[part]->h < 0 &&
-                      ed->collection->limits.parts[i].height >= 0)
-               {
-                  ed->collection->limits.parts[i].height = -1;
-                  _edje_emit(ed, "limit,height,beloh", name);
-               }
-             else if (ed->table_parts[part]->h == 0 &&
-                      ed->collection->limits.parts[i].height != 0)
-               {
-                  ed->collection->limits.parts[i].height = 0;
-                  _edje_emit(ed, "limit,height,zero", name);
-               }
-          }
-     }
 }
 
 void
@@ -1252,32 +1179,6 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
                   if (*maxh < *minh) *maxh = *minh;
               }
          }
-        if ((chosen_desc->text.fit_x) || (chosen_desc->text.fit_y))
-          {
-             double s = 1.0;
-             
-             if (ep->part->scale) s = TO_DOUBLE(sc);
-             evas_object_scale_set(ep->object, s);
-             evas_object_textblock_size_formatted_get(ep->object, &tw, &th);
-             if (chosen_desc->text.fit_x)
-               {
-                  if ((tw > 0) && (tw > params->w))
-                    {
-                       s = (s * params->w) / (double)tw;
-                       evas_object_scale_set(ep->object, s);
-                       evas_object_textblock_size_formatted_get(ep->object, &tw, &th);
-                    }
-               }
-             if (chosen_desc->text.fit_y)
-               {
-                  if ((th > 0) && (th > params->h))
-                    {
-                       s = (s * params->h) / (double)th;
-                       evas_object_scale_set(ep->object, s);
-                       evas_object_textblock_size_formatted_get(ep->object, &tw, &th);
-                    }
-               }
-          }
         evas_object_textblock_valign_set(ep->object, TO_DOUBLE(chosen_desc->text.align.y));
      }
 }
index da30329..380fee4 100644 (file)
@@ -55,7 +55,6 @@ Eet_Data_Descriptor *_edje_edd_edje_part_description_external_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_part_image_id_pointer = NULL;
 Eet_Data_Descriptor *_edje_edd_edje_external_param = NULL;
-Eet_Data_Descriptor *_edje_edd_edje_part_limit = NULL;
 
 #define EMP(Type, Minus)                               \
   Eina_Mempool *_emp_##Type = NULL;                    \
@@ -110,7 +109,7 @@ struct {
   { EDJE_PART_TYPE_TABLE,     "table" },
   { EDJE_PART_TYPE_EXTERNAL,  "external" },
   { EDJE_PART_TYPE_PROXY,     "proxy" },
-  { EDJE_PART_TYPE_SPACER,    "spacer" }
+  { EDJE_PART_TYPE_SPACER,   "spacer" }
 };
 
 static const char *
@@ -219,7 +218,6 @@ _edje_edd_shutdown(void)
    FREED(_edje_edd_edje_external_param);
    FREED(_edje_edd_edje_image_directory_set);
    FREED(_edje_edd_edje_image_directory_set_entry);
-   FREED(_edje_edd_edje_part_limit);
 }
 
 #define EDJE_DEFINE_POINTER_TYPE(Type, Name)                           \
@@ -456,7 +454,6 @@ _edje_edd_init(void)
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.name", state.name, EET_T_STRING); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "state.value", state.value, EET_T_DOUBLE); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "visible", visible, EET_T_CHAR); \
-      EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "limit", limit, EET_T_CHAR); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.x", align.x, EDJE_T_FLOAT); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "align.y", align.y, EDJE_T_FLOAT); \
       EET_DATA_DESCRIPTOR_ADD_BASIC(Edd, Type, "fixed.w", fixed.w, EET_T_UCHAR); \
@@ -743,7 +740,6 @@ _edje_edd_init(void)
    EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB(_edje_edd_edje_part_description_external, Edje_Part_Description_External, common);
    EET_DATA_DESCRIPTOR_ADD_LIST(_edje_edd_edje_part_description_external, Edje_Part_Description_External, "external_params", external_params, _edje_edd_edje_external_param);
 
-   EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_spacer);
    EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_rectangle);
    EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_swallow);
    EDJE_DEFINE_POINTER_TYPE(Part_Description_Common, part_description_group);
@@ -866,15 +862,9 @@ _edje_edd_init(void)
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "select_mode", select_mode, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "cursor_mode", cursor_mode, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "multiline", multiline, EET_T_UCHAR);
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "access", access, EET_T_UCHAR);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.name", api.name, EET_T_STRING);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "api.description", api.description, EET_T_STRING);
 
-   EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Limit);
-   _edje_edd_edje_part_limit = eet_data_descriptor_file_new(&eddc);
-
-   EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_limit, Edje_Part_Limit, "part", part, EET_T_INT);
-
    EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Collection);
    _edje_edd_edje_part_collection  =
      eet_data_descriptor_file_new(&eddc);
@@ -892,7 +882,6 @@ _edje_edd_init(void)
    EDJE_DEFINE_POINTER_TYPE(Limit, limit);
    EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.vertical", limits.vertical, _edje_edd_edje_limit_pointer);
    EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.horizontal", limits.horizontal, _edje_edd_edje_limit_pointer);
-   EET_DATA_DESCRIPTOR_ADD_VAR_ARRAY(_edje_edd_edje_part_collection, Edje_Part_Collection, "limits.parts", limits.parts, _edje_edd_edje_part_limit);
 
    EET_DATA_DESCRIPTOR_ADD_HASH(_edje_edd_edje_part_collection, Edje_Part_Collection, "data", data, _edje_edd_edje_string);
    EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_collection, Edje_Part_Collection, "id", id, EET_T_INT);
index dd9170f..e6c7570 100644 (file)
@@ -1319,15 +1319,10 @@ _range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __
 {
    size_t start, end;
    char *tmp;
-   Edje_Entry_Change_Info *info;
-
+   Edje_Entry_Change_Info *info = calloc(1, sizeof(*info));
+   info->insert = EINA_FALSE;
    start = evas_textblock_cursor_pos_get(en->sel_start);
    end = evas_textblock_cursor_pos_get(en->sel_end);
-   if (start == end)
-      goto noop;
-
-   info = calloc(1, sizeof(*info));
-   info->insert = EINA_FALSE;
    info->change.del.start = start;
    info->change.del.end = end;
 
@@ -1338,7 +1333,6 @@ _range_del_emit(Edje *ed, Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o __
    _edje_emit(ed, "entry,changed", en->rp->part->name);
    _edje_emit_full(ed, "entry,changed,user", en->rp->part->name, info,
                    _free_entry_change_info);
-noop:
    _sel_clear(en->cursor, en->rp->object, en);
 }
 
@@ -1553,7 +1547,7 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v
              evas_textblock_cursor_char_prev(en->cursor);
              evas_textblock_cursor_word_start(en->cursor);
 
-             _sel_preextend(en->cursor, rp->object, en);
+             _sel_extend(en->cursor, rp->object, en);
 
              _range_del_emit(ed, en->cursor, rp->object, en);
           }
index e6efc96..21f8ded 100644 (file)
@@ -1139,6 +1139,7 @@ _edje_file_del(Edje *ed)
               }
             if (rp->swallowed_object)
               {
+                  _edje_real_part_swallow_clear(rp);
                   /* Objects swallowed by the app do not get deleted,
                    but those internally swallowed (GROUP type) do. */
                  switch (rp->part->type)
@@ -1152,7 +1153,6 @@ _edje_file_del(Edje *ed)
                     default:
                        break;
                    }
-                  _edje_real_part_swallow_clear(rp);
                  rp->swallowed_object = NULL;
               }
             if (rp->items)
@@ -1731,7 +1731,6 @@ _cb_signal_repeat(void *data, Evas_Object *obj, const char *sig, const char *sou
    emsg.sig = sig;
    emsg.src = alias ? alias : new_src;
    emsg.data = NULL;
-   if (ed_parent)
-     _edje_message_send(ed_parent, EDJE_QUEUE_SCRIPT, 
-                        EDJE_MESSAGE_SIGNAL, 0, &emsg);
+   _edje_message_send(ed_parent, EDJE_QUEUE_SCRIPT, 
+                      EDJE_MESSAGE_SIGNAL, 0, &emsg);
 }
index d6bea8b..715dc0c 100644 (file)
@@ -20,7 +20,7 @@ typedef struct _Multisense_Data
 #define BUF_LEN 64
 #define SND_PROCESS_LENGTH 2048
 
-#ifdef ENABLE_MULTISENSE
+#ifdef HAVE_LIBREMIX
 static Ecore_Thread *player_thread = NULL;
 static int command_pipe[2];
 static Eina_Bool pipe_initialized = EINA_FALSE;
@@ -63,7 +63,8 @@ struct _Edje_Multisense_Sound_Action
       Edje_Tone_Action tone;
    } type;
 };
-#ifdef ENABLE_MULTISENSE
+
+#ifdef HAVE_LIBREMIX
 static Multisense_Data *
 init_multisense_environment(void)
 {
@@ -87,14 +88,14 @@ init_multisense_environment(void)
 
    m = _edje_module_handle_load(ms_factory);
    if (!m) goto err;
-#ifdef HAVE_LIBREMIX
+
    msdata->msenv->remixenv = remix_init();
-#endif
-   multisense_factory_init = 
+
+   multisense_factory_init =
      eina_module_symbol_get(m, "multisense_factory_init");
    if (multisense_factory_init) multisense_factory_init(msdata->msenv);
-#ifdef HAVE_LIBREMIX
-   msdata->multisense_sound_player_get = 
+
+   msdata->multisense_sound_player_get =
      eina_module_symbol_get(m, "multisense_sound_player_get");
    if (!msdata->multisense_sound_player_get) goto err;
 
@@ -112,16 +113,13 @@ init_multisense_environment(void)
                                         msdata->player, msdata->player_layer,
                                         REMIX_SAMPLES(0),
                                         REMIX_SAMPLES(REMIX_COUNT_INFINITE));
-#endif
    return msdata;
 
 err:
    if (msdata)
      {
-#ifdef HAVE_LIBREMIX
         if (msdata->deck) remix_destroy(msdata->msenv->remixenv, msdata->deck);
         if (msdata->msenv->remixenv) remix_purge(msdata->msenv->remixenv);
-#endif
         if (msdata->msenv) free(msdata->msenv);
         free(msdata);
      }
@@ -129,10 +127,9 @@ err:
 }
 #endif
 
-#if defined(ENABLE_MULTISENSE) && defined(HAVE_LIBREMIX)
+#ifdef HAVE_LIBREMIX
 static RemixBase *
-eet_sound_reader_get(Edje_Multisense_Env *msenv, const char *path,
-                     const char *sound_id, const double speed)
+eet_sound_reader_get(Edje_Multisense_Env *msenv, const char *path, const char *sound_id, const double speed)
 {
    RemixPlugin *sf_plugin = NULL;
    RemixBase * eet_snd_reader = NULL;
@@ -165,7 +162,7 @@ eet_sound_reader_get(Edje_Multisense_Env *msenv, const char *path,
 
 
 static RemixBase *
-edje_remix_sample_create(Multisense_Data *msdata, Edje *ed, Edje_Sample_Action *action)
+edje_remix_sample_create(Multisense_Data *msdata, Edje*ed, Edje_Sample_Action *action)
 {
    RemixBase *remix_snd = NULL;
    Edje_Sound_Sample *sample;
@@ -190,7 +187,7 @@ edje_remix_sample_create(Multisense_Data *msdata, Edje *ed, Edje_Sample_Action *
 }
 
 static RemixBase *
-edje_remix_tone_create(Multisense_Data *msdata, Edje *ed, Edje_Tone_Action *action)
+edje_remix_tone_create(Multisense_Data *msdata, Edje*ed, Edje_Tone_Action *action)
 {
    Edje_Sound_Tone *tone;
    RemixSquareTone *square = NULL;
@@ -220,7 +217,6 @@ sound_command_handler(Multisense_Data *msdata)
    RemixBase *sound;
 
    if (read(command_pipe[0], &command, sizeof(command)) <= 0) return;
-
    switch (command.action)
      {
       case EDJE_PLAY_SAMPLE:
@@ -249,7 +245,7 @@ sound_command_handler(Multisense_Data *msdata)
 }
 #endif
 
-#ifdef ENABLE_MULTISENSE
+#ifdef HAVE_LIBREMIX
 // msdata outside of thread due to thread issues in dlsym etc.
 static Multisense_Data *msdata = NULL;
 
@@ -258,12 +254,11 @@ _msdata_free(void)
 {
    // cleanup msdata outside of thread due to thread issues in dlsym etc.
    if (!msdata) return;
-#ifdef HAVE_LIBREMIX
    //cleanup Remix stuffs
    remix_destroy(msdata->msenv->remixenv, msdata->player);
    remix_destroy(msdata->msenv->remixenv, msdata->deck);
    remix_purge(msdata->msenv->remixenv);
-#endif
+
    free(msdata->msenv);
    free(msdata);
    msdata = NULL;
@@ -273,11 +268,9 @@ static void
 _player_job(void *data __UNUSED__, Ecore_Thread *th)
 {
    fd_set wait_fds;
-#ifdef HAVE_LIBREMIX
    RemixBase *sound;
    RemixCount process_len;
-#endif
-// disable and move outside of thread due to dlsym etc. thread issues   
+// disable and move outside of thread due to dlsym etc. thread issues
 //   Multisense_Data * msdata = init_multisense_environment();
 
    if (!msdata) return;
@@ -285,7 +278,7 @@ _player_job(void *data __UNUSED__, Ecore_Thread *th)
    fcntl(command_pipe[0], F_SETFL, O_NONBLOCK);
    FD_ZERO(&wait_fds);
    FD_SET(command_pipe[0], &wait_fds);
-#ifdef HAVE_LIBREMIX
+
    while (!ecore_thread_check(th))
      {
         if (!msdata->remaining)
@@ -312,11 +305,13 @@ _player_job(void *data __UNUSED__, Ecore_Thread *th)
      {
         remix_destroy(msdata->msenv->remixenv, sound);
      }
-#endif
+
    close(command_pipe[0]);
    close(command_pipe[1]);
 }
+#endif
 
+#ifdef HAVE_LIBREMIX
 static void
 _player_cancel(void *data __UNUSED__, Ecore_Thread *th __UNUSED__)
 {
@@ -324,7 +319,9 @@ _player_cancel(void *data __UNUSED__, Ecore_Thread *th __UNUSED__)
    _msdata_free();
    player_thread = NULL;
 }
+#endif
 
+#ifdef HAVE_LIBREMIX
 static void
 _player_end(void *data __UNUSED__, Ecore_Thread *th __UNUSED__)
 {
@@ -338,7 +335,7 @@ Eina_Bool
 _edje_multisense_internal_sound_sample_play(Edje *ed, const char *sample_name, const double speed)
 {
    ssize_t size = 0;
-#if defined(ENABLE_MULTISENSE) && defined(HAVE_LIBREMIX)
+#ifdef ENABLE_MULTISENSE
    Edje_Multisense_Sound_Action command;
 
    if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
@@ -366,7 +363,7 @@ Eina_Bool
 _edje_multisense_internal_sound_tone_play(Edje *ed, const char *tone_name, const double duration)
 {
    ssize_t size = 0;
-#if defined(ENABLE_MULTISENSE) && defined(HAVE_LIBREMIX)
+#ifdef ENABLE_MULTISENSE
    Edje_Multisense_Sound_Action command;
 
    if ((!pipe_initialized) && (!player_thread)) return EINA_FALSE;
index 3eee720..81a921a 100644 (file)
@@ -195,7 +195,7 @@ struct _Edje_Smart_Api
 /* increment this when you add new feature to edje file format without
  * breaking backward compatibility.
  */
-#define EDJE_FILE_MINOR 4
+#define EDJE_FILE_MINOR 3
 
 /* FIXME:
  *
@@ -321,7 +321,6 @@ typedef struct _Edje_Part_Description_Spec_Box       Edje_Part_Description_Spec_
 typedef struct _Edje_Part_Description_Spec_Table     Edje_Part_Description_Spec_Table;
 typedef struct _Edje_Patterns                        Edje_Patterns;
 typedef struct _Edje_Part_Box_Animation              Edje_Part_Box_Animation;
-typedef struct _Edje_Part_Limit                      Edje_Part_Limit;
 
 typedef struct _Edje Edje;
 typedef struct _Edje_Real_Part_State Edje_Real_Part_State;
@@ -728,14 +727,6 @@ struct _Edje_Pack_Element
    unsigned short   colspan, rowspan;
 };
 
-struct _Edje_Part_Limit
-{
-   int part;
-
-   signed char width; /* -1, 0 or 1 */
-   signed char height; /* -1, 0, or 1 */
-};
-
 /*----------*/
 
 struct _Edje_Part_Collection
@@ -763,9 +754,6 @@ struct _Edje_Part_Collection
 
       Edje_Limit **horizontal;
       unsigned int horizontal_count;
-
-      Edje_Part_Limit *parts;
-      unsigned int parts_count;
    } limits;
 
    Edje_Part **parts; /* an array of Edje_Part */
@@ -862,7 +850,6 @@ struct _Edje_Part
    unsigned char          select_mode;
    unsigned char          cursor_mode;
    unsigned char          multiline;
-   unsigned char          access; /* it will be used accessibility feature */
    Edje_Part_Api          api;
 };
 
@@ -927,7 +914,6 @@ struct _Edje_Part_Description_Common
    } persp;
 
    unsigned char     visible; /* is it shown */
-   unsigned char     limit; /* 0 == no, 1 = width, 2 = height, 3 = both */
 };
 
 struct _Edje_Part_Description_Spec_Fill
index 10354db..cc936c8 100644 (file)
@@ -95,14 +95,14 @@ _edje_user_definition_free(Edje_User_Defined *eud)
        rp->swallowed_object = NULL;
        rp->swallow_params.min.w = 0;
        rp->swallow_params.min.h = 0;
-       rp->swallow_params.max.w = 0;
-       rp->swallow_params.max.h = 0;
+       rp->swallow_params.max.w = 0; 
+       rp->swallow_params.max.h = 0;     
        rp->edje->dirty = 1;
-       rp->edje->recalc_call = 1;
+       rp->edje->recalc_call = 1;        
 #ifdef EDJE_CALC_CACHE
-       rp->invalidate = 1;
+       rp->invalidate = 1;  
 #endif
-       _edje_recalc_do(rp->edje);
+       _edje_recalc(rp->edje);
        break;
       case EDJE_USER_BOX_PACK:
        child = eud->u.box.child;
@@ -2528,6 +2528,7 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw
    Edje *ed;
    Edje_Real_Part *rp;
    Edje_User_Defined *eud = NULL;
+   Eina_List *l;
 
    ed = _edje_fetch(obj);
    if ((!ed) || (!part)) return EINA_FALSE;
@@ -2542,6 +2543,20 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw
    // XXX: by Sachiel, January 21th 2009, 19:30 UTC
    _edje_recalc_do(ed);
 
+   EINA_LIST_FOREACH(ed->user_defined, l, eud)
+     if (eud->type == EDJE_USER_SWALLOW && !strcmp(part, eud->part))
+       {
+          ed->user_defined = eina_list_remove_list(ed->user_defined, l);
+          if (!obj_swallow)
+            {
+               _edje_user_definition_free(eud);
+               l = NULL;
+               eud = NULL;
+               break;
+            }
+          break;
+       }
+
    rp = evas_object_data_get(obj_swallow, "\377 edje.swallowing_part");
    if (rp)
      {
@@ -2880,7 +2895,7 @@ edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
                     if (eud->type == EDJE_USER_SWALLOW && eud->u.swallow.child == obj_swallow)
                       {
                          _edje_user_definition_free(eud);
-                         return ;
+                         break;
                       }
                }
           }
@@ -3899,27 +3914,6 @@ edje_object_part_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool cl
    return r;
 }
 
-EAPI Eina_List *
-edje_object_access_part_list_get(const Evas_Object *obj)
-{
-   Edje *ed;
-   Eina_List *access_parts = NULL;
-
-   ed = _edje_fetch(obj);
-   if ((!ed)) return NULL;
-
-   unsigned int i;
-   for (i = 0; i < ed->table_parts_size; i++)
-     {
-        Edje_Real_Part *rp;
-        rp = ed->table_parts[i];
-        if (rp->part->access)
-          access_parts = eina_list_append(access_parts, rp->part->name);
-     }
-
-   return access_parts;
-}
-
 static void
 _edje_box_child_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *child __UNUSED__, void *einfo __UNUSED__)
 {
@@ -5085,7 +5079,7 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp)
          }
        rp->swallow_params.aspect.w = aw;
        rp->swallow_params.aspect.h = ah;
-        evas_object_data_set(rp->swallowed_object, "\377 edje.swallowing_part", rp);
+       evas_object_data_set(rp->swallowed_object, "\377 edje.swallowing_part", rp);
      }
 
 #ifdef EDJE_CALC_CACHE
@@ -5115,7 +5109,8 @@ _edje_real_part_swallow(Edje_Real_Part *rp,
      {
         if (rp->swallowed_object != obj_swallow)
           {
-             edje_object_part_unswallow(rp->edje->obj, rp->swallowed_object);
+             _edje_real_part_swallow_clear(rp);
+             rp->swallowed_object = NULL;
           }
         else
           {
@@ -5139,7 +5134,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp,
    else evas_object_clip_set(rp->swallowed_object, rp->edje->base.clipper);
    evas_object_stack_above(rp->swallowed_object, rp->object);
    evas_object_event_callback_add(rp->swallowed_object,
-                                  EVAS_CALLBACK_DEL,
+                                  EVAS_CALLBACK_FREE,
                                  _edje_object_part_swallow_free_cb,
                                  rp);
    evas_object_event_callback_add(rp->swallowed_object,
@@ -5177,7 +5172,7 @@ _edje_real_part_swallow_clear(Edje_Real_Part *rp)
 {
    evas_object_smart_member_del(rp->swallowed_object);
    evas_object_event_callback_del_full(rp->swallowed_object,
-                                       EVAS_CALLBACK_DEL,
+                                       EVAS_CALLBACK_FREE,
                                        _edje_object_part_swallow_free_cb,
                                        rp);
    evas_object_event_callback_del_full(rp->swallowed_object,
@@ -5189,7 +5184,6 @@ _edje_real_part_swallow_clear(Edje_Real_Part *rp)
    if (rp->part->mouse_events)
      _edje_callbacks_del(rp->swallowed_object, rp->edje);
    _edje_callbacks_focus_del(rp->swallowed_object, rp->edje);
-   rp->swallowed_object = NULL;
 }
 
 static void