Hello, I fixed elm_object_item_access_order_get()
It didn't return any value even the return type is Eina_List *.
And _elm_access_widget_item_access_order_get() returns const Eina_List * so
I fixed elm_object_item_access_order_get() to return the same thing.
http://trac.enlightenment.org/e/changeset/83782
Please check them.

Thanks.

Daniel Juyung Seo (SeoZ)


On Thu, Feb 7, 2013 at 10:01 PM, Enlightenment SVN <
[email protected]> wrote:

> Log:
> [access] convey(relay) focus(highlight) to the object which is swallowed
> by Elm_Object_Item.
>
>
> Author:       kimcinoo
> Date:         2013-02-07 05:01:34 -0800 (Thu, 07 Feb 2013)
> New Revision: 83742
> Trac:         http://trac.enlightenment.org/e/changeset/83742
>
> Modified:
>   trunk/elementary/src/lib/elm_access.c
> trunk/elementary/src/lib/elm_genlist.c trunk/elementary/src/lib/elm_main.c
> trunk/elementary/src/lib/elm_object_item.h
> trunk/elementary/src/lib/elm_widget.h
>
> Modified: trunk/elementary/src/lib/elm_access.c
> ===================================================================
> --- trunk/elementary/src/lib/elm_access.c       2013-02-07 12:43:59 UTC
> (rev 83741)
> +++ trunk/elementary/src/lib/elm_access.c       2013-02-07 13:01:34 UTC
> (rev 83742)
> @@ -265,30 +265,87 @@
>     return ho;
>  }
>
> -void _elm_access_mouse_event_enabled_set(Eina_Bool enabled)
> +void
> +_elm_access_mouse_event_enabled_set(Eina_Bool enabled)
>  {
>     enabled = !!enabled;
>     if (mouse_event_enable == enabled) return;
>     mouse_event_enable = enabled;
>  }
>
> -void _elm_access_read_mode_set(Eina_Bool enabled)
> +void
> +_elm_access_read_mode_set(Eina_Bool enabled)
>  {
>     enabled = !!enabled;
>     if (read_mode == enabled) return;
>     read_mode = enabled;
>  }
>
> -Eina_Bool _elm_access_read_mode_get()
> +Eina_Bool
> +_elm_access_read_mode_get()
>  {
>     return read_mode;
>  }
>
> -void _elm_access_shutdown()
> +void
> +_elm_access_shutdown()
>  {
>     _access_shutdown();
>  }
>
> +static void
> +_access_order_del_cb(void *data,
> +                     Evas *e __UNUSED__,
> +                     Evas_Object *obj,
> +                     void *event_info __UNUSED__)
> +{
> +   Elm_Widget_Item *item = data;
> +
> +   item->access_order = eina_list_remove(item->access_order, obj);
> +}
> +
> +void
> +_elm_access_widget_item_access_order_set(Elm_Widget_Item *item,
> +                                              Eina_List *objs)
> +{
> +   Eina_List *l;
> +   Evas_Object *o;
> +
> +   if (!item) return;
> +
> +   _elm_access_widget_item_access_order_unset(item);
> +
> +   EINA_LIST_FOREACH(objs, l, o)
> +     {
> +        evas_object_event_callback_add(o, EVAS_CALLBACK_DEL,
> +                                       _access_order_del_cb, item);
> +     }
> +
> +   item->access_order = objs;
> +}
> +
> +const Eina_List *
> +_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item)
> +{
> +   if (!item) return NULL;
> +   return item->access_order;
> +}
> +
> +void
> +_elm_access_widget_item_access_order_unset(Elm_Widget_Item *item)
> +{
> +   Eina_List *l, *l_next;
> +   Evas_Object *o;
> +
> +   if (!item) return;
> +
> +   EINA_LIST_FOREACH_SAFE(item->access_order, l, l_next, o)
> +     {
> +        evas_object_event_callback_del_full
> +          (o, EVAS_CALLBACK_DEL, _access_order_del_cb, item);
> +        item->access_order = eina_list_remove_list(item->access_order, l);
> +     }
> +}
>
>  //-------------------------------------------------------------------------//
>  EAPI void
>  _elm_access_highlight_set(Evas_Object* obj)
>
> Modified: trunk/elementary/src/lib/elm_genlist.c
> ===================================================================
> --- trunk/elementary/src/lib/elm_genlist.c      2013-02-07 12:43:59 UTC
> (rev 83741)
> +++ trunk/elementary/src/lib/elm_genlist.c      2013-02-07 13:01:34 UTC
> (rev 83742)
> @@ -2572,6 +2572,13 @@
>                         if (ELM_RECTS_INTERSECT
>                               (x + (w / 2), y + (h / 2), 0, 0, sx, sy, sw,
> sh))
>                           items = eina_list_append(items,
> it->base.access_obj);
> +
> +                       if (!it->base.access_order) continue;
> +
> +                       Eina_List *subl;
> +                       Evas_Object *subo;
> +                       EINA_LIST_FOREACH(it->base.access_order, subl,
> subo)
> +                         items = eina_list_append(items, subo);
>                      }
>                 }
>            }
>
> Modified: trunk/elementary/src/lib/elm_main.c
> ===================================================================
> --- trunk/elementary/src/lib/elm_main.c 2013-02-07 12:43:59 UTC (rev 83741)
> +++ trunk/elementary/src/lib/elm_main.c 2013-02-07 13:01:34 UTC (rev 83742)
> @@ -1561,6 +1561,24 @@
>     return ((Elm_Widget_Item *)item)->access_obj;
>  }
>
> +EAPI void
> +elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs)
> +{
> +   _elm_access_widget_item_access_order_set((Elm_Widget_Item *)item,
> objs);
> +}
> +
> +EAPI Eina_List *
> +elm_object_item_access_order_get(const Elm_Object_Item *item)
> +{
> +   _elm_access_widget_item_access_order_get((Elm_Widget_Item *)item);
> +}
> +
> +EAPI void
> +elm_object_item_access_order_unset(Elm_Object_Item *item)
> +{
> +   _elm_access_widget_item_access_order_unset((Elm_Widget_Item *)item);
> +}
> +
>  EAPI void *
>  elm_object_item_data_get(const Elm_Object_Item *it)
>  {
>
> Modified: trunk/elementary/src/lib/elm_object_item.h
> ===================================================================
> --- trunk/elementary/src/lib/elm_object_item.h  2013-02-07 12:43:59 UTC
> (rev 83741)
> +++ trunk/elementary/src/lib/elm_object_item.h  2013-02-07 13:01:34 UTC
> (rev 83742)
> @@ -141,6 +141,38 @@
>  EAPI Evas_Object                 *elm_object_item_access_object_get(const
> Elm_Object_Item *item);
>
>  /**
> + * @brief Set highlight order
> + * @since 1.8
> + *
> + * @param item The container object item
> + * @param objs Order of objects to pass highlight
> + *
> + * @ingroup General
> + */
> +EAPI void
> elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs);
> +
> +/**
> + * @brief Get highlight order
> + * @since 1.8
> + *
> + * @param item The container object item
> + * @return Order of objects to pass highlight
> + *
> + * @ingroup General
> + */
> +EAPI Eina_List                   *elm_object_item_access_order_getconst
> (const Elm_Object_Item *item);
> +
> +/**
> + * @brief Unset highlight order
> + * @since 1.8
> + *
> + * @param item The container object item
> + *
> + * @ingroup General
> + */
> +EAPI void
> elm_object_item_access_order_unset(Elm_Object_Item *item);
> +
> +/**
>   * Get the data associated with an object item
>   * @param it The Elementary object item
>   * @return The data associated with @p it
>
> Modified: trunk/elementary/src/lib/elm_widget.h
> ===================================================================
> --- trunk/elementary/src/lib/elm_widget.h       2013-02-07 12:43:59 UTC
> (rev 83741)
> +++ trunk/elementary/src/lib/elm_widget.h       2013-02-07 13:01:34 UTC
> (rev 83742)
> @@ -494,6 +494,10 @@
>     focus chain */
>  void                  _elm_access_read_mode_set(Eina_Bool enabled);
>  Eina_Bool             _elm_access_read_mode_get();
> +void
>  _elm_access_widget_item_access_order_set(Elm_Widget_Item *item, Eina_List
> *objs);
> +const Eina_List      *_elm_access_widget_item_access_order_get(const
> Elm_Widget_Item *item);
> +void
>  _elm_access_widget_item_access_order_unset(Elm_Widget_Item *item);
> +
>  EAPI void             _elm_access_clear(Elm_Access_Info *ac);
>  EAPI void             _elm_access_text_set(Elm_Access_Info *ac, int type,
> const char *text);
>  EAPI void             _elm_access_callback_set(Elm_Access_Info *ac, int
> type, Elm_Access_Info_Cb func, const void *data);
> @@ -550,6 +554,7 @@
>     Elm_Widget_Disable_Cb          disable_func;
>     Evas_Object                   *access_obj;
>     const char                    *access_info;
> +   Eina_List                     *access_order;
>
>     Eina_Bool                      disabled : 1;
>  };
>
>
>
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb
> _______________________________________________
> enlightenment-svn mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to