From: Enlightenment S. <no-...@en...> - 2009-08-28 05:28:56
|
Log: As requested by vtorri, to fix compilation on Windows Author: sachiel Date: 2009-08-27 22:28:44 -0700 (Thu, 27 Aug 2009) New Revision: 42056 Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector.c Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_fileselector.c 2009-08-28 03:31:28 UTC (rev 42055) +++ trunk/TMP/st/elementary/src/lib/elc_fileselector.c 2009-08-28 05:28:44 UTC (rev 42056) @@ -10,8 +10,8 @@ * write docs */ +#include <Ecore_Str.h> #include <Elementary.h> -#include <Ecore_Str.h> #include "elm_priv.h" typedef struct _Widget_Data Widget_Data; |
From: Enlightenment S. <no-...@en...> - 2009-09-11 19:36:09
|
Log: consider style when theming entry Author: sachiel Date: 2009-09-11 12:35:57 -0700 (Fri, 11 Sep 2009) New Revision: 42423 Modified: trunk/TMP/st/elementary/src/lib/elm_entry.c Modified: trunk/TMP/st/elementary/src/lib/elm_entry.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_entry.c 2009-09-11 18:25:34 UTC (rev 42422) +++ trunk/TMP/st/elementary/src/lib/elm_entry.c 2009-09-11 19:35:57 UTC (rev 42423) @@ -88,7 +88,7 @@ Widget_Data *wd = elm_widget_data_get(obj); const char *t; t = eina_stringshare_add(elm_entry_entry_get(obj)); - _elm_theme_set(wd->ent, "entry", _getbase(obj), "default"); + _elm_theme_set(wd->ent, "entry", _getbase(obj), elm_widget_style_get(obj)); elm_entry_entry_set(obj, t); eina_stringshare_del(t); edje_object_scale_set(wd->ent, elm_widget_scale_get(obj) * _elm_config->scale); |
From: Enlightenment S. <no-...@en...> - 2009-09-16 14:45:47
|
Log: Fix size of the right object Author: sachiel Date: 2009-09-16 07:45:35 -0700 (Wed, 16 Sep 2009) New Revision: 42515 Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-09-16 13:47:01 UTC (rev 42514) +++ trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-09-16 14:45:35 UTC (rev 42515) @@ -65,7 +65,7 @@ if (si->obj == obj) { edje_object_part_swallow(wd->lay, si->swallow, obj); - _sizing_eval(obj); + _sizing_eval(data); break; } } |
From: Enlightenment S. <no-...@en...> - 2009-09-16 19:14:06
|
Log: Get icon info from hoversel item. Patch by billiob Author: sachiel Date: 2009-09-16 12:13:55 -0700 (Wed, 16 Sep 2009) New Revision: 42522 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in trunk/TMP/st/elementary/src/lib/elc_hoversel.c Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-09-16 18:05:04 UTC (rev 42521) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-09-16 19:13:55 UTC (rev 42522) @@ -563,6 +563,7 @@ EAPI void *elm_hoversel_item_data_get(Elm_Hoversel_Item *it); EAPI const char *elm_hoversel_item_label_get(Elm_Hoversel_Item *it); EAPI void elm_hoversel_item_icon_set(Elm_Hoversel_Item *it, const char *icon_file, const char *icon_group, Elm_Icon_Type icon_type); + EAPI void elm_hoversel_item_icon_get(Elm_Hoversel_Item *it, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type); /* smart callbacks called: * "clicked" - the user clicked the hoversel button and popped up the sel * "selected" - an item in the hoversel list is selected Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2009-09-16 18:05:04 UTC (rev 42521) +++ trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2009-09-16 19:13:55 UTC (rev 42522) @@ -511,3 +511,24 @@ it->icon_type = icon_type; } +/** + * Get the icon object of the hoversel item + * + * @param it The item to get the icon from + * @param icon_file The image file path on disk used for the icon or standard + * icon name. return + * @param icon_group The edje group used if @p icon_file is an edje file. NULL + * if the icon is not an edje file. return + * @param icon_type The icon type. return + * + * @ingroup Hoversel + */ +EAPI void +elm_hoversel_item_icon_get(Elm_Hoversel_Item *it, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type) +{ + if (!it) return; + + if (icon_file) *icon_file = it->icon_file; + if (icon_group) *icon_group = it->icon_group; + if (icon_type) *icon_type = it->icon_type; +} |
From: Enlightenment S. <no-...@en...> - 2009-09-17 22:39:30
|
Log: Improve documentation for Evas, Ecore, Edje and Elementary. Work by: - Thiago R. Masaki (mostly) - Fabiano Fidencio - Gustavo Lima Author: sachiel Date: 2009-09-17 15:39:18 -0700 (Thu, 17 Sep 2009) New Revision: 42553 Modified: trunk/TMP/st/elementary/src/lib/elm_bubble.c trunk/TMP/st/elementary/src/lib/elm_button.c trunk/TMP/st/elementary/src/lib/elm_clock.c trunk/TMP/st/elementary/src/lib/elm_frame.c trunk/TMP/st/elementary/src/lib/elm_genlist.c trunk/TMP/st/elementary/src/lib/elm_icon.c trunk/TMP/st/elementary/src/lib/elm_image.c trunk/TMP/st/elementary/src/lib/elm_index.c trunk/TMP/st/elementary/src/lib/elm_label.c trunk/TMP/st/elementary/src/lib/elm_layout.c trunk/TMP/st/elementary/src/lib/elm_main.c trunk/TMP/st/elementary/src/lib/elm_photo.c trunk/TMP/st/elementary/src/lib/elm_progressbar.c trunk/TMP/st/elementary/src/lib/elm_radio.c trunk/TMP/st/elementary/src/lib/elm_slider.c trunk/TMP/st/elementary/src/lib/elm_table.c Modified: trunk/TMP/st/elementary/src/lib/elm_bubble.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_bubble.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_bubble.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,15 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Bubble Bubble + * + * The Bubble is an widget used to show a text in a frame as speach is + * represented in comics. + * + */ + + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -79,6 +88,16 @@ } } +/** + * Add a new bubble to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * This function adds a text bubble to the given parent evas object. + * + * @ingroup Bubble + */ EAPI Evas_Object * elm_bubble_add(Evas_Object *parent) { @@ -105,6 +124,17 @@ return obj; } +/** + * Set the label of the bubble + * + * @param obj The given evas pointer + * @param label The string to set in the label + * + * This function sets the title of the bubble that is showed on top of + * the bubble. + * + * @ingroup Bubble + */ EAPI void elm_bubble_label_set(Evas_Object *obj, const char *label) { @@ -125,6 +155,19 @@ return wd->label; } +/** + * Set the info of the bubble + * + * @param obj The given evas pointer + * @param info The given info about the bubble + * + * This function sets the text showed on the top right of bubble In + * the Anchorblock example of the Elementary tests application it + * shows time. + * + * @ingroup Bubble + * + */ EAPI void elm_bubble_info_set(Evas_Object *obj, const char *info) { @@ -135,7 +178,18 @@ edje_object_part_text_set(wd->bbl, "elm.info", info); _sizing_eval(obj); } - +/** + * Set the text to be showed in the bubble + * + * @param obj The given evas pointer + * @param content The given info about the bubble + * + * This function sets the text showed on the top right of bubble. In + * the Anchorblock example of the Elementary tests application it + * shows time. + * + * @ingroup Bubble + */ EAPI void elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) { @@ -153,6 +207,16 @@ _sizing_eval(obj); } +/** + * Set the icon of the bubble + * + * @param obj The given evas pointer + * @param icon The given icon for the bubble + * + * This function sets the icon showed on the top left of bubble. + * + * @ingroup Bubble + */ EAPI void elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) { @@ -178,6 +242,16 @@ return wd->icon; } +/** + * Set the corner of the bubble + * + * @param obj The given evas pointer. + * @param corner The given corner for the bubble. + * + * This function sets the corner of the bubble. + * + * @ingroup Bubble + */ EAPI void elm_bubble_corner_set(Evas_Object *obj, const char *corner) { Modified: trunk/TMP/st/elementary/src/lib/elm_button.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_button.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_button.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,13 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Button Button + * + * This is a push-button. Press it and run some function. It can contain + * a simple label and icon object. + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -108,6 +115,13 @@ evas_object_smart_callback_call(data, "clicked", NULL); } +/** + * Add a new button to the parent + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Button + */ EAPI Evas_Object * elm_button_add(Evas_Object *parent) { @@ -136,6 +150,14 @@ return obj; } +/** + * Set the label used in the button + * + * @param obj The button object + * @param label The text will be written on the button + * + * @ingroup Button + */ EAPI void elm_button_label_set(Evas_Object *obj, const char *label) { @@ -169,6 +191,14 @@ return wd->label; } +/** + * Set the icon used for the button + * + * @param obj The button object + * @param icon The image for the button + * + * @ingroup Button + */ EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) { @@ -199,6 +229,14 @@ return wd->icon; } +/** + * Set the button style + * + * @param obj The button object + * @param style The style for the button + * + * @ingroup Button + */ EAPI void elm_button_style_set(Evas_Object *obj, const char *style) { Modified: trunk/TMP/st/elementary/src/lib/elm_clock.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_clock.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_clock.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,14 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Clock Clock + * + * It's a widget to show clock with animation. The update of time is + * showed in an animation like a flip of a sheet. + * + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -358,6 +366,16 @@ wd->cur.ampm = -1; } +/** + * Add a new clock to the parent + * + * @param parent The parent object + * + * This function inserts a clock widget on a given canvas to show a + * animated clock. + * + * @ingroup Clock + */ EAPI Evas_Object * elm_clock_add(Evas_Object *parent) { @@ -388,6 +406,18 @@ return obj; } +/** + * Set the clock time + * + * @param obj The clock object + * @param hrs The hours to set + * @param min The minutes to set + * @param sec The secondes to set + * + * This function updates the time that is showed by the clock widget + * + * @ingroup Clock + */ EAPI void elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec) { @@ -398,6 +428,22 @@ _time_update(obj); } +/** + * Get clock time + * + * @param obj The clock object + * @param hrs Pointer to the variable to get the hour of this clock + * object + * @param min Pointer to the variable to get the minute of this clock + * object + * @param sec Pointer to the variable to get the second of this clock + * object + * + * This function gets the time set of the clock widget and returns it + * on the variables passed as the arguments to function + * + * @ingroup Clock + */ EAPI void elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec) { @@ -407,6 +453,16 @@ if (sec) *sec = wd->sec; } +/** + * Set if the clock settings can be edited + * + * @param obj The clock object + * @param edit Bool option for edited (1 = yes, 0 = no) + * + * This function sets if the clock settings can be edited or not. + * + * @ingroup Clock + */ EAPI void elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit) { @@ -415,6 +471,20 @@ _time_update(obj); } +/** + * Set if the clock show hours in military or am/pm mode + * + * @param obj The clock object + * @param am_pm Bool option for the hours mode + * (1 = am/pm, 0 = military) + * + * This function sets the clock to show hours in military or am/pm + * mode. Some countries like Brazil the military mode (00-24h-format) + * is used in opposition to the USA where the am/pm mode is more + * common used. + * + * @ingroup Clock + */ EAPI void elm_clock_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm) { @@ -423,6 +493,18 @@ _time_update(obj); } +/** + * Set if the clock show hour with the seconds + * + * @param obj The clock object + * @param seconds Bool option for the show seconds + * (1 = show seconds, 0 = not show seconds) + * + * This function sets the clock to show or not to show the elapsed + * seconds. + * + * @ingroup Clock + */ EAPI void elm_clock_show_seconds_set(Evas_Object *obj, Eina_Bool seconds) { Modified: trunk/TMP/st/elementary/src/lib/elm_frame.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_frame.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_frame.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,13 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Frame Frame + * + * This holds some content and has a title. Looks like a frame, but + * supports styles so multple frames are avaible + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -66,6 +73,14 @@ } } +/** + * Add a new frame to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Frame + */ EAPI Evas_Object * elm_frame_add(Evas_Object *parent) { @@ -92,6 +107,14 @@ return obj; } +/** + * Set the frame label + * + * @param obj The frame object + * @param label The label of this frame object + * + * @ingroup Frame + */ EAPI void elm_frame_label_set(Evas_Object *obj, const char *label) { @@ -100,6 +123,15 @@ _sizing_eval(obj); } +/** + * Get the frame label + * + * @param obj The frame object + * + * @return The label of this frame objet or NULL if unable to get frame + * + * @ingroup Frame + */ EAPI const char* elm_frame_label_get(Evas_Object *obj) { @@ -108,6 +140,14 @@ return edje_object_part_text_get(wd->frm, "elm.text"); } +/** + * Set the frame content + * + * @param obj The frame object + * @param content The content will be filled in this frame object + * + * @ingroup Frame + */ EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content) { @@ -125,6 +165,14 @@ } } +/** + * Set the frame style + * + * @param obj The frame object + * @param style The style will be applied in this frame + * + * @ingroup Frame + */ EAPI void elm_frame_style_set(Evas_Object *obj, const char *style) { Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_genlist.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_genlist.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1998,7 +1998,7 @@ * item @p it. * * @param it The item - * @param selcted The slected state + * @param selected The slected state * * @ingroup Genlist */ Modified: trunk/TMP/st/elementary/src/lib/elm_icon.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_icon.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_icon.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,15 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Icon Icon + * + * A standard icon that may be provided by the theme (delete, edit, + * arrows etc.) or a custom file (PNG, JPG, EDJE etc.) used for an + * icon. The Icon may scale or not and of course... support alpha + * channels. + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -78,6 +87,14 @@ evas_object_smart_callback_call(data, "clicked", event_info); } +/** + * Add a new icon to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Icon + */ EAPI Evas_Object * elm_icon_add(Evas_Object *parent) { @@ -109,6 +126,17 @@ return obj; } +/** + * Set the file that will be used as icon + * + * @param obj The icon object + * @param file The path to file that will be used as icon + * @param group The group that the icon belongs in edje file + * + * @return (1 = sucess, 0 = error) + * + * @ingroup Icon + */ EAPI Eina_Bool elm_icon_file_set(Evas_Object *obj, const char *file, const char *group) { @@ -128,6 +156,14 @@ return ret; } +/** + * Set the theme, as standard, for a icon + * + * @param obj The icon object + * @param name The theme name + * + * @ingroup Icon + */ EAPI void elm_icon_standard_set(Evas_Object *obj, const char *name) { @@ -141,6 +177,15 @@ _sizing_eval(obj); } +/** + * Set the smooth effect for a icon + * + * @param obj The icon object + * @param smooth A bool to set (or no) smooth effect + * (1 = smooth, 0 = not smooth) + * + * @ingroup Icon + */ EAPI void elm_icon_smooth_set(Evas_Object *obj, Eina_Bool smooth) { @@ -150,6 +195,15 @@ _sizing_eval(obj); } +/** + * Set if the object are scalable + * + * @param obj The icon object + * @param no_scale A bool to set scale (or no) + * (1 = no_scale, 0 = scale) + * + * @ingroup Icon + */ EAPI void elm_icon_no_scale_set(Evas_Object *obj, Eina_Bool no_scale) { @@ -159,6 +213,15 @@ _sizing_eval(obj); } +/** + * Set if the object is (up/down) scalable + * + * @param obj The icon object + * @param scale_up A bool to set if the object is scalable up + * @param scale_down A bool to set if the object is scalable down + * + * @ingroup Icon + */ EAPI void elm_icon_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down) { @@ -169,6 +232,15 @@ _sizing_eval(obj); } +/** + * Set if the object is filled outside + * + * @param obj The icon object + * @param fill_outside A bool to set if the object is filled outside + * (1 = filled, 0 = no filled) + * + * @ingroup Icon + */ EAPI void elm_icon_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) { @@ -178,6 +250,15 @@ _sizing_eval(obj); } + +/** + * Set the prescale size for the icon + * + * @param obj The icon object + * @param size The prescale size + * + * @ingroup Icon + */ EAPI void elm_icon_prescale_set(Evas_Object *obj, int size) { Modified: trunk/TMP/st/elementary/src/lib/elm_image.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_image.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_image.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -4,6 +4,15 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Image Image + * + * A standard image that may be provided by the theme (delete, edit, + * arrows etc.) or a custom file (PNG, JPG, EDJE etc.) used for an + * icon. The Icon may scale or not and of course... support alpha + * channels. + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -77,6 +86,14 @@ evas_object_smart_callback_call(data, "clicked", NULL); } +/** + * Add a new image to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Image + */ EAPI Evas_Object * elm_image_add(Evas_Object *parent) { @@ -110,6 +127,17 @@ return obj; } +/** + * Set the file that will be used as image + * + * @param obj The image object + * @param file The path to file that will be used as image + * @param group The group that the image belongs in edje file + * + * @return (1 = sucess, 0 = error) + * + * @ingroup Image + */ EAPI Eina_Bool elm_image_file_set(Evas_Object *obj, const char *file, const char *group) { @@ -127,6 +155,15 @@ return ret; } +/** + * Set the smooth effect for a image + * + * @param obj The image object + * @param smooth A bool to set (or no) smooth effect + * (1 = smooth, 0 = not smooth) + * + * @ingroup Image + */ EAPI void elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth) { @@ -143,6 +180,15 @@ _els_smart_icon_size_get(wd->img, w, h); } +/** + * Set if the object are scalable + * + * @param obj The image object. + * @param no_scale A bool to set scale (or no). + * (1 = no_scale, 0 = scale) + * + * @ingroup Image + */ EAPI void elm_image_no_scale_set(Evas_Object *obj, Eina_Bool no_scale) { @@ -150,8 +196,18 @@ if (!wd) return; wd->no_scale = no_scale; _sizing_eval(obj); + } +/** + * Set if the object is (up/down) scalable + * + * @param obj The image object + * @param scale_up A bool to set if the object is scalable up + * @param scale_down A bool to set if the object is scalable down + * + * @ingroup Image + */ EAPI void elm_image_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down) { @@ -162,6 +218,15 @@ _sizing_eval(obj); } +/** + * Set if the object is filled outside + * + * @param obj The image object + * @param fill_outside A bool to set if the object is filled outside + * (1 = filled, 0 = no filled) + * + * @ingroup Image + */ EAPI void elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) { @@ -171,6 +236,14 @@ _sizing_eval(obj); } +/** + * Set the prescale size for the image + * + * @param obj The image object + * @param size The prescale size + * + * @ingroup Image + */ EAPI void elm_image_prescale_set(Evas_Object *obj, int size) { @@ -180,6 +253,18 @@ _els_smart_icon_scale_size_set(wd->img, size); } +/** + * Set the image orient + * + * @param obj The image object + * @param orient The image orient + * (ELM_IMAGE_ORIENT_NONE, ELM_IMAGE_ROTATE_90_CW, + * ELM_IMAGE_ROTATE_180_CW, ELM_IMAGE_ROTATE_90_CCW, + * ELM_IMAGE_FLIP_HORIZONTAL,ELM_IMAGE_FLIP_VERTICAL, + * ELM_IMAGE_FLIP_TRANSPOSE, ELM_IMAGE_FLIP_TRANSVERSE) + * + * @ingroup Image + */ EAPI void elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient orient) { Modified: trunk/TMP/st/elementary/src/lib/elm_index.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_index.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_index.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -582,9 +582,10 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. + * @param level To be documented. * * @ingroup Index */ @@ -598,7 +599,7 @@ } /** - * XXX + * @brief To be documented. * * @param obj The index object * @@ -613,9 +614,10 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. + * @param level to be documented. * * @ingroup Index */ @@ -634,9 +636,11 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. + * @param letter to be documented. + * @param item to be documented. * * @ingroup Index */ @@ -653,9 +657,11 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. + * @param letter to be documented. + * @param item to be documented. * * @ingroup Index */ @@ -672,9 +678,12 @@ } /** - * XXX + * @brief To be documented. * * @param obj The index object + * @param letter to be documented. + * @param item to be documented. + * @param relative to be documented. * * @ingroup Index */ @@ -702,9 +711,12 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. + * @param letter to be documented. + * @param item to be documented. + * @param relative to be documented. * * @ingroup Index */ @@ -732,9 +744,10 @@ } /** - * XXX + * @brief To be documented. * * @param obj The index object + * @param item To be documented. * * @ingroup Index */ @@ -751,9 +764,9 @@ } /** - * XXX + * @brief To be documented. * - * @param obj The index object + * @param obj The index object. * * @ingroup Index */ @@ -777,9 +790,10 @@ } /** - * XXX + * @brief To be documented. * * @param obj The index object + * @param level To be documented. * * @ingroup Index */ Modified: trunk/TMP/st/elementary/src/lib/elm_label.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_label.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_label.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,13 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Label Label + * + * Display text, with simple html-like markup. The theme of course + * can invent new markup tags and style them any way it likes + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -42,6 +49,14 @@ evas_object_size_hint_max_set(obj, maxw, maxh); } +/** + * Add a new label to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Label + */ EAPI Evas_Object * elm_label_add(Evas_Object *parent) { @@ -68,6 +83,14 @@ return obj; } +/** + * Set the label on the label object + * + * @param obj The label object + * @param label The label will be used on the label object + * + * @ingroup Label + */ EAPI void elm_label_label_set(Evas_Object *obj, const char *label) { @@ -79,6 +102,13 @@ _sizing_eval(obj); } +/** + * Get the label used on the label object + * + * @param obj The label object + * + * @ingroup Label + */ EAPI const char* elm_label_label_get(Evas_Object *obj) { Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,15 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Layout Layout + * + * This takes a standard Edje design file and wraps it very thinly + * in a widget and handles swallowing widgets into swallow regions + * in the Edje object, allowing Edje to be used as a design and + * layout tool + */ + typedef struct _Widget_Data Widget_Data; typedef struct _Subinfo Subinfo; @@ -92,6 +101,14 @@ } } +/** + * Add a new layout to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Layout + */ EAPI Evas_Object * elm_layout_add(Evas_Object *parent) { @@ -117,6 +134,17 @@ return obj; } +/** + * Set the file that will be used as layout + * + * @param obj The layout object + * @param file The path to file (edj) that will be used as layout + * @param group The group that the layout belongs in edje file + * + * @return (1 = sucess, 0 = error) + * + * @ingroup Layout + */ EAPI Eina_Bool elm_layout_file_set(Evas_Object *obj, const char *file, const char *group) { @@ -127,6 +155,15 @@ return ret; } +/** + * Set the layout content + * + * @param obj The layout object + * @param swallow The swallow group name in the edje file + * @param content The content will be filled in this layout object + * + * @ingroup Layout + */ EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) { @@ -157,6 +194,16 @@ } } +/** + * Get the edje layout + * + * @param obj The layout object + * + * @return A Evas_Object with the edje layout settings loaded + * with function elm_layout_file_set + * + * @ingroup Layout + */ EAPI Evas_Object * elm_layout_edje_get(const Evas_Object *obj) { Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1174,7 +1174,7 @@ * * This sets the globally configured finger size in pixels * - * @paramsize The finger size + * @param size The finger size * @ingroup Fingers */ EAPI void Modified: trunk/TMP/st/elementary/src/lib/elm_photo.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_photo.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_photo.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,13 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Photo Photo + * + * For displaying the photo of a person (contact). Simple yet + * with a very specific purpose. + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -55,6 +62,14 @@ evas_object_smart_callback_call(data, "clicked", NULL); } +/** + * Add a new photo to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Photo + */ EAPI Evas_Object * elm_photo_add(Evas_Object *parent) { @@ -95,6 +110,16 @@ return obj; } +/** + * Set the file that will be used as photo + * + * @param obj The photo object + * @param file The path to file that will be used as photo + * + * @return (1 = sucess, 0 = error) + * + * @ingroup Photo + */ EAPI Eina_Bool elm_photo_file_set(Evas_Object *obj, const char *file) { @@ -105,6 +130,14 @@ return 1; } +/** + * Set the size that will be used on the photo + * + * @param obj The photo object + * @param size The size that the photo will be + * + * @ingroup Photo + */ EAPI void elm_photo_size_set(Evas_Object *obj, int size) { Modified: trunk/TMP/st/elementary/src/lib/elm_progressbar.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_progressbar.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_progressbar.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -255,7 +255,7 @@ * (the cursor pulse right to left and left to right, and loop) if pulse is set to 1. * * @param obj The progressbar object - * @param pulse The pulse flag. 1 == pulse, 0 == normal + * @param state The pulse flag. 1 == pulse, 0 == normal * * @ingroup Progressbar */ Modified: trunk/TMP/st/elementary/src/lib/elm_radio.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_radio.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_radio.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -378,13 +378,13 @@ } /** - * Set the value the radio + * Set the value of the radio. * * This sets the value of the radio group and will also set the value if * pointed to, to the value supplied, but will not call any callbacks. * * @param obj The radio object - * @param state The value to use for the group + * @param value The value to use for the group * * @ingroup Radio */ Modified: trunk/TMP/st/elementary/src/lib/elm_slider.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_slider.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_slider.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -458,7 +458,7 @@ * information on how this works. * * @param obj The slider object - * @param units The format string for the indicator display + * @param indicator The format string for the indicator display * * @ingroup Slider */ Modified: trunk/TMP/st/elementary/src/lib/elm_table.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_table.c 2009-09-17 22:38:35 UTC (rev 42552) +++ trunk/TMP/st/elementary/src/lib/elm_table.c 2009-09-17 22:39:18 UTC (rev 42553) @@ -1,6 +1,14 @@ #include <Elementary.h> #include "elm_priv.h" +/** + * @defgroup Table Table + * + * Arranges widgets in a table where items can also span multiple + * columns or rows - even overlap (and then be raised or lowered + * accordingly to adjust stacking if they do overlap). + */ + typedef struct _Widget_Data Widget_Data; struct _Widget_Data @@ -55,6 +63,14 @@ _sizing_eval(obj); } +/** + * Add a new table to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup Table + */ EAPI Evas_Object * elm_table_add(Evas_Object *parent) { @@ -80,6 +96,16 @@ return obj; } +/** + * Set the homogenous layout in the table + * + * @param obj The layout object + * @param homogenous A boolean to set (or no) layout homogenous + * in the table + * (1 = homogenous, 0 = no homogenous) + * + * @ingroup Table + */ EAPI void elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) { @@ -87,6 +113,18 @@ _els_smart_table_homogenous_set(wd->tbl, homogenous); } +/** + * Add a subobject on the table with the coordinates passed + * + * @param obj The table object + * @param subobj The subobject to be added to the table + * @param x Coordinate to X axis + * @param y Coordinate to Y axis + * @param w Horizontal length + * @param h Vertical length + * + * @ingroup Table + */ EAPI void elm_table_pack(Evas_Object *obj, Evas_Object *subobj, int x, int y, int w, int h) { |
From: Enlightenment S. <no-...@en...> - 2009-09-25 02:35:37
|
Log: Delete timer if it's there when slideshow dies Author: sachiel Date: 2009-09-24 19:35:24 -0700 (Thu, 24 Sep 2009) New Revision: 42688 Modified: trunk/TMP/st/elementary/src/lib/elm_slideshow.c Modified: trunk/TMP/st/elementary/src/lib/elm_slideshow.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_slideshow.c 2009-09-25 00:27:36 UTC (rev 42687) +++ trunk/TMP/st/elementary/src/lib/elm_slideshow.c 2009-09-25 02:35:24 UTC (rev 42688) @@ -54,6 +54,8 @@ Widget_Data *wd = elm_widget_data_get(obj); elm_slideshow_clear(obj); _stringlist_free(wd->transitions); + if (wd->timer) + ecore_timer_del(wd->timer); free(wd); } |
From: Enlightenment S. <no-...@en...> - 2009-09-28 19:44:08
|
Log: Elm table now uses Evas table. Simple switch, nothing new. Author: sachiel Date: 2009-09-28 12:43:56 -0700 (Mon, 28 Sep 2009) New Revision: 42781 Removed: trunk/TMP/st/elementary/src/lib/els_table.c trunk/TMP/st/elementary/src/lib/els_table.h Modified: trunk/TMP/st/elementary/src/lib/Makefile.am trunk/TMP/st/elementary/src/lib/elm_priv.h trunk/TMP/st/elementary/src/lib/elm_table.c Modified: trunk/TMP/st/elementary/src/lib/Makefile.am =================================================================== --- trunk/TMP/st/elementary/src/lib/Makefile.am 2009-09-28 19:24:53 UTC (rev 42780) +++ trunk/TMP/st/elementary/src/lib/Makefile.am 2009-09-28 19:43:56 UTC (rev 42781) @@ -75,8 +75,6 @@ els_scroller.h \ els_box.c \ els_box.h \ -els_table.c \ -els_table.h \ els_icon.c \ els_icon.h Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2009-09-28 19:24:53 UTC (rev 42780) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2009-09-28 19:43:56 UTC (rev 42781) @@ -16,7 +16,6 @@ #include "els_pan.h" #include "els_scroller.h" #include "els_box.h" -#include "els_table.h" #include "els_icon.h" // FIXME: totally disorganised. clean this up! Modified: trunk/TMP/st/elementary/src/lib/elm_table.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_table.c 2009-09-28 19:24:53 UTC (rev 42780) +++ trunk/TMP/st/elementary/src/lib/elm_table.c 2009-09-28 19:43:56 UTC (rev 42781) @@ -86,7 +86,7 @@ elm_widget_data_set(obj, wd); elm_widget_del_hook_set(obj, _del_hook); - wd->tbl = _els_smart_table_add(e); + wd->tbl = evas_object_table_add(e); evas_object_event_callback_add(wd->tbl, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); elm_widget_resize_object_set(obj, wd->tbl); @@ -110,7 +110,7 @@ elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_table_homogenous_set(wd->tbl, homogenous); + evas_object_table_homogeneous_set(wd->tbl, homogenous); } /** @@ -130,5 +130,5 @@ { Widget_Data *wd = elm_widget_data_get(obj); elm_widget_sub_object_add(obj, subobj); - _els_smart_table_pack(wd->tbl, subobj, x, y, w, h); + evas_object_table_pack(wd->tbl, subobj, x, y, w, h); } |
From: Enlightenment S. <no-...@en...> - 2009-10-02 19:31:36
|
Log: Hacky move to evas_box Evas_Box layouts don't get along with what elm expects, so for now, it's using the old els_box calculate functions as a custom layout. Author: sachiel Date: 2009-10-02 12:22:40 -0700 (Fri, 02 Oct 2009) New Revision: 42863 Modified: trunk/TMP/st/elementary/src/lib/elm_box.c trunk/TMP/st/elementary/src/lib/elm_carousel.c trunk/TMP/st/elementary/src/lib/elm_index.c trunk/TMP/st/elementary/src/lib/elm_toolbar.c trunk/TMP/st/elementary/src/lib/els_box.c trunk/TMP/st/elementary/src/lib/els_box.h Modified: trunk/TMP/st/elementary/src/lib/elm_box.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_box.c 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/elm_box.c 2009-10-02 19:22:40 UTC (rev 42863) @@ -21,6 +21,8 @@ struct _Widget_Data { Evas_Object *box; + Eina_Bool horizontal:1; + Eina_Bool homogeneous:1; }; static void _del_hook(Evas_Object *obj); @@ -70,7 +72,15 @@ _sizing_eval(obj); } +static void +_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) +{ + Widget_Data *wd = data; + _els_box_layout(o, priv, wd->horizontal, wd->homogeneous); +} + + /** * Add a new box to the parent * @@ -94,7 +104,10 @@ elm_widget_data_set(obj, wd); elm_widget_del_hook_set(obj, _del_hook); - wd->box = _els_smart_box_add(e); + wd->box = evas_object_box_add(e); + /*evas_object_box_layout_set(wd->box, evas_object_box_layout_vertical, + NULL, NULL);*/ + evas_object_box_layout_set(wd->box, _layout, wd, NULL); evas_object_event_callback_add(wd->box, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); elm_widget_resize_object_set(obj, wd->box); @@ -120,7 +133,26 @@ elm_box_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_box_orientation_set(wd->box, horizontal); + wd->horizontal = !!horizontal; + evas_object_smart_calculate(wd->box); + /*if (wd->horizontal) + { + if (wd->homogeneous) + evas_object_box_layout_set(wd->box, + evas_object_box_layout_homogeneous_horizontal, NULL, NULL); + else + evas_object_box_layout_set(wd->box, evas_object_box_layout_horizontal, + NULL, NULL); + } + else + { + if (wd->homogeneous) + evas_object_box_layout_set(wd->box, + evas_object_box_layout_homogeneous_vertical, NULL, NULL); + else + evas_object_box_layout_set(wd->box, evas_object_box_layout_horizontal, + NULL, NULL); + }*/ } /** @@ -138,7 +170,26 @@ elm_box_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_box_homogenous_set(wd->box, homogenous); + wd->homogeneous = !!homogenous; + evas_object_smart_calculate(wd->box); + /*if (wd->horizontal) + { + if (wd->homogeneous) + evas_object_box_layout_set(wd->box, + evas_object_box_layout_homogeneous_horizontal, NULL, NULL); + else + evas_object_box_layout_set(wd->box, evas_object_box_layout_horizontal, + NULL, NULL); + } + else + { + if (wd->homogeneous) + evas_object_box_layout_set(wd->box, + evas_object_box_layout_homogeneous_vertical, NULL, NULL); + else + evas_object_box_layout_set(wd->box, evas_object_box_layout_horizontal, + NULL, NULL); + }*/ } /** @@ -157,7 +208,7 @@ { Widget_Data *wd = elm_widget_data_get(obj); elm_widget_sub_object_add(obj, subobj); - _els_smart_box_pack_start(wd->box, subobj); + evas_object_box_prepend(wd->box, subobj); } /** @@ -176,7 +227,7 @@ { Widget_Data *wd = elm_widget_data_get(obj); elm_widget_sub_object_add(obj, subobj); - _els_smart_box_pack_end(wd->box, subobj); + evas_object_box_append(wd->box, subobj); } /** @@ -198,7 +249,7 @@ { Widget_Data *wd = elm_widget_data_get(obj); elm_widget_sub_object_add(obj, subobj); - _els_smart_box_pack_before(wd->box, subobj, before); + evas_object_box_insert_before(wd->box, subobj, before); } /** @@ -220,7 +271,7 @@ { Widget_Data *wd = elm_widget_data_get(obj); elm_widget_sub_object_add(obj, subobj); - _els_smart_box_pack_after(wd->box, subobj, after); + evas_object_box_insert_after(wd->box, subobj, after); } /** @@ -236,7 +287,7 @@ elm_box_clear(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_box_clear(wd->box); + evas_object_box_remove_all(wd->box, 1); } /** @@ -253,7 +304,7 @@ elm_box_unpack(Evas_Object *obj, Evas_Object *subobj) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_box_unpack(wd->box, subobj); + evas_object_box_remove(wd->box, subobj); } /** @@ -270,5 +321,5 @@ elm_box_unpack_all(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); - _els_smart_box_unpack_all(wd->box); + evas_object_box_remove_all(wd->box, 0); } Modified: trunk/TMP/st/elementary/src/lib/elm_carousel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_carousel.c 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/elm_carousel.c 2009-10-02 19:22:40 UTC (rev 42863) @@ -175,9 +175,9 @@ wd->icon_size = 32; - wd->bx = _els_smart_box_add(e); - _els_smart_box_orientation_set(wd->bx, 1); - _els_smart_box_homogenous_set(wd->bx, 1); + wd->bx = evas_object_box_add(e); + evas_object_box_layout_set(wd->bx, + evas_object_box_layout_homogeneous_horizontal, NULL, NULL); elm_widget_sub_object_add(obj, wd->bx); elm_smart_scroller_child_set(wd->scr, wd->bx); evas_object_show(wd->bx); @@ -223,7 +223,7 @@ evas_object_size_hint_align_set(it->base, -1.0, -1.0); evas_object_size_hint_min_set(it->base, mw, mh); evas_object_size_hint_max_set(it->base, 9999, mh); - _els_smart_box_pack_end(wd->bx, it->base); + evas_object_box_append(wd->bx, it->base); evas_object_show(it->base); _sizing_eval(obj); return it; Modified: trunk/TMP/st/elementary/src/lib/elm_index.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_index.c 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/elm_index.c 2009-10-02 19:22:40 UTC (rev 42863) @@ -67,6 +67,14 @@ } static void +_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) +{ + Widget_Data *wd = data; + + _els_box_layout(o, priv, wd->horizontal, 1); +} + +static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); @@ -83,9 +91,8 @@ { if (!wd->bx[1]) { - wd->bx[1] = _els_smart_box_add(evas_object_evas_get(wd->base)); - _els_smart_box_orientation_set(wd->bx[1], wd->horizontal); - _els_smart_box_homogenous_set(wd->bx[1], 1); + wd->bx[1] = evas_object_box_add(wd->base); + evas_object_box_layout_set(wd->bx[1], _layout, wd, NULL); elm_widget_sub_object_add(obj, wd->bx[1]); } edje_object_part_swallow(wd->base, "elm.swallow.index.1", wd->bx[1]); @@ -209,7 +216,7 @@ evas_object_size_hint_weight_set(o, 1.0, 1.0); evas_object_size_hint_align_set(o, -1.0, -1.0); elm_widget_sub_object_add(obj, o); - _els_smart_box_pack_end(box, o); + evas_object_box_append(box, o); stacking = edje_object_data_get(o, "stacking"); if (stacking) { @@ -528,18 +535,16 @@ elm_widget_sub_object_add(obj, o); } - wd->bx[0] = _els_smart_box_add(e); - _els_smart_box_orientation_set(wd->bx[0], 0); - _els_smart_box_homogenous_set(wd->bx[0], 1); + wd->bx[0] = evas_object_box_add(e); + evas_object_box_layout_set(wd->bx[0], _layout, wd, NULL); elm_widget_sub_object_add(obj, wd->bx[0]); edje_object_part_swallow(wd->base, "elm.swallow.index.0", wd->bx[0]); evas_object_show(wd->bx[0]); if (edje_object_part_exists(wd->base, "elm.swallow.index.1")) { - wd->bx[1] = _els_smart_box_add(e); - _els_smart_box_orientation_set(wd->bx[1], 0); - _els_smart_box_homogenous_set(wd->bx[1], 1); + wd->bx[1] = evas_object_box_add(e); + evas_object_box_layout_set(wd->bx[1], _layout, wd, NULL); elm_widget_sub_object_add(obj, wd->bx[1]); edje_object_part_swallow(wd->base, "elm.swallow.index.1", wd->bx[1]); evas_object_show(wd->bx[1]); Modified: trunk/TMP/st/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-10-02 19:22:40 UTC (rev 42863) @@ -9,6 +9,7 @@ Eina_List *items; int icon_size; Eina_Bool scrollable : 1; + Eina_Bool homogeneous : 1; }; struct _Elm_Toolbar_Item @@ -159,6 +160,7 @@ Evas_Coord w, h; if (!wd) return; + evas_object_smart_calculate(wd->bx); edje_object_size_min_calc(elm_smart_scroller_edje_object_get(wd->scr), &minw, &minh); evas_object_geometry_get(obj, NULL, NULL, &w, &h); @@ -217,6 +219,14 @@ _item_select(data); } +static void +_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) +{ + Widget_Data *wd = data; + + _els_box_layout(o, priv, 1, wd->homogeneous); +} + EAPI Evas_Object * elm_toolbar_add(Evas_Object *parent) { @@ -244,10 +254,10 @@ wd->icon_size = 32; wd->scrollable = EINA_TRUE; + wd->homogeneous = EINA_TRUE; - wd->bx = _els_smart_box_add(e); - _els_smart_box_orientation_set(wd->bx, 1); - _els_smart_box_homogenous_set(wd->bx, 1); + wd->bx = evas_object_box_add(e); + evas_object_box_layout_set(wd->bx, _layout, wd, NULL); elm_widget_sub_object_add(obj, wd->bx); elm_smart_scroller_child_set(wd->scr, wd->bx); evas_object_show(wd->bx); @@ -320,7 +330,7 @@ evas_object_size_hint_align_set(it->base, -1.0, -1.0); evas_object_size_hint_min_set(it->base, mw, mh); evas_object_size_hint_max_set(it->base, 9999, mh); - _els_smart_box_pack_end(wd->bx, it->base); + evas_object_box_append(wd->bx, it->base); evas_object_show(it->base); _sizing_eval(obj); return it; @@ -417,6 +427,7 @@ Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; - _els_smart_box_homogenous_set(wd->bx, homogenous); + wd->homogeneous = !!homogenous; + evas_object_smart_calculate(wd->bx); } Modified: trunk/TMP/st/elementary/src/lib/els_box.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_box.c 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/els_box.c 2009-10-02 19:22:40 UTC (rev 42863) @@ -1,273 +1,69 @@ #include <Elementary.h> #include "elm_priv.h" -typedef struct _Smart_Data Smart_Data; -typedef struct _Box_Item Box_Item; - -struct _Smart_Data -{ - Evas_Coord x, y, w, h; - Evas_Object *obj, *clip; - Eina_Bool changed : 1; - Eina_Bool horizontal : 1; - Eina_Bool homogenous : 1; - Eina_Bool deleting : 1; - Eina_List *items; -}; - -/* local subsystem functions */ -static void _smart_adopt(Smart_Data *sd, Evas_Object *obj); -static void _smart_disown(Evas_Object *obj); -static void _smart_item_del_hook(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _smart_item_changed_size_hints_hook(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _smart_reconfigure(Smart_Data *sd); -static void _smart_extents_calculate(Smart_Data *sd); -static void _smart_init(void); -static void _smart_add(Evas_Object *obj); -static void _smart_del(Evas_Object *obj); -static void _smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y); -static void _smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h); -static void _smart_show(Evas_Object *obj); -static void _smart_hide(Evas_Object *obj); -static void _smart_color_set(Evas_Object *obj, int r, int g, int b, int a); -static void _smart_clip_set(Evas_Object *obj, Evas_Object *clip); -static void _smart_clip_unset(Evas_Object *obj); - -/* local subsystem globals */ -static Evas_Smart *_e_smart = NULL; - -/* externally accessible functions */ -Evas_Object * -_els_smart_box_add(Evas *evas) +static void +_smart_extents_calculate(Evas_Object *box, Evas_Object_Box_Data *priv, int horizontal, int homogeneous) { - _smart_init(); - return evas_object_smart_add(evas, _e_smart); -} - -void -_els_smart_box_orientation_set(Evas_Object *obj, int horizontal) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->horizontal == horizontal) return; - sd->horizontal = horizontal; - _smart_reconfigure(sd); -} - -int -_els_smart_box_orientation_get(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - return sd->horizontal; -} - -void -_els_smart_box_homogenous_set(Evas_Object *obj, int homogenous) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->homogenous == homogenous) return; - sd->homogenous = homogenous; - _smart_reconfigure(sd); -} - -int -_els_smart_box_pack_start(Evas_Object *obj, Evas_Object *child) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_prepend(sd->items, child); - _smart_reconfigure(sd); - return 0; -} - -int -_els_smart_box_pack_end(Evas_Object *obj, Evas_Object *child) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_append(sd->items, child); - _smart_reconfigure(sd); - return eina_list_count(sd->items) - 1; -} - -static int -_els_smart_box_find(const Smart_Data *sd, const Evas_Object *child) -{ - int i = 0; + Evas_Coord minw, minh, maxw, maxh, mnw, mnh; const Eina_List *l; - const Evas_Object *oitr; + Evas_Object_Box_Option *opt; - EINA_LIST_FOREACH(sd->items, l, oitr) + /* FIXME: need to calc max */ + minw = 0; + minh = 0; + maxw = -1; + maxh = -1; + if (homogeneous) { - if (oitr == child) return i; - i++; + EINA_LIST_FOREACH(priv->children, l, opt) + { + evas_object_size_hint_min_get(opt->obj, &mnw, &mnh); + if (minh < mnh) minh = mnh; + if (minw < mnw) minw = mnw; + } + if (horizontal) + minw *= eina_list_count(priv->children); + else + minh *= eina_list_count(priv->children); } - return -1; -} - -int -_els_smart_box_pack_before(Evas_Object *obj, Evas_Object *child, Evas_Object *before) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_prepend_relative(sd->items, child, before); - _smart_reconfigure(sd); - return _els_smart_box_find(sd, child); -} - -int -_els_smart_box_pack_after(Evas_Object *obj, Evas_Object *child, Evas_Object *after) -{ - Smart_Data *sd; - - if (!child) return 0; - sd = evas_object_smart_data_get(obj); - if (!sd) return 0; - _smart_adopt(sd, child); - sd->items = eina_list_append_relative(sd->items, child, after); - _smart_reconfigure(sd); - return _els_smart_box_find(sd, child); -} - -void -_els_smart_box_unpack(Evas_Object *obj, Evas_Object *child) -{ - Smart_Data *sd; - - if (!obj) return; - sd = evas_object_smart_data_get(obj); - if (!sd) return; - sd->items = eina_list_remove(sd->items, child); - elm_widget_sub_object_del(obj, child); - _smart_disown(child); - if (!sd->deleting) + else { - if (!evas_object_clipees_get(sd->clip)) - evas_object_hide(sd->clip); - _smart_reconfigure(sd); + EINA_LIST_FOREACH(priv->children, l, opt) + { + evas_object_size_hint_min_get(opt->obj, &mnw, &mnh); + if (horizontal) + { + if (minh < mnh) minh = mnh; + minw += mnw; + } + else + { + if (minw < mnw) minw = mnw; + minh += mnh; + } + } } + evas_object_size_hint_min_set(box, minw, minh); } void -_els_smart_box_unpack_all(Evas_Object *obj) +_els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, int homogeneous) { - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - while (sd->items) - { - Evas_Object *child = sd->items->data; - - _els_smart_box_unpack(obj, child); - } -} - -void -_els_smart_box_clear(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - while (sd->items) - { - Evas_Object *child = sd->items->data; - - evas_object_del(child); - } -} - -/* local subsystem functions */ -static void -_smart_adopt(Smart_Data *sd, Evas_Object *obj) -{ - evas_object_clip_set(obj, sd->clip); - evas_object_smart_member_add(obj, sd->obj); - evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, - _smart_item_del_hook, NULL); - evas_object_event_callback_add(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, - _smart_item_changed_size_hints_hook, NULL); - if ((!evas_object_visible_get(sd->clip)) && - (evas_object_visible_get(sd->obj))) - evas_object_show(sd->clip); -} - -static void -_smart_disown(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(evas_object_smart_parent_get(obj)); - if (!sd) return; - if (sd->items) - { - if (evas_object_visible_get(sd->clip)) - evas_object_hide(sd->clip); - } - evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL, - _smart_item_del_hook); - evas_object_event_callback_del(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, - _smart_item_changed_size_hints_hook); - evas_object_smart_member_del(obj); - evas_object_clip_unset(obj); -} - -static void -_smart_item_del_hook(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - _els_smart_box_unpack(evas_object_smart_parent_get(obj), obj); -} - -static void -_smart_item_changed_size_hints_hook(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(evas_object_smart_parent_get(obj)); - _smart_reconfigure(sd); -} - -static void -_smart_reconfigure(Smart_Data *sd) -{ Evas_Coord x, y, w, h, xx, yy; const Eina_List *l; Evas_Object *obj; Evas_Coord minw, minh, wdif, hdif; int count = 0, expand = 0; double ax, ay; + Evas_Object_Box_Option *opt; - _smart_extents_calculate(sd); + _smart_extents_calculate(o, priv, horizontal, homogeneous); - x = sd->x; - y = sd->y; - w = sd->w; - h = sd->h; + evas_object_geometry_get(o, &x, &y, &w, &h); - evas_object_size_hint_min_get(sd->obj, &minw, &minh); - evas_object_size_hint_align_get(sd->obj, &ax, &ay); - count = eina_list_count(sd->items); + evas_object_size_hint_min_get(o, &minw, &minh); + evas_object_size_hint_align_get(o, &ax, &ay); + count = eina_list_count(priv->children); if (w < minw) { x = x + ((w - minw) * (1.0 - ax)); @@ -278,12 +74,12 @@ y = y + ((h - minh) * (1.0 - ay)); h = minh; } - EINA_LIST_FOREACH(sd->items, l, obj) + EINA_LIST_FOREACH(priv->children, l, opt) { double wx, wy; - evas_object_size_hint_weight_get(obj, &wx, &wy); - if (sd->horizontal) + evas_object_size_hint_weight_get(opt->obj, &wx, &wy); + if (horizontal) { if (wx > 0.0) expand++; } @@ -294,8 +90,8 @@ } if (expand == 0) { - evas_object_size_hint_align_get(sd->obj, &ax, &ay); - if (sd->horizontal) + evas_object_size_hint_align_get(o, &ax, &ay); + if (horizontal) { x += (double)(w - minw) * ax; w = minw; @@ -310,12 +106,13 @@ hdif = h - minh; xx = x; yy = y; - EINA_LIST_FOREACH(sd->items, l, obj) + EINA_LIST_FOREACH(priv->children, l, opt) { Evas_Coord mnw, mnh, mxw, mxh; double wx, wy; int fw, fh, xw, xh; + obj = opt->obj; evas_object_size_hint_align_get(obj, &ax, &ay); evas_object_size_hint_weight_get(obj, &wx, &wy); evas_object_size_hint_min_get(obj, &mnw, &mnh); @@ -326,9 +123,9 @@ if (ay == -1.0) {fh = 1; ay = 0.5;} if (wx > 0.0) xw = 1; if (wy > 0.0) xh = 1; - if (sd->horizontal) + if (horizontal) { - if (sd->homogenous) + if (homogeneous) { Evas_Coord ww, hh, ow, oh; @@ -336,13 +133,13 @@ hh = h; ow = mnw; if (fw) ow = ww; - if ((mxw >= 0) && (mxw < ow)) + if ((mxw >= 0) && (mxw < ow)) ow = mxw; oh = mnh; if (fh) oh = hh; - if ((mxh >= 0) && (mxh < oh)) + if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, + evas_object_move(obj, xx + (Evas_Coord)(((double)(ww - ow)) * ax), yy + (Evas_Coord)(((double)(hh - oh)) * ay)); evas_object_resize(obj, ow, oh); @@ -367,7 +164,7 @@ oh = mnh; if (fh) oh = hh; if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, + evas_object_move(obj, xx + (Evas_Coord)(((double)(ww - ow)) * ax), yy + (Evas_Coord)(((double)(hh - oh)) * ay)); evas_object_resize(obj, ow, oh); @@ -376,7 +173,7 @@ } else { - if (sd->homogenous) + if (homogeneous) { Evas_Coord ww, hh, ow, oh; @@ -388,7 +185,7 @@ oh = mnh; if (fh) oh = hh; if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, + evas_object_move(obj, xx + (Evas_Coord)(((double)(ww - ow)) * ax), yy + (Evas_Coord)(((double)(hh - oh)) * ay)); evas_object_resize(obj, ow, oh); @@ -413,7 +210,7 @@ oh = mnh; if (fh) oh = hh; if ((mxh >= 0) && (mxh < oh)) oh = mxh; - evas_object_move(obj, + evas_object_move(obj, xx + (Evas_Coord)(((double)(ww - ow)) * ax), yy + (Evas_Coord)(((double)(hh - oh)) * ay)); evas_object_resize(obj, ow, oh); @@ -423,195 +220,3 @@ } } -static void -_smart_extents_calculate(Smart_Data *sd) -{ - Evas_Coord minw, minh, maxw, maxh, mnw, mnh; - const Eina_List *l; - const Evas_Object *obj; - - /* FIXME: need to calc max */ - minw = 0; - minh = 0; - maxw = -1; - maxh = -1; - if (sd->homogenous) - { - EINA_LIST_FOREACH(sd->items, l, obj) - { - evas_object_size_hint_min_get(obj, &mnw, &mnh); - if (minh < mnh) minh = mnh; - if (minw < mnw) minw = mnw; - } - if (sd->horizontal) - minw *= eina_list_count(sd->items); - else - minh *= eina_list_count(sd->items); - } - else - { - EINA_LIST_FOREACH(sd->items, l, obj) - { - evas_object_size_hint_min_get(obj, &mnw, &mnh); - if (sd->horizontal) - { - if (minh < mnh) minh = mnh; - minw += mnw; - } - else - { - if (minw < mnw) minw = mnw; - minh += mnh; - } - } - } - evas_object_size_hint_min_set(sd->obj, minw, minh); -} - -static void -_smart_init(void) -{ - if (_e_smart) return; - { - static const Evas_Smart_Class sc = - { - "els_box", - EVAS_SMART_CLASS_VERSION, - _smart_add, - _smart_del, - _smart_move, - _smart_resize, - _smart_show, - _smart_hide, - _smart_color_set, - _smart_clip_set, - _smart_clip_unset, - NULL, - NULL, - NULL, - NULL - }; - _e_smart = evas_smart_class_new(&sc); - } -} - -static void -_smart_add(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = calloc(1, sizeof(Smart_Data)); - if (!sd) return; - sd->obj = obj; - sd->clip = evas_object_rectangle_add(evas_object_evas_get(obj)); - evas_object_smart_member_add(sd->clip, obj); - evas_object_move(sd->clip, -100004, -100004); - evas_object_resize(sd->clip, 200008, 200008); - evas_object_color_set(sd->clip, 255, 255, 255, 255); - evas_object_smart_data_set(obj, sd); -} - -static void -_smart_del(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - sd->deleting = EINA_TRUE; - while (sd->items) - { - Evas_Object *child; - - child = sd->items->data; - _els_smart_box_unpack(obj, child); - } - evas_object_del(sd->clip); - free(sd); - evas_object_smart_data_set(obj, NULL); -} - -static void -_smart_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) -{ - Smart_Data *sd; - const Eina_List *l; - Evas_Object *child; - Evas_Coord dx, dy; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - dx = x - sd->x; - dy = y - sd->y; - sd->x = x; - sd->y = y; - EINA_LIST_FOREACH(sd->items, l, child) - { - Evas_Coord ox, oy; - - evas_object_geometry_get(child, &ox, &oy, NULL, NULL); - evas_object_move(child, ox + dx, oy + dy); - } -} - -static void -_smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - sd->w = w; - sd->h = h; - _smart_reconfigure(sd); -} - -static void -_smart_show(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - if (sd->items) evas_object_show(sd->clip); -} - -static void -_smart_hide(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_hide(sd->clip); -} - -static void -_smart_color_set(Evas_Object *obj, int r, int g, int b, int a) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_color_set(sd->clip, r, g, b, a); -} - -static void -_smart_clip_set(Evas_Object *obj, Evas_Object *clip) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_clip_set(sd->clip, clip); -} - -static void -_smart_clip_unset(Evas_Object *obj) -{ - Smart_Data *sd; - - sd = evas_object_smart_data_get(obj); - if (!sd) return; - evas_object_clip_unset(sd->clip); -} Modified: trunk/TMP/st/elementary/src/lib/els_box.h =================================================================== --- trunk/TMP/st/elementary/src/lib/els_box.h 2009-10-02 19:06:12 UTC (rev 42862) +++ trunk/TMP/st/elementary/src/lib/els_box.h 2009-10-02 19:22:40 UTC (rev 42863) @@ -1,11 +1 @@ -Evas_Object *_els_smart_box_add (Evas *evas); -void _els_smart_box_orientation_set (Evas_Object *obj, int horizontal); -int _els_smart_box_orientation_get (Evas_Object *obj); -void _els_smart_box_homogenous_set (Evas_Object *obj, int homogenous); -int _els_smart_box_pack_start (Evas_Object *obj, Evas_Object *child); -int _els_smart_box_pack_end (Evas_Object *obj, Evas_Object *child); -int _els_smart_box_pack_before (Evas_Object *obj, Evas_Object *child, Evas_Object *before); -int _els_smart_box_pack_after (Evas_Object *obj, Evas_Object *child, Evas_Object *after); -void _els_smart_box_unpack (Evas_Object *obj, Evas_Object *child); -void _els_smart_box_unpack_all (Evas_Object *obj); -void _els_smart_box_clear (Evas_Object *obj); +void _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, int horizontal, int homogeneous); |
From: Enlightenment S. <no-...@en...> - 2009-10-24 05:05:50
|
Log: Delete correct entry from overlay and extension list and recreate cache on flush Author: sachiel Date: 2009-10-23 22:05:38 -0700 (Fri, 23 Oct 2009) New Revision: 43238 Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 04:30:52 UTC (rev 43237) +++ trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 05:05:38 UTC (rev 43238) @@ -90,13 +90,18 @@ elm_theme_overlay_del(const char *item) { const Eina_List *l; - const char *f; + const char *f, *s; + s = eina_stringshare_add(item); EINA_LIST_FOREACH(overlay, l, f) { - eina_stringshare_del(f); - overlay = eina_list_remove_list(overlay, l); - return; + if (f == s) + { + eina_stringshare_del(f); + overlay = eina_list_remove_list(overlay, l); + } + break; } + eina_stringshare_del(s); elm_theme_flush(); } @@ -112,13 +117,18 @@ elm_theme_extension_del(const char *item) { const Eina_List *l; - const char *f; + const char *f, *s; + s = eina_stringshare_add(item); EINA_LIST_FOREACH(extension, l, f) { - eina_stringshare_del(f); - extension = eina_list_remove_list(extension, l); - return; + if (f == s) + { + eina_stringshare_del(f); + overlay = eina_list_remove_list(overlay, l); + } + break; } + eina_stringshare_del(s); elm_theme_flush(); } @@ -126,7 +136,7 @@ elm_theme_flush(void) { if (cache) eina_hash_free(cache); - cache = NULL; + cache = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del)); _elm_win_rescale(); } @@ -175,13 +185,6 @@ return (w > 0); } -static Eina_Bool -_cache_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata) -{ - eina_stringshare_del(data); - return EINA_TRUE; -} - int _elm_theme_parse(const char *theme) { @@ -223,12 +226,8 @@ names = eina_list_append(names, p); } if (cache) - { - eina_hash_foreach(cache, _cache_free_cb, NULL); - eina_hash_free(cache); - cache = NULL; - } - cache = eina_hash_string_superfast_new(NULL); + eina_hash_free(cache); + cache = eina_hash_string_superfast_new(EINA_FREE_CB(eina_stringshare_del)); EINA_LIST_FREE(themes, p) { |
From: Enlightenment S. <no-...@en...> - 2009-10-24 05:09:11
|
Log: copy/paste Author: sachiel Date: 2009-10-23 22:09:01 -0700 (Fri, 23 Oct 2009) New Revision: 43239 Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 05:05:38 UTC (rev 43238) +++ trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 05:09:01 UTC (rev 43239) @@ -124,7 +124,7 @@ if (f == s) { eina_stringshare_del(f); - overlay = eina_list_remove_list(overlay, l); + extension = eina_list_remove_list(extension, l); } break; } |
From: Enlightenment S. <no-...@en...> - 2009-10-24 05:12:31
|
Log: ok, I should get some sleep Author: sachiel Date: 2009-10-23 22:12:17 -0700 (Fri, 23 Oct 2009) New Revision: 43240 Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 05:09:01 UTC (rev 43239) +++ trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-10-24 05:12:17 UTC (rev 43240) @@ -93,14 +93,12 @@ const char *f, *s; s = eina_stringshare_add(item); EINA_LIST_FOREACH(overlay, l, f) - { - if (f == s) - { - eina_stringshare_del(f); - overlay = eina_list_remove_list(overlay, l); - } - break; - } + if (f == s) + { + eina_stringshare_del(f); + overlay = eina_list_remove_list(overlay, l); + break; + } eina_stringshare_del(s); elm_theme_flush(); } @@ -120,14 +118,12 @@ const char *f, *s; s = eina_stringshare_add(item); EINA_LIST_FOREACH(extension, l, f) - { - if (f == s) - { - eina_stringshare_del(f); - extension = eina_list_remove_list(extension, l); - } - break; - } + if (f == s) + { + eina_stringshare_del(f); + extension = eina_list_remove_list(extension, l); + break; + } eina_stringshare_del(s); elm_theme_flush(); } |
From: Enlightenment S. <no-...@en...> - 2009-10-29 23:37:10
|
Log: Looks like the size hint changes are not taking effect in edje, all reswallows are slowly coming back. Author: sachiel Date: 2009-10-29 16:36:49 -0700 (Thu, 29 Oct 2009) New Revision: 43341 Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c Modified: trunk/TMP/st/elementary/src/lib/elm_layout.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-10-29 17:58:16 UTC (rev 43340) +++ trunk/TMP/st/elementary/src/lib/elm_layout.c 2009-10-29 23:36:49 UTC (rev 43341) @@ -70,7 +70,20 @@ _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info) { Widget_Data *wd = elm_widget_data_get(data); - _sizing_eval(data); + const Eina_List *l; + const Subinfo *si; + + // FIXME: for some reason size hint changes are not picked up by edje! + EINA_LIST_FOREACH(wd->subs, l, si) + { + if (si->obj == obj) + { + edje_object_part_swallow(wd->lay, si->swallow, obj); + _sizing_eval(data); + break; + } + } + //_sizing_eval(data); } static void |
From: Enlightenment S. <no-...@en...> - 2009-12-18 20:21:51
|
Log: Allow unbinding radio groups by passing NULL Author: sachiel Date: 2009-12-18 12:21:39 -0800 (Fri, 18 Dec 2009) New Revision: 44554 Modified: trunk/TMP/st/elementary/src/lib/elm_radio.c Modified: trunk/TMP/st/elementary/src/lib/elm_radio.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_radio.c 2009-12-18 20:16:37 UTC (rev 44553) +++ trunk/TMP/st/elementary/src/lib/elm_radio.c 2009-12-18 20:21:39 UTC (rev 44554) @@ -345,11 +345,22 @@ Widget_Data *wd = elm_widget_data_get(obj); Widget_Data *wd2 = elm_widget_data_get(group); Eina_Bool state = EINA_FALSE; - if (wd->group == wd2->group) return; - wd->group->radios = eina_list_remove(wd->group->radios, obj); - if (!wd->group->radios) free(wd->group); - wd->group = wd2->group; - wd->group->radios = eina_list_append(wd->group->radios, obj); + if (!wd2) + { + if (eina_list_count(wd->group->radios) == 1) + return; + wd->group->radios = eina_list_remove(wd->group->radios, obj); + wd->group = calloc(1, sizeof(Group)); + wd->group->radios = eina_list_append(wd->group->radios, obj); + } + else if (wd->group == wd2->group) return; + else + { + wd->group->radios = eina_list_remove(wd->group->radios, obj); + if (!wd->group->radios) free(wd->group); + wd->group = wd2->group; + wd->group->radios = eina_list_append(wd->group->radios, obj); + } if (wd->value == wd->group->value) _state_set(obj, 1); else _state_set(obj, 0); } |
From: Enlightenment S. <no-...@en...> - 2010-01-14 20:06:48
|
Log: Set theme hook for hoversel so style changes are applied. Author: sachiel Date: 2010-01-14 12:06:41 -0800 (Thu, 14 Jan 2010) New Revision: 45121 Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2010-01-14 20:00:01 UTC (rev 45120) +++ trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2010-01-14 20:06:41 UTC (rev 45121) @@ -229,6 +229,7 @@ elm_widget_data_set(obj, wd); elm_widget_del_pre_hook_set(obj, _del_pre_hook); elm_widget_del_hook_set(obj, _del_hook); + elm_widget_theme_hook_set(obj, _theme_hook); elm_widget_disable_hook_set(obj, _disable_hook); wd->btn = elm_button_add(parent); |
From: Enlightenment S. <no-...@en...> - 2010-02-02 22:11:03
|
Log: Trigger "changed" callback when value is changed with the entry, fix typo and focus entry when it's shown. Author: sachiel Date: 2010-02-02 14:10:56 -0800 (Tue, 02 Feb 2010) New Revision: 45823 Modified: trunk/TMP/st/elementary/src/lib/elm_spinner.c Modified: trunk/TMP/st/elementary/src/lib/elm_spinner.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_spinner.c 2010-02-02 21:30:31 UTC (rev 45822) +++ trunk/TMP/st/elementary/src/lib/elm_spinner.c 2010-02-02 22:10:56 UTC (rev 45823) @@ -167,7 +167,7 @@ new_val = wd->val_max; } - if (new_val == wd->val) 0; + if (new_val == wd->val) return 0; wd->val = new_val; evas_object_smart_callback_call(obj, "changed", NULL); @@ -307,6 +307,7 @@ edje_object_signal_emit(wd->spinner, "elm,state,active", "elm"); _entry_show(wd); elm_entry_select_all(wd->ent); + elm_widget_focus_set(wd->ent, 1); wd->entry_visible = 1; } } @@ -424,7 +425,15 @@ static void _entry_activated(void *data, Evas_Object *obj, void *event_info) { + Widget_Data *wd = elm_widget_data_get(data); + + if (!wd) return; + _apply_entry_value(data); + + evas_object_smart_callback_call(data, "changed", NULL); + if (wd->delay) ecore_timer_del(wd->delay); + wd->delay = ecore_timer_add(0.2, _delay_change, data); } static void |
From: Enlightenment S. <no-...@en...> - 2010-03-26 03:17:12
|
Log: NULL pointer after deleting timer to avoid bitching later Patch by Brian Wang Author: sachiel Date: 2010-03-25 20:17:05 -0700 (Thu, 25 Mar 2010) New Revision: 47462 Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-26 00:58:14 UTC (rev 47461) +++ trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-26 03:17:05 UTC (rev 47462) @@ -938,7 +938,11 @@ Evas_Object *icon; if (!it->realized) return; - if (it->long_timer) ecore_timer_del(it->long_timer); + if (it->long_timer) + { + ecore_timer_del(it->long_timer); + it->long_timer = NULL; + } evas_object_del(it->base); it->base = NULL; evas_object_del(it->spacer); |
From: Enlightenment S. <no-...@en...> - 2010-03-26 06:46:38
|
Log: Adding focus and unfocused smart callbacks for entry Author: sachiel Date: 2010-03-25 23:46:31 -0700 (Thu, 25 Mar 2010) New Revision: 47481 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in trunk/TMP/st/elementary/src/lib/elc_scrolled_entry.c trunk/TMP/st/elementary/src/lib/elm_entry.c Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-03-26 06:16:19 UTC (rev 47480) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-03-26 06:46:31 UTC (rev 47481) @@ -614,7 +614,7 @@ * "selection,start" - the user started selecting text * "selection,changed" - the user modified the selection size/location * "selection,cleared" - the user cleared the selection - * "selection,paste" - the user rrequested a paste of text + * "selection,paste" - the user requested a paste of text * "selection,copy" - the user copied the text * "selection,cut" - the user cut the text * "cursor,changed" - the cursor changed position @@ -624,6 +624,8 @@ * "clicked" - when finger/mouse is pressed and released (without a drag etc.) * "clicked,double" - when finger/mouse is double-pressed * "longpressed" - the entry has been longpressed + * "focused" - the entry has received keyboard focus + * "unfocused" - keyboard focus is gone */ /* composite widgets - these basically put together basic widgets above Modified: trunk/TMP/st/elementary/src/lib/elc_scrolled_entry.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_scrolled_entry.c 2010-03-26 06:16:19 UTC (rev 47480) +++ trunk/TMP/st/elementary/src/lib/elc_scrolled_entry.c 2010-03-26 06:46:31 UTC (rev 47481) @@ -145,6 +145,18 @@ evas_object_smart_callback_call(data, "longpressed", NULL); } +static void +_entry_focused(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + evas_object_smart_callback_call(data, "focused", NULL); +} + +static void +_entry_unfocused(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + evas_object_smart_callback_call(data, "unfocused", NULL); +} + EAPI Evas_Object * elm_scrolled_entry_add(Evas_Object *parent) { @@ -189,6 +201,8 @@ evas_object_smart_callback_add(wd->entry, "selection,copy", _entry_selection_copy, obj); evas_object_smart_callback_add(wd->entry, "selection,cut", _entry_selection_cut, obj); evas_object_smart_callback_add(wd->entry, "longpressed", _entry_longpressed, obj); + evas_object_smart_callback_add(wd->entry, "focused", _entry_focused, obj); + evas_object_smart_callback_add(wd->entry, "unfocused", _entry_unfocused, obj); _sizing_eval(obj); Modified: trunk/TMP/st/elementary/src/lib/elm_entry.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_entry.c 2010-03-26 06:16:19 UTC (rev 47480) +++ trunk/TMP/st/elementary/src/lib/elm_entry.c 2010-03-26 06:46:31 UTC (rev 47481) @@ -211,12 +211,14 @@ evas_object_focus_set(wd->ent, 1); edje_object_signal_emit(wd->ent, "elm,action,focus", "elm"); if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON); + evas_object_smart_callback_call(obj, "focused", NULL); } else { edje_object_signal_emit(wd->ent, "elm,action,unfocus", "elm"); evas_object_focus_set(wd->ent, 0); if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF); + evas_object_smart_callback_call(obj, "unfocused", NULL); } } |
From: Enlightenment S. <no-...@en...> - 2010-03-30 05:04:05
|
Log: Delete long press timer on item deletion Author: sachiel Date: 2010-03-29 22:03:57 -0700 (Mon, 29 Mar 2010) New Revision: 47576 Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-30 03:10:03 UTC (rev 47575) +++ trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-30 05:03:57 UTC (rev 47576) @@ -500,6 +500,7 @@ if (it->selected) it->wd->selected = eina_list_remove(it->wd->selected, it); if (it->realized) _item_unrealize(it); if (it->block) _item_block_del(it); + if (it->long_timer) ecore_timer_del(it->long_timer); if ((!it->delete_me) && (it->itc->func.del)) it->itc->func.del(it->data, it->wd->obj); it->delete_me = EINA_TRUE; |
From: Enlightenment S. <no-...@en...> - 2010-03-30 05:26:20
|
Log: Also kill timer on genlist_clear Author: sachiel Date: 2010-03-29 22:26:14 -0700 (Mon, 29 Mar 2010) New Revision: 47580 Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c Modified: trunk/TMP/st/elementary/src/lib/elm_genlist.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-30 05:22:34 UTC (rev 47579) +++ trunk/TMP/st/elementary/src/lib/elm_genlist.c 2010-03-30 05:26:14 UTC (rev 47580) @@ -1948,6 +1948,7 @@ wd->items = eina_inlist_remove(wd->items, wd->items); if (it->realized) _item_unrealize(it); if (it->itc->func.del) it->itc->func.del(it->data, it->wd->obj); + if (it->long_timer) ecore_timer_del(it->long_timer); free(it); } while (wd->blocks) |
From: Enlightenment S. <no-...@en...> - 2010-04-08 15:15:31
|
Log: Fix issues with button autorepeat Patch by Brian Wang Author: sachiel Date: 2010-04-08 08:15:22 -0700 (Thu, 08 Apr 2010) New Revision: 47836 Modified: trunk/TMP/st/elementary/src/lib/elm_button.c Modified: trunk/TMP/st/elementary/src/lib/elm_button.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_button.c 2010-04-08 15:09:25 UTC (rev 47835) +++ trunk/TMP/st/elementary/src/lib/elm_button.c 2010-04-08 15:15:22 UTC (rev 47836) @@ -146,6 +146,12 @@ { Widget_Data *wd = elm_widget_data_get(data); if (!wd) return; + if (wd->timer) + { + ecore_timer_del(wd->timer); + wd->timer = NULL; + } + wd->repeating = EINA_FALSE; evas_object_smart_callback_call(data, SIG_CLICKED, NULL); _signal_unpressed(data, obj, emission, source); /* safe guard when the theme does not emit the 'unpress' signal */ } @@ -157,6 +163,11 @@ if (!wd) return ECORE_CALLBACK_CANCEL; evas_object_smart_callback_call(data, SIG_REPEATED, NULL); + if (!wd->repeating) + { + wd->timer = NULL; + return ECORE_CALLBACK_CANCEL; + } return ECORE_CALLBACK_RENEW; } @@ -167,9 +178,10 @@ Widget_Data *wd = elm_widget_data_get(data); if (!wd) return ECORE_CALLBACK_CANCEL; + if (wd->timer) ecore_timer_del(wd->timer); + wd->repeating = EINA_TRUE; _autorepeat_send(data); wd->timer = ecore_timer_add(wd->ar_interval, _autorepeat_send, data); - wd->repeating = 1; return ECORE_CALLBACK_CANCEL; } @@ -180,7 +192,7 @@ Widget_Data *wd = elm_widget_data_get(data); if (!wd) return; - if (wd->autorepeat) + if (wd->autorepeat && !wd->repeating) { if (wd->ar_threshold <= 0.0) _autorepeat_initial_send(data); /* call immediately */ @@ -194,14 +206,14 @@ { Widget_Data *wd = elm_widget_data_get(data); if (!wd) return; - evas_object_smart_callback_call(data, SIG_UNPRESSED, NULL); if (wd->timer) { ecore_timer_del(wd->timer); wd->timer = NULL; } - wd->repeating = 0; + wd->repeating = EINA_FALSE; + evas_object_smart_callback_call(data, SIG_UNPRESSED, NULL); } /** @@ -352,6 +364,7 @@ wd->timer = NULL; } wd->autorepeat = on; + wd->repeating = EINA_FALSE; } /** @@ -392,13 +405,8 @@ Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; if (wd->ar_interval == t) return; - if (wd->timer) - { - ecore_timer_del(wd->timer); - wd->timer = NULL; - } + wd->ar_interval = t; - if (wd->repeating) - wd->timer = ecore_timer_add(t, _autorepeat_send, obj); + if (wd->repeating && wd->timer) ecore_timer_interval_set(wd->timer, t); } |
From: Enlightenment S. <no-...@en...> - 2010-04-20 20:03:12
|
Log: Set evas focus for some objects when focused. More will come later. Author: sachiel Date: 2010-04-20 13:03:05 -0700 (Tue, 20 Apr 2010) New Revision: 48179 Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector_button.c trunk/TMP/st/elementary/src/lib/elm_button.c trunk/TMP/st/elementary/src/lib/elm_list.c Modified: trunk/TMP/st/elementary/src/lib/elc_fileselector_button.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_fileselector_button.c 2010-04-20 19:58:00 UTC (rev 48178) +++ trunk/TMP/st/elementary/src/lib/elc_fileselector_button.c 2010-04-20 20:03:05 UTC (rev 48179) @@ -78,9 +78,15 @@ Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; if (elm_widget_focus_get(obj)) - edje_object_signal_emit(wd->btn, "elm,action,focus", "elm"); + { + edje_object_signal_emit(wd->btn, "elm,action,focus", "elm"); + evas_object_focus_set(wd->btn, 1); + } else - edje_object_signal_emit(wd->btn, "elm,action,unfocus", "elm"); + { + edje_object_signal_emit(wd->btn, "elm,action,unfocus", "elm"); + evas_object_focus_set(wd->btn, 0); + } } static void Modified: trunk/TMP/st/elementary/src/lib/elm_button.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_button.c 2010-04-20 19:58:00 UTC (rev 48178) +++ trunk/TMP/st/elementary/src/lib/elm_button.c 2010-04-20 20:03:05 UTC (rev 48179) @@ -63,9 +63,15 @@ Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; if (elm_widget_focus_get(obj)) - edje_object_signal_emit(wd->btn, "elm,action,focus", "elm"); + { + edje_object_signal_emit(wd->btn, "elm,action,focus", "elm"); + evas_object_focus_set(wd->btn, 1); + } else - edje_object_signal_emit(wd->btn, "elm,action,unfocus", "elm"); + { + edje_object_signal_emit(wd->btn, "elm,action,unfocus", "elm"); + evas_object_focus_set(wd->btn, 0); + } } static void Modified: trunk/TMP/st/elementary/src/lib/elm_list.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_list.c 2010-04-20 19:58:00 UTC (rev 48178) +++ trunk/TMP/st/elementary/src/lib/elm_list.c 2010-04-20 20:03:05 UTC (rev 48179) @@ -224,8 +224,10 @@ { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; -// if (elm_widget_focus_get(obj)) -// elm_widget_focus_steal(wd->entry); + if (elm_widget_focus_get(obj)) + evas_object_focus_set(wd->scr, 1); + else + evas_object_focus_set(wd->scr, 0); } static void |
From: Enlightenment S. <no-...@en...> - 2010-04-26 16:51:10
|
Log: Let the grid be shrunk when resizing. By Rafael Fonseca. Author: sachiel Date: 2010-04-26 09:51:03 -0700 (Mon, 26 Apr 2010) New Revision: 48333 Modified: trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c Modified: trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c 2010-04-26 16:31:33 UTC (rev 48332) +++ trunk/TMP/st/elementary/src/lib/elm_scrolled_grid.c 2010-04-26 16:51:03 UTC (rev 48333) @@ -227,10 +227,7 @@ Widget_Data *wd = elm_widget_data_get(obj); Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1; if (!wd) return; - evas_object_size_hint_min_get(wd->scr, &minw, &minh); evas_object_size_hint_max_get(wd->scr, &maxw, &maxh); - if (wd->horizontal) minw = -1; - else minh = -1; evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); } @@ -1001,10 +998,6 @@ _pan_set, _pan_get, _pan_max_get, _pan_child_size_get); - edje_object_size_min_calc(elm_smart_scroller_edje_object_get(wd->scr), - &minw, &minh); - evas_object_size_hint_min_set(obj, minw, minh); - _sizing_eval(obj); return obj; |
From: Enlightenment S. <no-...@en...> - 2010-04-28 23:14:11
|
Log: more friendliness with the lispers, and also shuts up valgrind a bit about leaks Author: sachiel Date: 2010-04-28 16:14:04 -0700 (Wed, 28 Apr 2010) New Revision: 48410 Modified: trunk/TMP/st/elementary/src/lib/elm_main.c trunk/TMP/st/elementary/src/lib/elm_priv.h trunk/TMP/st/elementary/src/lib/elm_theme.c Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2010-04-28 23:10:31 UTC (rev 48409) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2010-04-28 23:14:04 UTC (rev 48410) @@ -957,6 +957,8 @@ eina_stringshare_del(_elm_data_dir); _elm_data_dir = NULL; + eina_stringshare_del(_elm_lib_dir); + _elm_lib_dir = NULL; EINA_LIST_FREE(_elm_config->font_dirs, fontdir) { @@ -967,11 +969,14 @@ if (_elm_config->modules) eina_stringshare_del(_elm_config->modules); free(_elm_config); + _elm_config = NULL; free(_elm_appname); + _elm_appname = NULL; ecore_event_handler_del(_elm_exit_handler); _elm_exit_handler = NULL; + _elm_theme_shutdown(); _elm_unneed_efreet(); _elm_unneed_e_dbus(); _elm_unneed_ethumb(); Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-04-28 23:10:31 UTC (rev 48409) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2010-04-28 23:14:04 UTC (rev 48410) @@ -91,6 +91,7 @@ int _elm_theme_set(Evas_Object *o, const char *clas, const char *group, const char *style); int _elm_theme_icon_set(Evas_Object *o, const char *group, const char *style); int _elm_theme_parse(const char *theme); +void _elm_theme_shutdown(void); void _elm_module_init(void); void _elm_module_shutdown(void); Modified: trunk/TMP/st/elementary/src/lib/elm_theme.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_theme.c 2010-04-28 23:10:31 UTC (rev 48409) +++ trunk/TMP/st/elementary/src/lib/elm_theme.c 2010-04-28 23:14:04 UTC (rev 48410) @@ -293,3 +293,20 @@ themes = names; return 1; } + +void +_elm_theme_shutdown(void) +{ + const char *p; + EINA_LIST_FREE(themes, p) + eina_stringshare_del(p); + EINA_LIST_FREE(overlay, p) + eina_stringshare_del(p); + EINA_LIST_FREE(extension, p) + eina_stringshare_del(p); + if (cache) + { + eina_hash_free(cache); + cache = NULL; + } +} |
From: Enlightenment S. <no-...@en...> - 2010-05-03 18:29:09
|
Log: Signal de edje on focus changes. Can be used to show/hide the spinner buttons based on it. Author: sachiel Date: 2010-05-03 11:29:02 -0700 (Mon, 03 May 2010) New Revision: 48585 Modified: trunk/TMP/st/elementary/src/lib/elm_spinner.c Modified: trunk/TMP/st/elementary/src/lib/elm_spinner.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_spinner.c 2010-05-03 17:29:01 UTC (rev 48584) +++ trunk/TMP/st/elementary/src/lib/elm_spinner.c 2010-05-03 18:29:02 UTC (rev 48585) @@ -90,9 +90,24 @@ _write_label(obj); edje_object_message_signal_process(wd->spinner); edje_object_scale_set(wd->spinner, elm_widget_scale_get(obj) * _elm_config->scale); + if (elm_widget_focus_get(obj)) + edje_object_signal_emit(wd->spinner, "elm,action,focus", "elm"); + else + edje_object_signal_emit(wd->spinner, "elm,action,unfocus", "elm"); _sizing_eval(obj); } +static void +_on_focus_hook(void *data __UNUSED__, Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + if (elm_widget_focus_get(obj)) + edje_object_signal_emit(wd->spinner, "elm,action,focus", "elm"); + else + edje_object_signal_emit(wd->spinner, "elm,action,unfocus", "elm"); +} + static int _delay_change(void *data) { @@ -489,6 +504,7 @@ elm_widget_sub_object_add(parent, obj); elm_widget_data_set(obj, wd); elm_widget_del_hook_set(obj, _del_hook); + elm_widget_on_focus_hook_set(obj, _on_focus_hook, NULL); elm_widget_theme_hook_set(obj, _theme_hook); elm_widget_disable_hook_set(obj, _disable_hook); |
From: Enlightenment S. <no-...@en...> - 2010-05-12 21:59:16
|
Log: Signal edje when clock gets focused. By Rafael Fonseca Author: sachiel Date: 2010-05-12 14:59:08 -0700 (Wed, 12 May 2010) New Revision: 48789 Modified: trunk/TMP/st/elementary/src/lib/elm_clock.c Modified: trunk/TMP/st/elementary/src/lib/elm_clock.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_clock.c 2010-05-12 20:55:36 UTC (rev 48788) +++ trunk/TMP/st/elementary/src/lib/elm_clock.c 2010-05-12 21:59:08 UTC (rev 48789) @@ -61,10 +61,25 @@ { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; + if (elm_widget_focus_get(obj)) + edje_object_signal_emit(wd->clk, "elm,action,focus", "elm"); + else + edje_object_signal_emit(wd->clk, "elm,action,unfocus", "elm"); wd->cur.am_pm = !wd->cur.am_pm; /* hack - force update */ _time_update(obj); } +static void +_on_focus_hook(void *data __UNUSED__, Evas_Object *obj) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + if (elm_widget_focus_get(obj)) + edje_object_signal_emit(wd->clk, "elm,action,focus", "elm"); + else + edje_object_signal_emit(wd->clk, "elm,action,unfocus", "elm"); +} + static int _ticker(void *data) { @@ -399,6 +414,7 @@ elm_widget_data_set(obj, wd); elm_widget_del_hook_set(obj, _del_hook); elm_widget_theme_hook_set(obj, _theme_hook); + elm_widget_on_focus_hook_set(obj, _on_focus_hook, NULL); wd->clk = edje_object_add(e); elm_widget_resize_object_set(obj, wd->clk); |