From: Enlightenment S. <no-...@en...> - 2008-12-05 07:43:12
|
Log: todo++ - need test. Author: raster Date: 2008-12-04 23:43:10 -0800 (Thu, 04 Dec 2008) New Revision: 37935 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h Modified: trunk/TMP/st/elementary/src/lib/Elementary.h =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-05 07:42:54 UTC (rev 37934) +++ trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-05 07:43:10 UTC (rev 37935) @@ -335,6 +335,7 @@ // * entry selection conflicts with finger scroll (make selection start/stop work on signals?) // * need a hold-scroll counter in elm_widget // * add fullscreen mode on/off for windows +// * add test for photo widget // //// (more widgets/features - medium priority) // * need multi-sel (with button + hover + ...) |
From: Enlightenment S. <no-...@en...> - 2008-12-05 21:10:55
|
Log: oops add. missed. Author: raster Date: 2008-12-05 13:10:50 -0800 (Fri, 05 Dec 2008) New Revision: 37943 Added: trunk/TMP/st/elementary/src/lib/elm_photo.c Added: trunk/TMP/st/elementary/src/lib/elm_photo.c |
From: Enlightenment S. <no-...@en...> - 2008-12-09 05:40:45
|
Log: move config to private stuff... Author: raster Date: 2008-12-08 21:40:38 -0800 (Mon, 08 Dec 2008) New Revision: 38042 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h trunk/TMP/st/elementary/src/lib/elm_priv.h Modified: trunk/TMP/st/elementary/src/lib/Elementary.h =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-09 05:18:54 UTC (rev 38041) +++ trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-09 05:40:38 UTC (rev 38042) @@ -16,8 +16,6 @@ * */ -#include "elementary_config.h" - /* Standard headers for standard system calls etc. */ #include <stdio.h> #include <stdlib.h> @@ -41,9 +39,6 @@ #include <libintl.h> #include <errno.h> #include <signal.h> -#ifdef HAVE_ALLOCA_H -#include <alloca.h> -#endif /* EFL headers */ #include <Eina.h> Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2008-12-09 05:18:54 UTC (rev 38041) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2008-12-09 05:40:38 UTC (rev 38042) @@ -1,6 +1,12 @@ #ifndef ELM_PRIV_H #define ELM_PRIV_H +#include "elementary_config.h" + +#ifdef HAVE_ALLOCA_H +#include <alloca.h> +#endif + #include "els_pan.h" #include "els_scroller.h" #include "els_box.h" |
From: Enlightenment S. <no-...@en...> - 2008-12-09 06:07:17
|
Log: fix hover best content location call Author: raster Date: 2008-12-08 22:07:11 -0800 (Mon, 08 Dec 2008) New Revision: 38043 Modified: trunk/TMP/st/elementary/src/lib/elm_hover.c Modified: trunk/TMP/st/elementary/src/lib/elm_hover.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_hover.c 2008-12-09 05:40:38 UTC (rev 38042) +++ trunk/TMP/st/elementary/src/lib/elm_hover.c 2008-12-09 06:07:11 UTC (rev 38043) @@ -397,13 +397,13 @@ Evas_Coord spc_l, spc_r, spc_t, spc_b; if (wd->parent) evas_object_geometry_get(wd->parent, &x, &y, &w, &h); - if (wd->hov) evas_object_geometry_get(wd->hov, &x2, &y2, &w2, &h2); + if (wd->target) evas_object_geometry_get(wd->target, &x2, &y2, &w2, &h2); spc_l = x2 - x; spc_r = (x + w) - (x2 + w2); if (spc_l < 0) spc_l = 0; if (spc_r < 0) spc_r = 0; spc_t = y2 - y; - spc_b = (y + h) - (y2 + y2); + spc_b = (y + h) - (y2 + h2); if (spc_t < 0) spc_t = 0; if (spc_b < 0) spc_b = 0; if (pref_axis == ELM_HOVER_AXIS_HORIZONTAL) |
From: Enlightenment S. <no-...@en...> - 2008-12-18 02:01:39
|
Log: implement icon in hoversel - clean up todo's a bit. Author: raster Date: 2008-12-17 18:01:36 -0800 (Wed, 17 Dec 2008) New Revision: 38202 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h trunk/TMP/st/elementary/src/lib/elc_hoversel.c Modified: trunk/TMP/st/elementary/src/lib/Elementary.h =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-18 01:52:32 UTC (rev 38201) +++ trunk/TMP/st/elementary/src/lib/Elementary.h 2008-12-18 02:01:36 UTC (rev 38202) @@ -334,46 +334,45 @@ //// (bugs - high priority) // * scale change for hover doesnt seem to do new size alloc nicely // * left/right arrow broken with password mode for entry + utf8 chars... -// * edje entry selections broke // * entry signal "changed" not called when deleting // * bubble doesnt handle child size changes right // //// (incomplete - medium priority) -// * buttons need a "bigbutton" option +// * entry selection conflicts with finger scroll (make selection start/stop work on signals?) +// * add test for photo widget +// * add test for hoversel // * disabled not supported // * tab widget focusing (not useful for touchscreen tho...) // * on the fly theme changes - test (should work) -// * entry selection conflicts with finger scroll (make selection start/stop work on signals?) // * need a hold-scroll counter in elm_widget // * add fullscreen mode on/off for windows -// * add test for photo widget // //// (more widgets/features - medium priority) -// * need multi-sel (with button + hover + ...) -// * toolbar widget (edje + box + button + separators) -// * in-window dialog container widget -// * listitem widget (simple label + icon) -// * page widget (for pushing/popping pages and going back and forward and flipping) +// * biglist widget (restricted format label + icon intended for massive lists) +// * listitem widget (can contain anything) +// * treeview widget (like biglist - but items can expand to sub-items) // * radio widget + group handling // * checkbox widget (like toggle) -// * need separator widget (h/v) -// * need slide-open "panel" that can hold stuff and optionally scroll -// * need calendar widget (select date) -// * need slider widget -// * need range selector (select range of values from X to Y over an interval) -// * need "dialogbutton" widget (bigger button for bottom of wins) -// * need dialog window widget -// * need a phone-number widget (hilight country dial prefixes, add flags, -// photos of contacts that match etc.) -// * need imageview widget (for large not iconic images) +// * page widget (for pushing/popping pages and going back and forward and flipping) +// * slider widget +// +// * toolbar widget (edje + box + button + separators) +// * in-window dialog container widget +// * separator widget (h/v) +// * slide-open "panel" that can hold stuff and optionally scroll +// * calendar widget (select date) +// * range selector (select range of values from X to Y over an interval) +// * "dialogbutton" widget (bigger button for bottom of wins) +// * dialog window widget +// * phone-number widget (hilight country dial prefixes, add flags, photos of contacts that match etc.) +// * imageview widget (for large not iconic images) // * tiled image + zoom widget (tiled map viewer) // * dialpad widget - need one with a phone dialpad // //// (improvements - low priority) // * return list of toplevel window objects // * widgets should show who is focused (not useful for touchscreen) -// * scroller could do with page up/down/left/right buttons and and idea of -// a page size +// * scroller could do with page up/down/left/right buttons and and idea of a page size // * current sizing tree inefficient // * need a way to filter entry data for entry (eg for phone numbers) // * win should emit signals based on vkbd type - if it gets a message and is a vkbd win Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2008-12-18 01:52:32 UTC (rev 38201) +++ trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2008-12-18 02:01:36 UTC (rev 38202) @@ -96,8 +96,17 @@ bt = elm_button_add(wd->hover); elm_button_style_set(bt, "hoversel_vertical_entry"); elm_button_label_set(bt, it->label); -// FIXME: add icon -// elm_button_icon_set(bt, it->icon_file); + if (it->icon_file) + { + ic = elm_icon_add(data); + elm_icon_scale_set(ic, 0, 1); + if (it->icon_type == ELM_ICON_FILE) + elm_icon_file_set(ic, it->icon_file, NULL); + else if (it->icon_type == ELM_ICON_STANDARD) + elm_icon_standard_set(ic, it->icon_file); + elm_button_icon_set(bt, ic); + evas_object_show(ic); + } evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); @@ -199,9 +208,9 @@ { Item *it = (Item *)item; Widget_Data *wd = elm_widget_data_get(it->obj); + elm_hoversel_hover_end(it->obj); wd->items = eina_list_remove(wd->items, it); eina_stringshare_del(it->label); eina_stringshare_del(it->icon_file); free(it); - // FIXME: if hover up - this will be bad and break } |
From: Enlightenment S. <no-...@en...> - 2008-12-19 00:43:55
|
Log: dont need string.h Author: raster Date: 2008-12-18 16:43:53 -0800 (Thu, 18 Dec 2008) New Revision: 38215 Modified: trunk/TMP/st/elementary/src/lib/els_pan.c Modified: trunk/TMP/st/elementary/src/lib/els_pan.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_pan.c 2008-12-19 00:34:56 UTC (rev 38214) +++ trunk/TMP/st/elementary/src/lib/els_pan.c 2008-12-19 00:43:53 UTC (rev 38215) @@ -1,5 +1,3 @@ -#include <string.h> - #include <Elementary.h> #include "elm_priv.h" |
From: Enlightenment S. <no-...@en...> - 2008-12-19 01:23:44
|
Log: remove alloca.h from priv.h and include wince headers.. if appropriate Author: raster Date: 2008-12-18 17:23:34 -0800 (Thu, 18 Dec 2008) New Revision: 38218 Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2008-12-19 01:22:11 UTC (rev 38217) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2008-12-19 01:23:34 UTC (rev 38218) @@ -1,22 +1,17 @@ #ifndef ELM_PRIV_H #define ELM_PRIV_H - #ifdef HAVE_CONFIG_H # include "elementary_config.h" #endif - #ifdef HAVE_ELEMENTARY_X -#include <Ecore_X.h> +# include <Ecore_X.h> #endif #ifdef HAVE_ELEMENTARY_FB -#include <Ecore_Fb.h> +# include <Ecore_Fb.h> #endif #ifdef HAVE_ELEMENTARY_WINCE -/* #include <Ecore_WinCE.h> */ +# include <Ecore_WinCE.h> #endif -#ifdef HAVE_ALLOCA_H -#include <alloca.h> -#endif #include "els_pan.h" #include "els_scroller.h" |
From: Enlightenment S. <no-...@en...> - 2008-12-19 06:14:21
|
Log: todo-- :) Author: raster Date: 2008-12-18 22:14:18 -0800 (Thu, 18 Dec 2008) New Revision: 38223 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-19 04:26:24 UTC (rev 38222) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-19 06:14:18 UTC (rev 38223) @@ -425,7 +425,6 @@ // * page widget (for pushing/popping pages and going back and forward and flipping) // * slider widget // -// * toolbar widget (edje + box + button + separators) // * in-window dialog container widget // * separator widget (h/v) // * slide-open "panel" that can hold stuff and optionally scroll |
From: Enlightenment S. <no-...@en...> - 2008-12-19 14:33:03
|
Log: use the associate ecore_evas stuff. Author: raster Date: 2008-12-19 06:32:59 -0800 (Fri, 19 Dec 2008) New Revision: 38226 Modified: trunk/TMP/st/elementary/src/lib/elm_win.c Modified: trunk/TMP/st/elementary/src/lib/elm_win.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_win.c 2008-12-19 14:30:03 UTC (rev 38225) +++ trunk/TMP/st/elementary/src/lib/elm_win.c 2008-12-19 14:32:59 UTC (rev 38226) @@ -17,21 +17,11 @@ Elm_Win_Type type; Elm_Win_Keyboard_Mode kbdmode; Evas_Bool autodel : 1; + int *autodel_clear; }; -static void _elm_win_resize(Ecore_Evas *ee); -static void _elm_win_obj_intercept_show(void *data, Evas_Object *obj); -static void _elm_win_obj_intercept_hide(void *data, Evas_Object *obj); -static void _elm_win_obj_intercept_move(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y); -static void _elm_win_obj_intercept_resize(void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h); -static void _elm_win_obj_intercept_raise(void *data, Evas_Object *obj); -static void _elm_win_obj_intercept_lower(void *data, Evas_Object *obj); -static void _elm_win_obj_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above); -static void _elm_win_obj_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below); -static void _elm_win_obj_intercept_layer_set(void *data, Evas_Object *obj, int l); -static void _elm_win_obj_intercept_color_set(void *data, Evas_Object *obj, int r, int g, int b, int a); static void _elm_win_obj_callback_del(void *data, Evas *e, Evas_Object *obj, void *event_info); -static void _elm_win_obj_callback_changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void _elm_win_resize(Ecore_Evas *ee); static void _elm_win_delete_request(Ecore_Evas *ee); static void _elm_win_resize_job(void *data); #ifdef HAVE_ELEMENTARY_X @@ -46,113 +36,13 @@ static void _elm_win_resize(Ecore_Evas *ee) { - Elm_Win *win = ecore_evas_data_get(ee, "__Elm"); + Elm_Win *win = evas_object_data_get(ecore_evas_object_associate_get(ee), "__Elm"); if (!win) return; if (win->deferred_resize_job) ecore_job_del(win->deferred_resize_job); win->deferred_resize_job = ecore_job_add(_elm_win_resize_job, win); } static void -_elm_win_obj_intercept_show(void *data, Evas_Object *obj) -{ - Elm_Win *win = data; - ecore_evas_show(win->ee); - evas_object_show(obj); -} - -static void -_elm_win_obj_intercept_hide(void *data, Evas_Object *obj) -{ - Elm_Win *win = data; - ecore_evas_hide(win->ee); - evas_object_hide(obj); -} - -static void -_elm_win_obj_intercept_move(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y) -{ - Elm_Win *win = data; - // FIXME: account for frame - ecore_evas_move(win->ee, x, y); -} - -static void -_elm_win_obj_intercept_resize(void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h) -{ - Elm_Win *win = data; - switch (_elm_config->engine) - { - case ELM_SOFTWARE_FB: - case ELM_SOFTWARE_16_WINCE: - break; - case ELM_SOFTWARE_X11: - case ELM_SOFTWARE_16_X11: - case ELM_XRENDER_X11: - case ELM_OPENGL_X11: - ecore_evas_resize(win->ee, w, h); - break; - default: - break; - } -} - -static void -_elm_win_obj_intercept_raise(void *data, Evas_Object *obj) -{ - Elm_Win *win = data; - ecore_evas_raise(win->ee); -} - -static void -_elm_win_obj_intercept_lower(void *data, Evas_Object *obj) -{ - Elm_Win *win = data; - ecore_evas_lower(win->ee); -} - -static void -_elm_win_obj_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above) -{ - if (above) - { - Elm_Win *win = evas_object_data_get(above, "__Elm"); - if (!win) evas_object_raise(obj); - // FIXME: find window id of win and stack abive - return; - } - evas_object_raise(obj); - return; -} - -static void -_elm_win_obj_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below) -{ - if (below) - { - Elm_Win *win = evas_object_data_get(below, "__Elm"); - if (!win) evas_object_raise(obj); - // FIXME: find window id of win and stack below - return; - } - evas_object_lower(obj); - return; -} - -static void -_elm_win_obj_intercept_layer_set(void *data, Evas_Object *obj, int l) -{ - Elm_Win *win = data; - // FIXME: use netwm above/below hints - ecore_evas_layer_set(win->ee, l); -} - -static void -_elm_win_obj_intercept_color_set(void *data, Evas_Object *obj, int r, int g, int b, int a) -{ - return; -} - -static void _deferred_ecore_evas_free(void *data) { ecore_evas_free(data); @@ -163,20 +53,9 @@ { Elm_Win *win = data; + if (win->autodel_clear) *(win->autodel_clear) = -1; _elm_win_list = eina_list_remove(_elm_win_list, win->win_obj); while (win->subobjs) elm_win_resize_object_del(obj, win->subobjs->data); - evas_object_intercept_show_callback_del(win->win_obj, _elm_win_obj_intercept_show); - evas_object_intercept_hide_callback_del(win->win_obj, _elm_win_obj_intercept_hide); - evas_object_intercept_move_callback_del(win->win_obj, _elm_win_obj_intercept_move); - evas_object_intercept_resize_callback_del(win->win_obj, _elm_win_obj_intercept_resize); - evas_object_intercept_raise_callback_del(win->win_obj, _elm_win_obj_intercept_raise); - evas_object_intercept_lower_callback_del(win->win_obj, _elm_win_obj_intercept_lower); - evas_object_intercept_stack_above_callback_del(win->win_obj, _elm_win_obj_intercept_stack_above); - evas_object_intercept_stack_below_callback_del(win->win_obj, _elm_win_obj_intercept_stack_below); - evas_object_intercept_layer_set_callback_del(win->win_obj, _elm_win_obj_intercept_layer_set); - evas_object_intercept_color_set_callback_del(win->win_obj, _elm_win_obj_intercept_color_set); - evas_object_event_callback_del(win->win_obj, EVAS_CALLBACK_DEL, _elm_win_obj_callback_del); - evas_object_event_callback_del(win->win_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _elm_win_obj_callback_changed_size_hints); ecore_evas_callback_delete_request_set(win->ee, NULL); ecore_evas_callback_resize_set(win->ee, NULL); if (win->deferred_resize_job) ecore_job_del(win->deferred_resize_job); @@ -187,7 +66,7 @@ while (evas_object_top_get(win->evas) && (evas_object_top_get(win->evas) != obj)) evas_object_del(evas_object_top_get(win->evas)); -// fixme - we are in the del handler for the object and delete the canvas +// FIXME: we are in the del handler for the object and delete the canvas // that lives under it from the handler... nasty. deferring doesnt help either ecore_job_add(_deferred_ecore_evas_free, win->ee); // ecore_evas_free(win->ee); @@ -195,26 +74,16 @@ } static void -_elm_win_obj_callback_changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info) -{ - Elm_Win *win = data; - Evas_Coord w, h; - - evas_object_size_hint_min_get(obj, &w, &h); - ecore_evas_size_min_set(win->ee, w, h); - evas_object_size_hint_max_get(obj, &w, &h); - if (w < 1) w = -1; - if (h < 1) h = -1; - ecore_evas_size_max_set(win->ee, w, h); -} - -static void _elm_win_delete_request(Ecore_Evas *ee) { - Elm_Win *win = ecore_evas_data_get(ee, "__Elm"); + Elm_Win *win = evas_object_data_get(ecore_evas_object_associate_get(ee), "__Elm"); if (!win) return; + int autodel = win->autodel; + win->autodel_clear = &autodel; evas_object_smart_callback_call(win->win_obj, "delete-request", NULL); - if (win->autodel) evas_object_del(win->win_obj); + // FIXME: if above callback deletes - then the below will be invalid + if (autodel == 1) evas_object_del(win->win_obj); + else if (autodel == 0) win->autodel_clear = NULL; } static void @@ -226,9 +95,7 @@ win->deferred_resize_job = NULL; ecore_evas_geometry_get(win->ee, NULL, NULL, &w, &h); - evas_object_intercept_resize_callback_del(win->win_obj, _elm_win_obj_intercept_resize); evas_object_resize(win->win_obj, w, h); - evas_object_intercept_resize_callback_add(win->win_obj, _elm_win_obj_intercept_resize, win); for (l = win->subobjs; l; l = l->next) { evas_object_move(l->data, 0, 0); @@ -426,18 +293,12 @@ evas_object_pass_events_set(win->win_obj, 1); evas_object_data_set(win->win_obj, "__Elm", win); - evas_object_intercept_show_callback_add(win->win_obj, _elm_win_obj_intercept_show, win); - evas_object_intercept_hide_callback_add(win->win_obj, _elm_win_obj_intercept_hide, win); - evas_object_intercept_move_callback_add(win->win_obj, _elm_win_obj_intercept_move, win); - evas_object_intercept_resize_callback_add(win->win_obj, _elm_win_obj_intercept_resize, win); - evas_object_intercept_raise_callback_add(win->win_obj, _elm_win_obj_intercept_raise, win); - evas_object_intercept_lower_callback_add(win->win_obj, _elm_win_obj_intercept_lower, win); - evas_object_intercept_stack_above_callback_add(win->win_obj, _elm_win_obj_intercept_stack_above, win); - evas_object_intercept_stack_below_callback_add(win->win_obj, _elm_win_obj_intercept_stack_below, win); - evas_object_intercept_layer_set_callback_add(win->win_obj, _elm_win_obj_intercept_layer_set, win); - evas_object_intercept_color_set_callback_add(win->win_obj, _elm_win_obj_intercept_color_set, win); - evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_DEL, _elm_win_obj_callback_del, win); - evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _elm_win_obj_callback_changed_size_hints, win); + ecore_evas_object_associate(win->ee, win->win_obj, + ECORE_EVAS_OBJECT_ASSOCIATE_BASE | + ECORE_EVAS_OBJECT_ASSOCIATE_STACK | + ECORE_EVAS_OBJECT_ASSOCIATE_LAYER); + evas_object_event_callback_add(win->win_obj, EVAS_CALLBACK_DEL, + _elm_win_obj_callback_del, win); ecore_evas_name_class_set(win->ee, name, _elm_appname); ecore_evas_data_set(win->ee, "__Elm", win); |
From: Enlightenment S. <no-...@en...> - 2008-12-19 14:35:19
|
Log: todo-- Author: raster Date: 2008-12-19 06:35:15 -0800 (Fri, 19 Dec 2008) New Revision: 38227 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-19 14:32:59 UTC (rev 38226) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-19 14:35:15 UTC (rev 38227) @@ -440,7 +440,6 @@ //// (improvements - low priority) // * use evas's new box instead of a box smart // * use evas's table instead of a table smart -// * use ecore_evas_object_associate for win widget // * use stack for win widget // * somehow a pdf(ps) viewer widget that doesnt make it gpl (lgpl) // * emotion widget? |
From: Enlightenment S. <no-...@en...> - 2008-12-23 14:05:59
|
Log: clear up some shutdown/deletion bugs Author: raster Date: 2008-12-23 06:05:56 -0800 (Tue, 23 Dec 2008) New Revision: 38291 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in 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_scroller.c trunk/TMP/st/elementary/src/lib/els_table.c Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-23 13:33:11 UTC (rev 38290) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2008-12-23 14:05:56 UTC (rev 38291) @@ -425,6 +425,7 @@ // * page widget (for pushing/popping pages and going back and forward and flipping) // * slider widget // +// * carousel selector widget // * in-window dialog container widget // * separator widget (h/v) // * slide-open "panel" that can hold stuff and optionally scroll Modified: trunk/TMP/st/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2008-12-23 13:33:11 UTC (rev 38290) +++ trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2008-12-23 14:05:56 UTC (rev 38291) @@ -214,6 +214,7 @@ _elm_theme_set(it->base, "toolbar", "item", "default"); edje_object_signal_callback_add(it->base, "elm,action,click", "elm", _select, it); + elm_widget_sub_object_add(obj, it->base); if (it->icon) { edje_extern_object_min_size_set(it->icon, @@ -231,7 +232,6 @@ evas_object_size_hint_max_set(it->base, 9999, mh); _els_smart_box_pack_end(wd->bx, it->base); evas_object_show(it->base); - elm_widget_sub_object_add(obj, it->base); _sizing_eval(obj); return (Elm_Toolbar_Item *)it; } Modified: trunk/TMP/st/elementary/src/lib/els_box.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_box.c 2008-12-23 13:33:11 UTC (rev 38290) +++ trunk/TMP/st/elementary/src/lib/els_box.c 2008-12-23 14:05:56 UTC (rev 38291) @@ -488,6 +488,7 @@ } evas_object_del(sd->clip); free(sd); + evas_object_smart_data_set(obj, NULL); } static void @@ -501,6 +502,8 @@ if (!sd) return; dx = x - sd->x; dy = y - sd->y; + sd->x = x; + sd->y = y; for (l = sd->items; l; l = l->next) { Evas_Coord ox, oy; @@ -508,8 +511,6 @@ evas_object_geometry_get(l->data, &ox, &oy, NULL, NULL); evas_object_move(l->data, ox + dx, oy + dy); } - sd->x = x; - sd->y = y; } static void Modified: trunk/TMP/st/elementary/src/lib/els_scroller.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_scroller.c 2008-12-23 13:33:11 UTC (rev 38290) +++ trunk/TMP/st/elementary/src/lib/els_scroller.c 2008-12-23 14:05:56 UTC (rev 38291) @@ -977,6 +977,7 @@ evas_object_del(sd->event_obj); if (sd->down.momentum_animator) ecore_animator_del(sd->down.momentum_animator); free(sd); + evas_object_smart_data_set(obj, NULL); } static void Modified: trunk/TMP/st/elementary/src/lib/els_table.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_table.c 2008-12-23 13:33:11 UTC (rev 38290) +++ trunk/TMP/st/elementary/src/lib/els_table.c 2008-12-23 14:05:56 UTC (rev 38291) @@ -823,6 +823,7 @@ } evas_object_del(sd->clip); free(sd); + evas_object_smart_data_set(obj, NULL); } static void |
From: Enlightenment S. <no-...@en...> - 2008-12-24 05:04:38
|
Log: remove some aborts Author: raster Date: 2008-12-23 21:04:33 -0800 (Tue, 23 Dec 2008) New Revision: 38315 Modified: trunk/TMP/st/elementary/src/lib/elc_anchorblock.c trunk/TMP/st/elementary/src/lib/elc_hoversel.c trunk/TMP/st/elementary/src/lib/elm_bubble.c trunk/TMP/st/elementary/src/lib/elm_widget.c Modified: trunk/TMP/st/elementary/src/lib/elc_anchorblock.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_anchorblock.c 2008-12-23 23:54:51 UTC (rev 38314) +++ trunk/TMP/st/elementary/src/lib/elc_anchorblock.c 2008-12-24 05:04:33 UTC (rev 38315) @@ -20,6 +20,9 @@ static void _del_pre_hook(Evas_Object *obj) { + Widget_Data *wd = elm_widget_data_get(obj); + evas_object_event_callback_del(wd->entry, EVAS_CALLBACK_CHANGED_SIZE_HINTS, + _changed_size_hints); elm_anchorblock_hover_end(obj); elm_anchorblock_hover_parent_set(obj, NULL); } Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2008-12-23 23:54:51 UTC (rev 38314) +++ trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2008-12-24 05:04:33 UTC (rev 38315) @@ -71,9 +71,9 @@ { Item *it = data; Evas_Object *obj2 = it->obj; + elm_hoversel_hover_end(obj2); if (it->func) it->func(it->data, obj2, NULL); evas_object_smart_callback_call(obj2, "selected", NULL); - elm_hoversel_hover_end(obj2); } static void Modified: trunk/TMP/st/elementary/src/lib/elm_bubble.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_bubble.c 2008-12-23 23:54:51 UTC (rev 38314) +++ trunk/TMP/st/elementary/src/lib/elm_bubble.c 2008-12-24 05:04:33 UTC (rev 38315) @@ -69,7 +69,7 @@ wd->content = NULL; _sizing_eval(obj); } - if (sub == wd->icon) + else if (sub == wd->icon) { evas_object_event_callback_del (sub, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); @@ -137,8 +137,8 @@ edje_object_part_swallow(wd->bbl, "elm.swallow.content", content); evas_object_event_callback_add(content, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); - _sizing_eval(obj); } + _sizing_eval(obj); } EAPI void @@ -154,8 +154,8 @@ edje_object_part_swallow(wd->bbl, "elm.swallow.icon", icon); evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints, obj); - _sizing_eval(obj); } + _sizing_eval(obj); } EAPI void Modified: trunk/TMP/st/elementary/src/lib/elm_widget.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_widget.c 2008-12-23 23:54:51 UTC (rev 38314) +++ trunk/TMP/st/elementary/src/lib/elm_widget.c 2008-12-24 05:04:33 UTC (rev 38315) @@ -58,14 +58,13 @@ if (obj == sd->resize_obj) { sd->resize_obj = NULL; - evas_object_smart_callback_call(sd->obj, "sub-object-del", obj); } else if (obj == sd->hover_obj) sd->hover_obj = NULL; else { sd->subobjs = eina_list_remove(sd->subobjs, obj); - evas_object_smart_callback_call(sd->obj, "sub-object-del", obj); } + evas_object_smart_callback_call(sd->obj, "sub-object-del", obj); } static void @@ -640,12 +639,14 @@ { evas_object_event_callback_del(sd->resize_obj, EVAS_CALLBACK_DEL, _sub_obj_del); sd->resize_obj = NULL; + evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->resize_obj); evas_object_del(sd->resize_obj); } if (sd->hover_obj) { evas_object_event_callback_del(sd->hover_obj, EVAS_CALLBACK_DEL, _sub_obj_del); sd->hover_obj = NULL; + evas_object_smart_callback_call(sd->obj, "sub-object-del", sd->hover_obj); evas_object_del(sd->hover_obj); } while (sd->subobjs) @@ -653,6 +654,7 @@ sobj = sd->subobjs->data; sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs); evas_object_event_callback_del(sobj, EVAS_CALLBACK_DEL, _sub_obj_del); + evas_object_smart_callback_call(sd->obj, "sub-object-del", sobj); evas_object_del(sobj); } if (sd->del_func) sd->del_func(obj); |
From: Enlightenment S. <no-...@en...> - 2008-12-31 00:43:11
|
Log: fix other focus walking issues Author: raster Date: 2008-12-30 16:43:06 -0800 (Tue, 30 Dec 2008) New Revision: 38368 Modified: trunk/TMP/st/elementary/src/lib/elm_widget.c Modified: trunk/TMP/st/elementary/src/lib/elm_widget.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_widget.c 2008-12-31 00:02:33 UTC (rev 38367) +++ trunk/TMP/st/elementary/src/lib/elm_widget.c 2008-12-31 00:43:06 UTC (rev 38368) @@ -332,6 +332,7 @@ { Eina_List *l; int focus_next; + int noloop = 0; focus_next = 0; if (!sd->focused) @@ -345,8 +346,58 @@ { if (forward) { - // FIXME: sd->resize_obj acocunt for - for (l = sd->subobjs; l; l = l->next) + if (elm_widget_can_focus_get(sd->resize_obj)) + { + if ((focus_next) && + (!elm_widget_disabled_get(sd->resize_obj))) + { + /* the previous focused item was unfocused - so focus + * the next one (that can be focused) */ + if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1; + else noloop = 1; + } + else + { + if (elm_widget_focus_get(sd->resize_obj)) + { + /* jump to the next focused item or focus this item */ + if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1; + /* it returned 0 - it got to the last item and is past it */ + focus_next = 1; + } + } + } + if (!noloop) + { + for (l = sd->subobjs; l; l = l->next) + { + if (elm_widget_can_focus_get(l->data)) + { + if ((focus_next) && + (!elm_widget_disabled_get(l->data))) + { + /* the previous focused item was unfocused - so focus + * the next one (that can be focused) */ + if (elm_widget_focus_jump(l->data, forward)) return 1; + else break; + } + else + { + if (elm_widget_focus_get(l->data)) + { + /* jump to the next focused item or focus this item */ + if (elm_widget_focus_jump(l->data, forward)) return 1; + /* it returned 0 - it got to the last item and is past it */ + focus_next = 1; + } + } + } + } + } + } + else + { + for (l = eina_list_last(sd->subobjs); l; l = l->prev) { if (elm_widget_can_focus_get(l->data)) { @@ -370,34 +421,29 @@ } } } - } - else - { - for (l = eina_list_last(sd->subobjs); l; l = l->prev) - { - if (elm_widget_can_focus_get(l->data)) + if (!l) + { + if (elm_widget_can_focus_get(sd->resize_obj)) { if ((focus_next) && - (!elm_widget_disabled_get(l->data))) + (!elm_widget_disabled_get(sd->resize_obj))) { /* the previous focused item was unfocused - so focus * the next one (that can be focused) */ - if (elm_widget_focus_jump(l->data, forward)) return 1; - else break; + if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1; } else { - if (elm_widget_focus_get(l->data)) + if (elm_widget_focus_get(sd->resize_obj)) { /* jump to the next focused item or focus this item */ - if (elm_widget_focus_jump(l->data, forward)) return 1; + if (elm_widget_focus_jump(sd->resize_obj, forward)) return 1; /* it returned 0 - it got to the last item and is past it */ focus_next = 1; } } } - } - // FIXME: sd->resize_obj acocunt for + } } } } @@ -499,7 +545,6 @@ } } } - printf("CLEAR %p %i\n", obj, sd->focused); sd->focused = 0; if (sd->on_focus_func) sd->on_focus_func(sd->on_focus_data, obj); if (sd->focus_func) sd->focus_func(obj); @@ -510,13 +555,8 @@ { API_ENTRY return; Evas_Object *o = elm_widget_parent_get(obj); - if (sd->focused) - { - printf("STOp @ %p\n", obj); - return; - } + if (sd->focused) return; if (o) _elm_widget_parent_focus(o); - printf("DOF %p\n", obj); sd->focused = 1; if (sd->on_focus_func) sd->on_focus_func(sd->on_focus_data, obj); if (sd->focus_func) sd->focus_func(obj); @@ -529,18 +569,15 @@ API_ENTRY return; if (sd->focused) return; if (sd->disabled) return; - printf("elm_widget_focus_steal %p...\n", obj); parent = obj; for (;;) { o = elm_widget_parent_get(parent); if (!o) break; sd = evas_object_smart_data_get(o); - printf("stop2 @ %p\n", o); if (sd->focused) break; parent = o; } - printf("steal clear, parent %p\n", parent); if (!elm_widget_parent_get(parent)) elm_widget_focused_object_clear(parent); else @@ -549,24 +586,19 @@ parent = elm_widget_parent_get(parent); sd = evas_object_smart_data_get(parent); if (elm_widget_focus_get(sd->resize_obj)) - { - printf("clear on sub %p\n", sd->resize_obj); - elm_widget_focused_object_clear(sd->resize_obj); - } + elm_widget_focused_object_clear(sd->resize_obj); else { for (l = sd->subobjs; l; l = l->next) { if (elm_widget_focus_get(l->data)) { - printf("clear on sub %p\n", l->data); elm_widget_focused_object_clear(l->data); break; } } } } - printf("focus parents %p\n", obj); _elm_widget_parent_focus(obj); return; } |
From: Enlightenment S. <no-...@en...> - 2008-12-31 01:03:39
|
Log: printf-- Author: raster Date: 2008-12-30 17:03:36 -0800 (Tue, 30 Dec 2008) New Revision: 38369 Modified: trunk/TMP/st/elementary/src/lib/elm_entry.c trunk/TMP/st/elementary/src/lib/elm_win.c Modified: trunk/TMP/st/elementary/src/lib/elm_entry.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_entry.c 2008-12-31 00:43:06 UTC (rev 38368) +++ trunk/TMP/st/elementary/src/lib/elm_entry.c 2008-12-31 01:03:36 UTC (rev 38369) @@ -118,14 +118,12 @@ evas_object_focus_set(wd->ent, 1); edje_object_signal_emit(wd->ent, "elm,action,focus", "elm"); elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_ON); - printf("foc on %p\n", obj); } else { edje_object_signal_emit(wd->ent, "elm,action,unfocus", "elm"); evas_object_focus_set(wd->ent, 0); elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF); - printf("foc off %p\n", obj); } } Modified: trunk/TMP/st/elementary/src/lib/elm_win.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_win.c 2008-12-31 00:43:06 UTC (rev 38368) +++ trunk/TMP/st/elementary/src/lib/elm_win.c 2008-12-31 01:03:36 UTC (rev 38369) @@ -574,10 +574,6 @@ evas_object_raise(obj); evas_object_show(obj); edje_object_signal_emit(wd->frm, "elm,action,show", "elm"); - printf("clear parent focus %p [%p]\n", - elm_widget_parent_get(obj), - elm_widget_parent_get(elm_widget_parent_get(obj)) - ); elm_widget_focused_object_clear(elm_widget_parent_get(obj)); } |
From: Enlightenment S. <no-...@en...> - 2009-01-07 21:08:43
|
Log: event_info in func passes the item Author: raster Date: 2009-01-07 13:08:36 -0800 (Wed, 07 Jan 2009) New Revision: 38495 Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c trunk/TMP/st/elementary/src/lib/elm_toolbar.c Modified: trunk/TMP/st/elementary/src/lib/elc_hoversel.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2009-01-07 21:00:06 UTC (rev 38494) +++ trunk/TMP/st/elementary/src/lib/elc_hoversel.c 2009-01-07 21:08:36 UTC (rev 38495) @@ -72,8 +72,8 @@ Item *it = data; Evas_Object *obj2 = it->obj; elm_hoversel_hover_end(obj2); - if (it->func) it->func(it->data, obj2, NULL); - evas_object_smart_callback_call(obj2, "selected", NULL); + if (it->func) it->func(it->data, obj2, it); + evas_object_smart_callback_call(obj2, "selected", it); } static void Modified: trunk/TMP/st/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-01-07 21:00:06 UTC (rev 38494) +++ trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-01-07 21:08:36 UTC (rev 38495) @@ -60,8 +60,8 @@ edje_object_signal_emit(it->base, "elm,state,selected", "elm"); _item_show(it); obj2 = it->obj; - if (it->func) it->func(it->data, it->obj, NULL); - evas_object_smart_callback_call(obj2, "clicked", NULL); + if (it->func) it->func(it->data, it->obj, it); + evas_object_smart_callback_call(obj2, "clicked", it); } static void |
From: Enlightenment S. <no-...@en...> - 2009-01-09 13:58:53
|
Log: fix typos. Author: raster Date: 2009-01-09 05:58:48 -0800 (Fri, 09 Jan 2009) New Revision: 38517 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-09 13:31:51 UTC (rev 38516) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-09 13:58:48 UTC (rev 38517) @@ -452,7 +452,7 @@ // * need a hold-scroll counter in elm_widget // * add fullscreen mode on/off for windows // * hoversel only vertical right now - make horizontal -// * set scaling per widget (and if scaling should be inheited by children) +// * set scaling per widget (and if scaling should be inherited by children) // //// (more widgets/features - medium priority) // * biglist widget (restricted format label + icon intended for massive lists) @@ -478,6 +478,7 @@ // * file selector widget // //// (improvements - low priority) +// * merge with gurana // * use evas's new box instead of a box smart // * use evas's table instead of a table smart // * use stack for win widget |
From: Enlightenment S. <no-...@en...> - 2009-01-16 02:49:28
|
Log: fix header to document styles for widgets with styles. Author: raster Date: 2009-01-15 18:49:18 -0800 (Thu, 15 Jan 2009) New Revision: 38602 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-16 02:48:51 UTC (rev 38601) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-16 02:49:18 UTC (rev 38602) @@ -156,6 +156,9 @@ EAPI Evas_Object *elm_win_inwin_add(Evas_Object *obj); EAPI void elm_win_inwin_activate(Evas_Object *obj); EAPI void elm_win_inwin_style_set(Evas_Object *obj, const char *style); + /* available styles: + * default + */ /* X specific calls - won't work on non-x engines (return 0) */ EAPI Ecore_X_Window elm_win_xwindow_get(Evas_Object *obj); @@ -193,6 +196,11 @@ EAPI void elm_button_label_set(Evas_Object *obj, const char *label); EAPI void elm_button_icon_set(Evas_Object *obj, Evas_Object *icon); EAPI void elm_button_style_set(Evas_Object *obj, const char *style); + /* available styles: + * default + * hoversel_vertical + * hoversel_vertical_entry + */ /* smart callbacks called: * "clicked" - the user clicked the button */ @@ -223,6 +231,15 @@ EAPI void elm_frame_label_set(Evas_Object *obj, const char *label); EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content); EAPI void elm_frame_style_set(Evas_Object *obj, const char *style); + /* available styles: + * default + * pad_small + * pad_medium + * pad_large + * pad_huge + * outdent_top + * outdent_bottom + */ /* smart callbacks called: */ @@ -261,6 +278,11 @@ EAPI void elm_hover_parent_set(Evas_Object *obj, Evas_Object *parent); EAPI void elm_hover_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content); EAPI void elm_hover_style_set(Evas_Object *obj, const char *style); + /* available styles: + * default + * popout + * hoversel_vertical + */ EAPI const char *elm_hover_best_content_location_get(Evas_Object *obj, Elm_Hover_Axis pref_axis); /* smart callbacks called: * "clicked" - the user clicked the empty space in the hover to dismiss |
From: Enlightenment S. <no-...@en...> - 2009-01-17 13:35:44
|
Log: oops - forgot to use _elm_data_dir! fix! Author: raster Date: 2009-01-17 05:35:39 -0800 (Sat, 17 Jan 2009) New Revision: 38619 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-01-17 13:24:07 UTC (rev 38618) +++ trunk/TMP/st/elementary/src/lib/elm_theme.c 2009-01-17 13:35:39 UTC (rev 38619) @@ -30,7 +30,7 @@ return file; } } - snprintf(buf, sizeof(buf), "%s/themes/%s.edj", PACKAGE_DATA_DIR, l->data); + snprintf(buf, sizeof(buf), "%s/themes/%s.edj", _elm_data_dir, l->data); if (edje_file_group_exists(buf, group)) { file = eina_stringshare_add(buf); |
From: Enlightenment S. <no-...@en...> - 2009-01-21 00:05:50
|
Log: oops. c++ support broken. fix! Author: raster Date: 2009-01-20 16:05:38 -0800 (Tue, 20 Jan 2009) New Revision: 38675 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-20 23:23:47 UTC (rev 38674) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-21 00:05:38 UTC (rev 38675) @@ -463,7 +463,11 @@ /* smart callbacks called: * "clicked" - when the user clicks on a carousel item and becomes selected */ - + +#ifdef __cplusplus +} +#endif + //////////////////////////////////////////////////////////////////////////// /// FIXME: TODO LIST /////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// |
From: Enlightenment S. <no-...@en...> - 2009-01-26 02:47:10
|
Log: fix scroller del bug. Author: raster Date: 2009-01-25 18:18:41 -0800 (Sun, 25 Jan 2009) New Revision: 38788 Modified: trunk/TMP/st/elementary/src/lib/els_scroller.c Modified: trunk/TMP/st/elementary/src/lib/els_scroller.c =================================================================== --- trunk/TMP/st/elementary/src/lib/els_scroller.c 2009-01-25 23:18:25 UTC (rev 38787) +++ trunk/TMP/st/elementary/src/lib/els_scroller.c 2009-01-26 02:18:41 UTC (rev 38788) @@ -108,7 +108,7 @@ if (sd->child_obj) { _elm_smart_pan_child_set(sd->pan_obj, NULL); - evas_object_event_callback_del(sd->child_obj, EVAS_CALLBACK_FREE, _smart_child_del_hook); + evas_object_event_callback_del(sd->child_obj, EVAS_CALLBACK_DEL, _smart_child_del_hook); } sd->child_obj = child; @@ -129,7 +129,7 @@ sd->pan_func.max_get = _elm_smart_pan_max_get; sd->pan_func.child_size_get = _elm_smart_pan_child_size_get; - evas_object_event_callback_add(child, EVAS_CALLBACK_FREE, _smart_child_del_hook, sd); + evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _smart_child_del_hook, sd); _elm_smart_pan_child_set(sd->pan_obj, sd->child_obj); sd->pan_func.child_size_get(sd->pan_obj, &w, &h); sd->child.w = w; |
From: Enlightenment S. <no-...@en...> - 2009-01-28 00:48:47
|
Log: fix leak - no cleanup items in toolbar. Author: raster Date: 2009-01-27 16:48:43 -0800 (Tue, 27 Jan 2009) New Revision: 38823 Modified: trunk/TMP/st/elementary/src/lib/elm_toolbar.c Modified: trunk/TMP/st/elementary/src/lib/elm_toolbar.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-01-28 00:29:18 UTC (rev 38822) +++ trunk/TMP/st/elementary/src/lib/elm_toolbar.c 2009-01-28 00:48:43 UTC (rev 38823) @@ -68,6 +68,15 @@ _del_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); + while (wd->items) + { + Item *it = wd->items->data; + wd->items = eina_list_remove_list(wd->items, wd->items); + eina_stringshare_del(it->label); + if (it->icon) evas_object_del(it->icon); + evas_object_del(it->base); + free(it); + } free(wd); } |
From: Enlightenment S. <no-...@en...> - 2009-01-31 23:23:58
|
Log: update .h.in todo Author: raster Date: 2009-01-31 15:23:51 -0800 (Sat, 31 Jan 2009) New Revision: 38867 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-31 20:18:51 UTC (rev 38866) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-01-31 23:23:51 UTC (rev 38867) @@ -479,7 +479,6 @@ //// (bugs - high priority) // * scale change for hover doesnt seem to do new size alloc nicely // * left/right arrow broken with password mode for entry + utf8 chars... -// * entry signal "changed" not called when deleting // * bubble doesnt handle child size changes right // * table doesnt do homogenous properly // @@ -492,10 +491,10 @@ // * add fullscreen mode on/off for windows // * hoversel only vertical right now - make horizontal // * set scaling per widget (and if scaling should be inherited by children) +// * when entries are in a scroller and change size, the scroller shows scrollbars. fix. same for selecting. for 1 line entries in a scroller should only have scroll arrow indicators. // //// (more widgets/features - medium priority) // * biglist widget (restricted format label + icon intended for massive lists) -// * listitem widget (can contain anything) // * treeview widget (like biglist - but items can expand to sub-items) // * radio widget + group handling // * checkbox widget (like toggle) @@ -503,7 +502,6 @@ // * slider widget // // * carousel selector widget -// * in-window dialog container widget (push/pop) // * separator widget (h/v) // * slide-open "panel" that can hold stuff and optionally scroll // * calendar widget (select date) @@ -515,8 +513,12 @@ // * tiled image + zoom widget (tiled map viewer) // * dialpad widget - need one with a phone dialpad // * file selector widget +// * progress bar widget +// * generic "tacho" widget (set min/max labels - and up to 3 intermediate labels) +// * status widget (busy, stalled, running, etc.) // //// (improvements - low priority) +// * need another sample theme // * need a way to set a preferred size of a widget (but not min or max). // * merge with gurana // * use evas's new box instead of a box smart @@ -528,6 +530,7 @@ // * need url and path entry modes for vkbd // * return list of toplevel window objects // * widgets should show who is focused (not useful for touchscreen) +// * focus should have an object that is layered above all others (definable layer) that moves + resizes (slides about - animated) from one focused widget to the next for focus. also emit focus/unfocus signals too // * scroller could do with page up/down/left/right buttons and and idea of a page size // * current sizing tree inefficient // * need a way to filter entry data for entry (eg for phone numbers) |
From: Enlightenment S. <no-...@en...> - 2009-02-03 05:54:51
|
Log: remove a todo item Author: raster Date: 2009-02-02 21:54:46 -0800 (Mon, 02 Feb 2009) New Revision: 38911 Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in =================================================================== --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-02-03 05:09:36 UTC (rev 38910) +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2009-02-03 05:54:46 UTC (rev 38911) @@ -498,7 +498,6 @@ // * when entries are in a scroller and change size, the scroller shows scrollbars. fix. same for selecting. for 1 line entries in a scroller should only have scroll arrow indicators. // //// (more widgets/features - medium priority) -// * selective widget scaling // * slider widget // * <evas scale cache> // * radio + group handling @@ -510,6 +509,7 @@ // * <evas shared cache> // // * carousel selector widget +// * auto-size label/text that adapts text size to its allocated region // * separator widget (h/v) // * slide-open "panel" that can hold stuff and optionally scroll // * calendar widget (select date) |
From: Enlightenment S. <no-...@en...> - 2009-02-03 10:27:59
|
Log: env vars for font path, image and font cache and even font hintingt Author: raster Date: 2009-02-03 02:27:52 -0800 (Tue, 03 Feb 2009) New Revision: 38914 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_win.c Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2009-02-03 09:10:22 UTC (rev 38913) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2009-02-03 10:27:52 UTC (rev 38914) @@ -78,6 +78,7 @@ { int i; const char *elm_engine, *elm_scale, *elm_theme, *elm_prefix, *elm_data_dir; + const char *elm_font_hinting, *elm_font_path, *elm_image_cache, *elm_font_cache; char buf[PATH_MAX]; eet_init(); @@ -97,6 +98,10 @@ elm_theme = getenv("ELM_THEME"); elm_prefix = getenv("ELM_PREFIX"); elm_data_dir = getenv("ELM_DATA_DIR"); + elm_font_hinting = getenv("ELM_FONT_HINTING"); + elm_font_path = getenv("ELM_FONT_PATH"); + elm_image_cache = getenv("ELM_IMAGE_CACHE"); + elm_font_cache = getenv("ELM_FONT_CACHE"); if (!_elm_data_dir) { @@ -188,6 +193,10 @@ _elm_config->thumbscroll_momentum_threshhold = 100.0; _elm_config->thumbscroll_friction = 1.0; _elm_config->scale = 1.0; + _elm_config->font_hinting = 2; + _elm_config->font_dirs = NULL; + _elm_config->image_cache = 4096; + _elm_config->font_cache = 512; _elm_config->bgpixmap = 0; _elm_config->compositing = 1; @@ -228,6 +237,53 @@ else _elm_theme_parse("default"); + _elm_config->font_hinting = 2; + if (elm_font_hinting) + { + if (!strcasecmp(elm_font_hinting, "none")) + _elm_config->font_hinting = 0; + else if (!strcasecmp(elm_font_hinting, "auto")) + _elm_config->font_hinting = 1; + else if (!strcasecmp(elm_font_hinting, "bytecode")) + _elm_config->font_hinting = 2; + } + + if (elm_font_path) + { + const char *p, *pp, *s; + char *buf; + + buf = alloca(strlen(elm_font_path) + 1); + p = elm_font_path; + pp = p; + for (;;) + { + if ((*p == ':') || (*p == 0)) + { + int len; + + len = p - pp; + strncpy(buf, pp, len); + buf[len] = 0; + _elm_config->font_dirs = eina_list_append(_elm_config->font_dirs, buf); + if (*p == 0) break; + p++; + pp = p; + } + else + { + if (*p == 0) break; + p++; + } + } + } + + if (elm_image_cache) + _elm_config->image_cache = atoi(elm_image_cache); + + if (elm_font_cache) + _elm_config->font_cache = atoi(elm_font_cache); + /* FIXME: implement quickstart below */ /* if !quickstart return * else Modified: trunk/TMP/st/elementary/src/lib/elm_priv.h =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_priv.h 2009-02-03 09:10:22 UTC (rev 38913) +++ trunk/TMP/st/elementary/src/lib/elm_priv.h 2009-02-03 10:27:52 UTC (rev 38914) @@ -44,6 +44,10 @@ double scale; int bgpixmap; int compositing; + Eina_List *font_dirs; + int font_hinting; + int image_cache; + int font_cache; }; #define ELM_NEW(t) calloc(1, sizeof(t)) Modified: trunk/TMP/st/elementary/src/lib/elm_win.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_win.c 2009-02-03 09:10:22 UTC (rev 38913) +++ trunk/TMP/st/elementary/src/lib/elm_win.c 2009-02-03 10:27:52 UTC (rev 38914) @@ -246,6 +246,7 @@ elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type) { Elm_Win *win; + Eina_List *l; win = ELM_NEW(Elm_Win); switch (_elm_config->engine) @@ -309,13 +310,16 @@ ecore_evas_name_class_set(win->ee, name, _elm_appname); ecore_evas_callback_delete_request_set(win->ee, _elm_win_delete_request); ecore_evas_callback_resize_set(win->ee, _elm_win_resize); - // FIXME: use elm config for this - evas_image_cache_set(win->evas, 4096 * 1024); - evas_font_cache_set(win->evas, 512 * 1024); - evas_font_path_append(win->evas, "fonts"); -// evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_NONE); -// evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_AUTO); -// evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_BYTECODE); + evas_image_cache_set(win->evas, _elm_config->image_cache * 1024); + evas_font_cache_set(win->evas, _elm_config->font_cache * 1024); + for (l = _elm_config->font_dirs; l; l = l->next) + evas_font_path_append(win->evas, l->data); + if (_elm_config->font_hinting == 0) + evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_NONE); + else if (_elm_config->font_hinting == 1) + evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_AUTO); + else if (_elm_config->font_hinting == 2) + evas_font_hinting_set(win->evas, EVAS_FONT_HINTING_BYTECODE); edje_frametime_set(1.0 / 60.0); edje_scale_set(_elm_config->scale); |
From: Enlightenment S. <no-...@en...> - 2009-02-03 10:29:00
|
Log: and freee font path too. Author: raster Date: 2009-02-03 02:28:52 -0800 (Tue, 03 Feb 2009) New Revision: 38915 Modified: trunk/TMP/st/elementary/src/lib/elm_main.c Modified: trunk/TMP/st/elementary/src/lib/elm_main.c =================================================================== --- trunk/TMP/st/elementary/src/lib/elm_main.c 2009-02-03 10:27:52 UTC (rev 38914) +++ trunk/TMP/st/elementary/src/lib/elm_main.c 2009-02-03 10:28:52 UTC (rev 38915) @@ -328,6 +328,12 @@ eina_stringshare_del(_elm_data_dir); _elm_data_dir = NULL; + + while (_elm_config->font_dirs) + { + eina_stringshare_del(_elm_config->font_dirs->data); + _elm_config->font_dirs = eina_list_remove_list(_elm_config->font_dirs, _elm_config->font_dirs); + } free(_elm_config); free(_elm_appname); |