Enlightenment CVS committal Author : moom Project : e17 Module : proto
Dir : e17/proto/etk/src/lib Modified Files: Etk.h Makefile.am etk_editable.c etk_editable.h etk_entry.c etk_scrollbar.c etk_scrolled_view.h etk_types.h etk_widget.c Added Files: etk_spinner.c etk_spinner.h etk_tree2.c etk_tree2.h etk_tree2_model.c etk_tree2_model.h Log Message: * [Etk_Tree2] A future replacement of Etk_Tree. Still not usable * [Etk_Spinner] A basic spinner widget that needs more work but it is already usable =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/Etk.h,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- Etk.h 20 Oct 2006 17:51:44 -0000 1.44 +++ Etk.h 28 Nov 2006 21:40:07 -0000 1.45 @@ -61,6 +61,7 @@ #include "etk_separator.h" #include "etk_shadow.h" #include "etk_slider.h" +#include "etk_spinner.h" #include "etk_statusbar.h" #include "etk_stock.h" #include "etk_table.h" @@ -74,6 +75,8 @@ #include "etk_toplevel.h" #include "etk_tree.h" #include "etk_tree_model.h" +#include "etk_tree2.h" +#include "etk_tree2_model.h" #include "etk_viewport.h" #include "etk_widget.h" #include "etk_window.h" =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/Makefile.am,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- Makefile.am 20 Oct 2006 17:51:44 -0000 1.48 +++ Makefile.am 28 Nov 2006 21:40:07 -0000 1.49 @@ -65,6 +65,7 @@ etk_signal.h \ etk_signal_callback.h \ etk_slider.h \ +etk_spinner.h \ etk_statusbar.h \ etk_stock.h \ etk_string.h \ @@ -79,6 +80,8 @@ etk_toplevel.h \ etk_tree.h \ etk_tree_model.h \ +etk_tree2.h \ +etk_tree2_model.h \ etk_type.h \ etk_types.h \ etk_utils.h \ @@ -135,6 +138,7 @@ etk_signal.c \ etk_signal_callback.c \ etk_slider.c \ +etk_spinner.c \ etk_statusbar.c \ etk_stock.c \ etk_string.c \ @@ -149,6 +153,8 @@ etk_toplevel.c \ etk_tree.c \ etk_tree_model.c \ +etk_tree2.c \ +etk_tree2_model.c \ etk_type.c \ etk_utils.c \ etk_viewport.c \ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_editable.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_editable.c 6 Oct 2006 17:04:14 -0000 1.2 +++ etk_editable.c 28 Nov 2006 21:40:07 -0000 1.3 @@ -32,6 +32,7 @@ Etk_String *text; int unicode_length; + float align; int cursor_width; Etk_Bool selection_on_fg; int average_char_w; @@ -130,6 +131,36 @@ } /** + * @brief Sets the alignment of the text inside the editable object + * @param editable an editable object + * @param align the alignment of the text, from 0.0 (left alignment) to 1.0 (right alignment) + */ +void etk_editable_align_set(Evas_Object *editable, float align) +{ + Etk_Editable_Smart_Data *sd; + + if (!editable || !(sd = evas_object_smart_data_get(editable))) + return; + + sd->align = ETK_CLAMP(align, 0.0, 1.0); + _etk_editable_text_position_update(editable, -1); +} + +/** + * @brief Gets the alignment of the text inside the editable object + * @param editable an editable object + * @return Returns the alignment of the text, from 0.0 (left alignment) to 1.0 (right alignment) + */ +float etk_editable_align_get(Evas_Object *editable) +{ + Etk_Editable_Smart_Data *sd; + + if (!editable || !(sd = evas_object_smart_data_get(editable))) + return 0.0; + return sd->align; +} + +/** * @brief Sets whether or not the editable object is in password mode. In password mode, the * editable object displays '*' instead of the characters * @param editable an editable object @@ -914,6 +945,8 @@ else if ((tx + tw + offset_x) < (ox + ow)) offset_x = (ox + ow) - (tx + tw); } + else + offset_x += (ow - tw) * sd->align; new_ty = oy + ((oh - th) / 2); evas_object_move(sd->text_object, tx + offset_x, new_ty); @@ -1004,6 +1037,7 @@ sd->average_char_w = -1; sd->average_char_h = -1; + sd->align = 0.0; sd->cursor_pos = 0; sd->cursor_visible = ETK_TRUE; sd->selection_pos = 0; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_editable.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_editable.h 6 Oct 2006 17:04:14 -0000 1.2 +++ etk_editable.h 28 Nov 2006 21:40:07 -0000 1.3 @@ -14,9 +14,10 @@ Evas_Object *etk_editable_add(Evas *evas); void etk_editable_theme_set(Evas_Object *editable, const char *file, const char *group); - -void etk_editable_password_mode_set(Evas_Object *editable, Etk_Bool password_mode); -Etk_Bool etk_editable_password_mode_get(Evas_Object *editable); +void etk_editable_align_set(Evas_Object *editable, float align); +float etk_editable_align_get(Evas_Object *editable); +void etk_editable_password_mode_set(Evas_Object *editable, Etk_Bool password_mode); +Etk_Bool etk_editable_password_mode_get(Evas_Object *editable); void etk_editable_text_set(Evas_Object *editable, const char *text); const char *etk_editable_text_get(Evas_Object *editable); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_entry.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- etk_entry.c 20 Oct 2006 17:51:44 -0000 1.21 +++ etk_entry.c 28 Nov 2006 21:40:07 -0000 1.22 @@ -73,7 +73,7 @@ ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_FALSE)); entry_type->property_set = _etk_entry_property_set; - entry_type->property_get = _etk_entry_property_get; + entry_type->property_get = _etk_entry_property_get; } return entry_type; @@ -481,7 +481,7 @@ if (!(entry = ETK_ENTRY(object))) return; - entry->selection_dragging = ETK_FALSE; + if (event->button == 1) { entry->selection_dragging = ETK_FALSE; @@ -609,6 +609,12 @@ } /** @} */ + +/************************** + * + * Documentation + * + **************************/ /** * @addtogroup Etk_Entry =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_scrollbar.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- etk_scrollbar.c 6 Oct 2006 17:04:14 -0000 1.16 +++ etk_scrollbar.c 28 Nov 2006 21:40:07 -0000 1.17 @@ -22,7 +22,7 @@ static void _etk_scrollbar_value_changed_handler(Etk_Range *range, double value); static void _etk_scrollbar_page_size_changed_cb(Etk_Object *object, const char *property_name, void *data); static void _etk_scrollbar_range_changed_cb(Etk_Object *object, const char *property_name, void *data); -static void _etk_scrollbar_mouse_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data); +static void _etk_scrollbar_mouse_wheel_cb(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data); static void _etk_scrollbar_scroll_start_cb(void *data, Evas_Object *obj, const char *emission, const char *source); static void _etk_scrollbar_scroll_stop_cb(void *data, Evas_Object *obj, const char *emission, const char *source); @@ -141,7 +141,7 @@ scrollbar->dragging = ETK_FALSE; ETK_RANGE(scrollbar)->value_changed = _etk_scrollbar_value_changed_handler; etk_signal_connect("realize", ETK_OBJECT(scrollbar), ETK_CALLBACK(_etk_scrollbar_realize_cb), NULL); - etk_signal_connect("mouse_wheel", ETK_OBJECT(scrollbar), ETK_CALLBACK(_etk_scrollbar_mouse_wheel), NULL); + etk_signal_connect("mouse_wheel", ETK_OBJECT(scrollbar), ETK_CALLBACK(_etk_scrollbar_mouse_wheel_cb), NULL); etk_object_notification_callback_add(ETK_OBJECT(scrollbar), "page_size", _etk_scrollbar_page_size_changed_cb, NULL); etk_object_notification_callback_add(ETK_OBJECT(scrollbar), "lower", _etk_scrollbar_range_changed_cb, NULL); etk_object_notification_callback_add(ETK_OBJECT(scrollbar), "upper", _etk_scrollbar_range_changed_cb, NULL); @@ -161,8 +161,9 @@ if (!object || !(theme_object = ETK_WIDGET(object)->theme_object)) return; - _etk_scrollbar_value_changed_handler(ETK_RANGE(object), ETK_RANGE(object)->value); + _etk_scrollbar_range_changed_cb(object, NULL, NULL); edje_object_signal_callback_add(theme_object, "drag*", "etk.dragable.bar", _etk_scrollbar_drag_dragged_cb, object); + /* TODO: change the signal name to "etk,action,scroll,down/up,start" and "etk,action,scroll,stop" */ edje_object_signal_callback_add(theme_object, "scroll_*_start", "", _etk_scrollbar_scroll_start_cb, object); edje_object_signal_callback_add(theme_object, "scroll_stop", "", _etk_scrollbar_scroll_stop_cb, object); } @@ -191,7 +192,7 @@ } /* Called when the user wants to scroll the scrollbar with the mouse wheel */ -static void _etk_scrollbar_mouse_wheel(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data) +static void _etk_scrollbar_mouse_wheel_cb(Etk_Object *object, Etk_Event_Mouse_Wheel *event, void *data) { Etk_Range *scrollbar_range; @@ -235,7 +236,10 @@ if (!(range = ETK_RANGE(object)) || !(theme_object = ETK_WIDGET(range)->theme_object)) return; - new_drag_size = (double)range->page_size / (range->upper - range->lower); + if (range->upper > range->lower) + new_drag_size = (double)range->page_size / (range->upper - range->lower); + else + new_drag_size = 1.0; if (ETK_IS_HSCROLLBAR(range)) edje_object_part_drag_size_set(theme_object, "etk.dragable.bar", new_drag_size, 0.0); else @@ -264,7 +268,10 @@ edje_object_part_drag_value_set(theme_object, "etk.dragable.bar", 0.0, percent); /* Update the size of the drag button */ - new_drag_size = (double)range->page_size / (range->upper - range->lower); + if (range->upper > range->lower) + new_drag_size = (double)range->page_size / (range->upper - range->lower); + else + new_drag_size = 1.0; if (ETK_IS_HSCROLLBAR(range)) edje_object_part_drag_size_set(theme_object, "etk.dragable.bar", new_drag_size, 0.0); else @@ -285,16 +292,11 @@ scrollbar->scrolling_timer = NULL; } + scrollbar->first_scroll = ETK_TRUE; if (strcmp(emission, "scroll_left_start") == 0 || strcmp(emission, "scroll_up_start") == 0) - { scrollbar->scrolling_timer = ecore_timer_add(0.0, _etk_scrollbar_step_decrement_cb, scrollbar); - scrollbar->first_scroll = ETK_TRUE; - } else if (strcmp(emission, "scroll_right_start") == 0 || strcmp(emission, "scroll_down_start") == 0) - { scrollbar->scrolling_timer = ecore_timer_add(0.0, _etk_scrollbar_step_increment_cb, scrollbar); - scrollbar->first_scroll = ETK_TRUE; - } } /* Called when the user stops pressing an arrow of the scrollbar */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_scrolled_view.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- etk_scrolled_view.h 2 Jun 2006 18:46:34 -0000 1.6 +++ etk_scrolled_view.h 28 Nov 2006 21:40:07 -0000 1.7 @@ -25,10 +25,10 @@ */ typedef enum Etk_Scrolled_View_Policy { + ETK_POLICY_AUTO, /**< The scrollbar is shown and hidden automatically whether or not the child can fit + * entirely in the scrolled view */ ETK_POLICY_SHOW, /**< The scrollbar is always visible */ ETK_POLICY_HIDE, /**< The scrollbar is always hidden */ - ETK_POLICY_AUTO /**< The scrollbar is shown and hidden automatically whether or not the child can fit - * entirely in the scrolled view */ } Etk_Scrolled_View_Policy; /** =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_types.h,v retrieving revision 1.57 retrieving revision 1.58 diff -u -3 -r1.57 -r1.58 --- etk_types.h 20 Oct 2006 17:51:44 -0000 1.57 +++ etk_types.h 28 Nov 2006 21:40:07 -0000 1.58 @@ -97,6 +97,7 @@ typedef struct _Etk_Slider Etk_Slider; typedef struct _Etk_HSlider Etk_HSlider; typedef struct _Etk_VSlider Etk_VSlider; +typedef struct Etk_Spinner Etk_Spinner; typedef struct Etk_Statusbar Etk_Statusbar; typedef struct _Etk_Table Etk_Table; typedef struct Etk_Text_View Etk_Text_View; @@ -113,6 +114,10 @@ typedef struct _Etk_Tree_Col Etk_Tree_Col; typedef struct _Etk_Tree_Model Etk_Tree_Model; typedef struct _Etk_Tree_Row Etk_Tree_Row; +typedef struct Etk_Tree2 Etk_Tree2; +typedef struct Etk_Tree2_Col Etk_Tree2_Col; +typedef struct Etk_Tree2_Model Etk_Tree2_Model; +typedef struct Etk_Tree2_Row Etk_Tree2_Row; typedef struct _Etk_Viewport Etk_Viewport; typedef struct Etk_Widget Etk_Widget; typedef struct _Etk_Window Etk_Window; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_widget.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -3 -r1.86 -r1.87 --- etk_widget.c 29 Oct 2006 11:39:54 -0000 1.86 +++ etk_widget.c 28 Nov 2006 21:40:07 -0000 1.87 @@ -2472,6 +2472,11 @@ evas_object_color_set(widget->content_object, 0, 0, 0, 0); evas_object_show(widget->content_object); edje_object_part_swallow(widget->theme_object, ETK_WIDGET_CONTENT_PART, widget->content_object); + + widget->inset.left = 0; + widget->inset.right = 0; + widget->inset.top = 0; + widget->inset.bottom = 0; } } else ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs