From: Enlightenment C. <no...@cv...> - 2006-04-07 15:36:58
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk Modified Files: TODO Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/TODO,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- TODO 12 Mar 2006 12:13:01 -0000 1.9 +++ TODO 7 Apr 2006 15:36:08 -0000 1.10 @@ -22,8 +22,7 @@ * Add a cache system to cache images used by the tree and the future iconbox in order to make the scrolling smoother [In progress: MoOm] * Allow the theme to change the color/font/style of the labels -* More API work for the tree (get a row according to (x,y) position, emit signals when a row is -clicked, double-clicked...) +* More API work for the tree (get a row according to (x,y) position...) * The filechooser still need to be finished/rewritten [In progress: MoOm] * More API work for the colorpicker. We need to be able to know the current color, and to know when a color is changed @@ -34,10 +33,8 @@ -------------------- * spinner [In progress: CodeWarrior] * textview [In progress: MoOm] -* combobox [In progress: MoOm] -* iconbox +* iconbox [In progress: MoOm] * toolbar * drag and drop [In progress: CodeWarrior] * copy and paste [In progress: CodeWarrior] -* signals in dialog * add spin buttons and sliders to colorpicker |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:36:58
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default Modified Files: default.edc Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/default.edc,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- default.edc 15 Mar 2006 10:04:34 -0000 1.18 +++ default.edc 7 Apr 2006 15:36:10 -0000 1.19 @@ -28,5 +28,6 @@ #include "widgets/progress_bar.edc" #include "widgets/spinner.edc" #include "widgets/combobox.edc" - #include "widgets/tooltips.edc" + #include "widgets/tooltips.edc" + #include "widgets/iconbox.edc" } |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:36:59
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/emblems Modified Files: emblem-favorite.png emblem-important.png emblem-photos.png emblem-readonly.png emblem-symbolic-link.png emblem-system.png emblem-unreadable.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-favorite.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsxaMtOA and /tmp/cvsRUYfOa differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-important.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsYfT8eD and /tmp/cvslvotid differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-photos.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsW1QOpG and /tmp/cvsVBoFug differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-readonly.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsEpi0bF and /tmp/cvsXGwnif differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-symbolic-link.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs471omI and /tmp/cvs1CDhui differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-system.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsgdW6XG and /tmp/cvsb4Lu7g differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emblems/emblem-unreadable.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsvdTvcQ and /tmp/cvs4FZXOq differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:36:59
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/categories Modified Files: applications-accessories.png applications-development.png applications-games.png applications-graphics.png applications-internet.png applications-multimedia.png applications-office.png applications-other.png applications-system.png preferences-desktop-peripherals.png preferences-desktop.png preferences-system.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-accessories.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsbucKna and /tmp/cvsVUf2HJ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-development.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs3ihcId and /tmp/cvsbpDf4M differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-games.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsl1Hkxc and /tmp/cvsvR6XUL differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-graphics.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsfXohIf and /tmp/cvsPdzr7O differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-internet.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs9k0Nue and /tmp/cvsz9SvVN differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-multimedia.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsFKa9Fh and /tmp/cvsrdTn8Q differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-office.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsfw0Urj and /tmp/cvsLVXl0S differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-other.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsw2k2cu and /tmp/cvsxr6X83 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/applications-system.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvstNQWRK and /tmp/cvsPT4w3k differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/preferences-desktop-peripherals.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsi2P3mJ and /tmp/cvst5QbAj differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/preferences-desktop.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsk8a2vK and /tmp/cvsFjSHKk differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/categories/preferences-system.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsi8NIFN and /tmp/cvs3J0UVn differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:36:59
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/emotes Modified Files: face-angel.png face-crying.png face-devil-grin.png face-glasses.png face-grin.png face-kiss.png face-sad.png face-smile-big.png face-smile.png face-surprise.png face-wink.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-angel.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsn6JMNL and /tmp/cvsnvAu4l differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-crying.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsE8WDEM and /tmp/cvs3xyUWm differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-devil-grin.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs6ZRZ6P and /tmp/cvsbCfMqq differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-glasses.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsKLtdBO and /tmp/cvsnwFwWo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-grin.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs6NW34R and /tmp/cvshZpUrs differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-kiss.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsyNkSzQ and /tmp/cvsnozgYq differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-sad.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsdzR7zQ and /tmp/cvsqFgbdr differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-smile-big.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsWYxLFb and /tmp/cvsyuRKPM differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-smile.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs6KP3Sm and /tmp/cvsemmUgY differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-surprise.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsBhOUnl and /tmp/cvsaNxiNW differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/emotes/face-wink.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsDVMEQo and /tmp/cvsoMEyh0 differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:00
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/images Modified Files: Makefile.am images.edc tree_header_active.png tree_header_inactive.png Added Files: hscrollbar_trough2.png iconbox_selection.png vscrollbar_trough2.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 12 Mar 2006 23:48:55 -0000 1.1 +++ Makefile.am 7 Apr 2006 15:36:10 -0000 1.2 @@ -87,4 +87,7 @@ hpaned_handle.png \ spinner_button_down1.png \ hpaned_separator.png \ - spinner_button_down2.png + spinner_button_down2.png \ + hscrollbar_trough2.png \ + vscrollbar_trough2.png \ + iconbox_selection.png =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/images.edc,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- images.edc 5 Mar 2006 23:52:58 -0000 1.22 +++ images.edc 7 Apr 2006 15:36:10 -0000 1.23 @@ -28,6 +28,8 @@ image: "vslider_bar.png" COMP; image: "hscrollbar_trough.png" COMP; image: "vscrollbar_trough.png" COMP; + image: "hscrollbar_trough2.png" COMP; + image: "vscrollbar_trough2.png" COMP; image: "scrollbar_button_left1.png" COMP; image: "scrollbar_button_left2.png" COMP; image: "scrollbar_button_right1.png" COMP; @@ -80,5 +82,6 @@ image: "notebook_frame.png" COMP; image: "combo_arrow.png" COMP; image: "tooltip.png" COMP; - image: "tooltip_border.png" COMP; + image: "tooltip_border.png" COMP; + image: "iconbox_selection.png" COMP; } =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/tree_header_active.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsYoxhLH and /tmp/cvsuMPGFj differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/tree_header_inactive.png,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 Binary files /tmp/cvsWu82zI and /tmp/cvssLGYvk differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:00
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/widgets Modified Files: Makefile.am combobox.edc menu.edc notebook.edc paned.edc tree.edc Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Makefile.am 12 Mar 2006 23:48:56 -0000 1.1 +++ Makefile.am 7 Apr 2006 15:36:10 -0000 1.2 @@ -18,4 +18,5 @@ text_view.edc \ frame.edc \ scrollbar.edc \ - toggle_button.edc + toggle_button.edc \ + iconbox.edc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/combobox.edc,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- combobox.edc 12 Mar 2006 12:13:01 -0000 1.3 +++ combobox.edc 7 Apr 2006 15:36:10 -0000 1.4 @@ -1,5 +1,5 @@ group { - name: "combobox"; + name: "combobox/button"; min: 0 32; data { item: "inset" "8 8 8 8"; @@ -42,6 +42,7 @@ } part { name: "combo_arrow"; + mouse_events: 0; description { state: "default" 0.0; rel1 { @@ -378,7 +379,7 @@ } group { - name: "combobox_window"; + name: "combobox/window"; data { item: "inset" "2 2 2 2"; } @@ -448,46 +449,10 @@ } } } - /*parts { - part { - name: "border"; - type: RECT; - description { - state: "default" 0.0; - color: 0 0 0 255; - rel1 { - relative: 0 0; - offset: 0 0; - } - rel2 { - relative: 1.0 1.0; - offset: -1 -1; - } - } - } - part { - name: "background"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - color: 255 255 255 255; - rel1 { - relative: 0 0; - offset: 1 1; - } - rel2 { - relative: 1.0 1.0; - offset: -2 -2; - } - } - } - }*/ } - group { - name: "combobox_item"; + name: "combobox/combobox_item"; data { item: "inset" "4 4 4 4"; } @@ -531,79 +496,6 @@ source: ""; action: STATE_SET "default" 0.0; target: "item_bg"; - } - } -} - -group { - name: "combobox_window"; - data { - item: "inset" "8 8 8 8"; - } - parts { - part { - name: "window_bg1"; - mouse_events: 0; - type: RECT; - description { - state: "default" 0.0; - color: 221 221 221 255; - rel1 { - relative: 0.0 1.0; - offset: 1 0; - to_y: "window_bg2"; - } - rel2 { - relative: 1.0 1.0; - offset: -2 -2; - } - } - } - part { - name: "window_bg2"; - mouse_events: 0; - description { - state: "default" 0.0; - max: 99999 48; - align: 0.5 0.0; - rel1 { - relative: 0.0 0.0; - offset: 1 1; - } - rel2 { - relative: 1.0 1.0; - offset: -2 -2; - } - image { - normal: "background.png"; - } - fill { - smooth: 0; - } - } - } - part { - name: "window_bg_border"; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { - relative: 0.0 0.0; - offset: 0 0; - } - rel2 { - relative: 1.0 1.0; - offset: -1 -1; - } - image { - normal: "border.png"; - border: 1 1 1 1; - middle: 0; - } - fill { - smooth: 0; - } - } } } } =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/menu.edc,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- menu.edc 4 Mar 2006 23:29:46 -0000 1.7 +++ menu.edc 7 Apr 2006 15:36:10 -0000 1.8 @@ -68,7 +68,7 @@ } } group { - name: "menu_item"; + name: "menu/menu_item"; parts { part { name: "item_rect"; @@ -656,7 +656,7 @@ } } group { - name: "menu_bar_item"; + name: "menu_bar/menu_item"; parts { part { name: "item_rect"; @@ -1110,7 +1110,7 @@ } } group { - name: "menu_check"; + name: "menu_item/checkbox"; parts { part { name: "check"; @@ -1158,7 +1158,7 @@ } } group { - name: "menu_radio"; + name: "menu_item/radiobox"; parts { part { name: "radio"; @@ -1206,7 +1206,7 @@ } } group { - name: "menu_separator"; + name: "menu/separator"; parts { part { name: "separator"; =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/notebook.edc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- notebook.edc 4 Mar 2006 23:29:46 -0000 1.5 +++ notebook.edc 7 Apr 2006 15:36:10 -0000 1.6 @@ -1,5 +1,5 @@ group { - name: "notebook_tab"; + name: "notebook/tab"; min: 20 26; parts { part { @@ -186,7 +186,7 @@ } } group { - name: "notebook_frame"; + name: "notebook/frame"; data { item: "inset" "6 6 6 6"; } =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/paned.edc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- paned.edc 20 Dec 2005 18:25:27 -0000 1.5 +++ paned.edc 7 Apr 2006 15:36:10 -0000 1.6 @@ -1,5 +1,5 @@ group { - name: "hpaned"; + name: "hpaned/separator"; min: 7 60; parts { part { @@ -92,7 +92,7 @@ } group { - name: "vpaned"; + name: "vpaned/separator"; min: 60 7; parts { part { =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/tree.edc,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- tree.edc 28 Mar 2006 07:24:57 -0000 1.15 +++ tree.edc 7 Apr 2006 15:36:10 -0000 1.16 @@ -1,5 +1,5 @@ group { - name: "tree"; + name: "tree/grid"; data { item: "inset" "8 8 8 8"; item: "separator_color" "204 204 204 140"; @@ -9,7 +9,7 @@ } parts { part { - name: "tree"; + name: "border"; description { state: "default" 0.0; rel1 { @@ -23,14 +23,31 @@ image { normal: "tree.png"; border: 8 8 8 8; + middle: 0; } fill { smooth: 0; } } } - FOCUS_GLOW(0.0, 0.0, -1, -1, "tree", 1.0, 1.0, 0, 0, "tree") - DRAG_GLOW(0.0, 0.0, -1, -1, "tree", 1.0, 1.0, 0, 0, "tree"); + part { + name: "middle"; + type: RECT; + description { + state: "default" 0.0; + color: 255 255 255 255; + rel1 { + relative: 0.0 0.0; + offset: 8 8; + } + rel2 { + relative: 1.0 1.0; + offset: -9 -9; + } + } + } + FOCUS_GLOW(0.0, 0.0, -1, -1, "border", 1.0, 1.0, 0, 0, "border") + DRAG_GLOW(0.0, 0.0, -1, -1, "border", 1.0, 1.0, 0, 0, "border"); } programs { program { @@ -66,7 +83,7 @@ } } group { - name: "tree_row"; + name: "tree/row"; parts { part { name: "row"; @@ -154,7 +171,7 @@ } } group { - name: "tree_expander"; + name: "tree/expander"; parts { part { name: "expander_arrow"; @@ -205,7 +222,7 @@ } } group { - name: "tree_header"; + name: "tree/header"; data { item: "inset" "5 5 5 5"; } @@ -224,7 +241,7 @@ } image { normal: "tree_header_inactive.png"; - border: 2 2 2 3; + border: 2 2 2 2; } fill { smooth: 0; @@ -235,6 +252,7 @@ inherit: "default" 0.0; image { normal: "tree_header_active.png"; + border: 2 2 2 8; } fill { smooth: 0; @@ -260,7 +278,7 @@ } } group { - name: "tree_checkbox"; + name: "tree/checkbox"; min: 20 20; parts { part { |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:00
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/status Modified Files: battery-caution.png dialog-error.png dialog-information.png dialog-warning.png folder-drag-accept.png folder-open.png folder-visiting.png image-loading.png image-missing.png mail-attachment.png network-wireless-encrypted.png user-trash-full.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/battery-caution.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsKkvyPi and /tmp/cvsYNzWaU differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/dialog-error.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsZewLaF and /tmp/cvsarD90g differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/dialog-information.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsRMzRZN and /tmp/cvsY8jH7p differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/dialog-warning.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvs0RJCpS and /tmp/cvs6pYyEu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/folder-drag-accept.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsySuIyT and /tmp/cvsCwvdPv differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/folder-open.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsrhesMN and /tmp/cvsrIta5p differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/folder-visiting.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvscoQCAM and /tmp/cvs368cVo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/image-loading.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsuj9DkT and /tmp/cvstK11Lv differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/image-missing.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvs4SP5NR and /tmp/cvs19M3uu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/mail-attachment.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsTOFmXf and /tmp/cvsJdlY1S differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/network-wireless-encrypted.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsb6Mfpk and /tmp/cvsrUbAAX differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/status/user-trash-full.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsMJu2Mn and /tmp/cvsj7yZZ0 differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:02
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/lib Modified Files: Etk.h Makefile.am etk_alignment.c etk_alignment.h etk_bin.c etk_box.c etk_box.h etk_button.c etk_button.h etk_cache.c etk_cache.h etk_check_button.c etk_check_button.h etk_combobox.c etk_container.c etk_container.h etk_dialog.c etk_dialog.h etk_frame.c etk_frame.h etk_hbox.c etk_hbox.h etk_image.c etk_image.h etk_label.c etk_main.c etk_menu.c etk_menu.h etk_menu_bar.c etk_menu_item.c etk_menu_shell.c etk_menu_shell.h etk_message_dialog.c etk_message_dialog.h etk_notebook.c etk_notebook.h etk_paned.c etk_popup_window.c etk_popup_window.h etk_progress_bar.h etk_property.c etk_property.h etk_radio_button.h etk_range.c etk_range.h etk_scrollbar.c etk_scrollbar.h etk_scrolled_view.c etk_scrolled_view.h etk_separator.c etk_separator.h etk_signal.h etk_slider.c etk_spin_button.c etk_stock.c etk_stock.h etk_string.c etk_table.c etk_table.h etk_theme.c etk_theme.h etk_toggle_button.c etk_toggle_button.h etk_toplevel_widget.c etk_toplevel_widget.h etk_tree.c etk_tree.h etk_tree_model.c etk_types.h etk_vbox.c etk_vbox.h etk_viewport.c etk_widget.c etk_widget.h etk_window.h Added Files: etk_iconbox.c etk_iconbox.h Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/Etk.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- Etk.h 28 Mar 2006 07:24:57 -0000 1.28 +++ Etk.h 7 Apr 2006 15:36:10 -0000 1.29 @@ -70,5 +70,6 @@ #include "etk_argument.h" #include "etk_tooltips.h" #include "etk_message_dialog.h" +#include "etk_iconbox.h" #endif =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/Makefile.am,v retrieving revision 1.33 retrieving revision 1.34 diff -u -3 -r1.33 -r1.34 --- Makefile.am 28 Mar 2006 07:24:57 -0000 1.33 +++ Makefile.am 7 Apr 2006 15:36:10 -0000 1.34 @@ -52,7 +52,8 @@ etk_drag.h \ etk_argument.h \ etk_tooltips.h \ -etk_message_dialog.h +etk_message_dialog.h \ +etk_iconbox.h libetk_la_SOURCES = \ etk_main.c etk_utils.c \ @@ -92,6 +93,7 @@ etk_argument.c \ etk_tooltips.c \ etk_message_dialog.c \ +etk_iconbox.c \ $(ETKHEADERS) installed_headersdir = $(prefix)/include/etk =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_alignment.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_alignment.c 11 Nov 2005 22:48:48 -0000 1.3 +++ etk_alignment.c 7 Apr 2006 15:36:10 -0000 1.4 @@ -2,9 +2,10 @@ #include "etk_alignment.h" #include <stdlib.h> #include "etk_utils.h" + /** * @addtogroup Etk_Alignment -* @{ + * @{ */ enum _Etk_Alignment_Property_Id @@ -116,17 +117,14 @@ */ void etk_alignment_get(Etk_Alignment *alignment, float *xalign, float *yalign, float *xscale, float *yscale) { - if (!alignment) - return; - if (xalign) - *xalign = alignment->xalign; + *xalign = alignment ? alignment->xalign : 0; if (yalign) - *yalign = alignment->yalign; + *yalign = alignment ? alignment->yalign : 0; if (xscale) - *xscale = alignment->xscale; + *xscale = alignment ? alignment->xscale : 0; if (yscale) - *yscale = alignment->yscale; + *yscale = alignment ? alignment->yscale : 0; } /************************** =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_alignment.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_alignment.h 1 Oct 2005 16:29:45 -0000 1.1 +++ etk_alignment.h 7 Apr 2006 15:36:10 -0000 1.2 @@ -17,6 +17,10 @@ /** @brief Checks if the object is an Etk_Alignment */ #define ETK_IS_ALIGNMENT(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_ALIGNMENT_TYPE)) +/** + * @struct Etk_Alignment + * @brief An Etk_Alignment is a container that can contain one child which can be aligned and scaled inside the container + */ struct _Etk_Alignment { /* private: */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_bin.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- etk_bin.c 28 Mar 2006 07:24:57 -0000 1.8 +++ etk_bin.c 7 Apr 2006 15:36:10 -0000 1.9 @@ -66,9 +66,6 @@ if (child) { - if (child->parent && ETK_IS_CONTAINER(child->parent)) - etk_container_remove(ETK_CONTAINER(child->parent), child); - etk_signal_connect("realize", ETK_OBJECT(child), ETK_CALLBACK(_etk_bin_child_realize_cb), bin); etk_widget_parent_set(child, ETK_WIDGET(bin)); bin->child = child; @@ -169,7 +166,7 @@ if (!(bin = ETK_BIN(container)) || !widget || bin->child != widget) return; - etk_widget_parent_set(widget, NULL); + etk_widget_parent_set_full(widget, NULL, ETK_FALSE); etk_signal_disconnect("realize", ETK_OBJECT(bin->child), ETK_CALLBACK(_etk_bin_child_realize_cb)); bin->child = NULL; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_box.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- etk_box.c 4 Mar 2006 18:04:10 -0000 1.8 +++ etk_box.c 7 Apr 2006 15:36:11 -0000 1.9 @@ -53,12 +53,12 @@ } /** - * @brief Adds the child to the start of the box + * @brief Adds the child at the start of the box * @param box a box * @param child the child to add - * @param expand if @a expand == ETK_TRUE, the cell where the child will be will take all the available space + * @param expand if @a expand == ETK_TRUE, the cell that contains the child will take all the available space * @param fill if @a fill == ETK_TRUE, the child will take all the available space in its cell - * @param padding the size of the space on the sides of the child + * @param padding the size of the free space on the sides of the child */ void etk_box_pack_start(Etk_Box *box, Etk_Widget *child, Etk_Bool expand, Etk_Bool fill, int padding) { @@ -66,12 +66,12 @@ } /** - * @brief Adds the child to the end of the box + * @brief Adds the child at the end of the box * @param box a box * @param child the child to add - * @param expand if @a expand == ETK_TRUE, the cell where the child will be will take all the available space + * @param expand if @a expand == ETK_TRUE, the cell that contains the child will take all the available space * @param fill if @a fill == ETK_TRUE, the child will take all the available space in its cell - * @param padding the size of the space on the sides of the child + * @param padding the size of the free space on the sides of the child */ void etk_box_pack_end(Etk_Box *box, Etk_Widget *child, Etk_Bool expand, Etk_Bool fill, int padding) { @@ -272,7 +272,7 @@ free(widget->child_properties); widget->child_properties = NULL; box->children = evas_list_remove(box->children, widget); - etk_widget_parent_set(widget, NULL); + etk_widget_parent_set_full(widget, NULL, ETK_FALSE); etk_widget_size_recalc_queue(ETK_WIDGET(box)); } @@ -301,9 +301,6 @@ if (!box || !child) return; - /* TODO: con_remove */ - if (child->parent && ETK_IS_CONTAINER(child->parent)) - etk_container_remove(ETK_CONTAINER(child->parent), child); child_props = malloc(sizeof(Etk_Box_Child_Props)); child_props->expand = expand; child_props->fill = fill; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_box.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_box.h 11 Feb 2006 00:28:33 -0000 1.2 +++ etk_box.h 7 Apr 2006 15:36:11 -0000 1.3 @@ -18,17 +18,22 @@ /** @brief Checks if the object is an Etk_Box */ #define ETK_IS_BOX(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_BOX_TYPE)) -typedef struct _Etk_Box_Child_Props +/** + * @struct Etk_Box_Child_Props + * @brief Describes how a child of the box should expand, fill (...) the allocated space + * @note You can change directly those values, but you'll then have to call @a etk_widget_size_recalc() on the bin + */ +struct _Etk_Box_Child_Props { int padding; Etk_Bool expand; Etk_Bool fill; Etk_Bool pack_end; -} Etk_Box_Child_Props; +}; /** * @struct Etk_Box - * @brief An Etk_Box is a container that can contain several children in an unique direction (horizontal of vertical) + * @brief An Etk_Box is a container that can contain several children packed in one direction (horizontal of vertical) */ struct _Etk_Box { =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_button.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- etk_button.c 28 Mar 2006 07:24:57 -0000 1.12 +++ etk_button.c 7 Apr 2006 15:36:11 -0000 1.13 @@ -34,6 +34,7 @@ static void _etk_button_constructor(Etk_Button *button); static void _etk_button_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value); static void _etk_button_property_get(Etk_Object *object, int property_id, Etk_Property_Value *value); +static void _etk_button_realize_cb(Etk_Object *object, void *data); static void _etk_button_image_removed_cb(Etk_Object *object, Etk_Widget *child, void *data); static void _etk_button_key_down_cb(Etk_Object *object, void *event, void *data); static void _etk_button_key_up_cb(Etk_Object *object, void *event, void *data); @@ -43,7 +44,7 @@ static void _etk_button_pressed_handler(Etk_Button *button); static void _etk_button_released_handler(Etk_Button *button); static void _etk_button_clicked_handler(Etk_Button *button); -static void _etk_button_child_create(Etk_Button *button); +static void _etk_button_children_create(Etk_Button *button); static Etk_Signal *_etk_button_signals[ETK_BUTTON_NUM_SIGNALS]; @@ -105,49 +106,47 @@ * @return Returns the new button widget * @see Etk_Stock */ -/* Todo button_stock_set */ Etk_Widget *etk_button_new_from_stock(Etk_Stock_Id stock_id) { Etk_Widget *button; - Etk_Widget *image; - char *label; - image = etk_image_new_from_stock(stock_id, ETK_STOCK_SMALL); - etk_widget_visibility_locked_set(image, ETK_TRUE); - label = etk_stock_label_get(stock_id); - button = etk_button_new_with_label(_(label)); - etk_button_image_set(ETK_BUTTON(button), ETK_IMAGE(image)); + button = etk_button_new(); + etk_button_set_from_stock(ETK_BUTTON(button), stock_id); return button; } /** - * @brief Sends the "pressed" signal + * @brief Presses the button (the button should be released) * @param button a button */ -void etk_button_pressed(Etk_Button *button) +void etk_button_press(Etk_Button *button) { - if (!button) + if (!button || button->is_pressed) return; + + button->is_pressed = ETK_TRUE; etk_signal_emit(_etk_button_signals[ETK_BUTTON_PRESSED_SIGNAL], ETK_OBJECT(button), NULL); } /** - * @brief Sends the "released" signal + * @brief Releases the button (the button should be pressed) * @param button a button */ -void etk_button_released(Etk_Button *button) +void etk_button_release(Etk_Button *button) { - if (!button) + if (!button || !button->is_pressed) return; + + button->is_pressed = ETK_FALSE; etk_signal_emit(_etk_button_signals[ETK_BUTTON_RELEASED_SIGNAL], ETK_OBJECT(button), NULL); } /** - * @brief Sends the "clicked" signal + * @brief Clicks the button * @param button a button */ -void etk_button_clicked(Etk_Button *button) +void etk_button_click(Etk_Button *button) { if (!button) return; @@ -167,7 +166,10 @@ return; etk_label_set(ETK_LABEL(button->label), label); - _etk_button_child_create(button); + if (!label || *label == '\0') + etk_widget_hide(button->label); + else + etk_widget_show(button->label); } /** @@ -189,11 +191,17 @@ */ void etk_button_image_set(Etk_Button *button, Etk_Image *image) { - if (!button) + if (!button || button->image == image) return; + + if (button->image) + { + etk_signal_disconnect("child_removed", ETK_OBJECT(button->hbox), ETK_CALLBACK(_etk_button_image_removed_cb)); + etk_container_remove(ETK_CONTAINER(button->hbox), ETK_WIDGET(button->image)); + } button->image = image; - _etk_button_child_create(button); + _etk_button_children_create(button); etk_object_notify(ETK_OBJECT(button), "image"); } @@ -210,6 +218,27 @@ } /** + * @brief Sets the label and the image of the button from the stock id + * @param button a button + * @param stock_id the stock id to use + */ +void etk_button_set_from_stock(Etk_Button *button, Etk_Stock_Id stock_id) +{ + Etk_Widget *image; + char *label; + + if (!button) + return; + + image = etk_image_new_from_stock(stock_id, ETK_STOCK_SMALL); + etk_widget_show(image); + etk_widget_visibility_locked_set(image, ETK_TRUE); + label = etk_stock_label_get(stock_id); + etk_button_label_set(button, label); + etk_button_image_set(ETK_BUTTON(button), ETK_IMAGE(image)); +} + +/** * @brief Sets the alignment of the child of the button, if it's a label or an alignment * @param button a button * @param xalign the horizontal alignment (0.0 = left, 0.5 = center, 1.0 = right, ...) @@ -256,13 +285,10 @@ */ void etk_button_alignment_get(Etk_Button *button, float *xalign, float *yalign) { - if (!button) - return; - if (xalign) - *xalign = button->xalign; + *xalign = button ? button->xalign : 0; if (yalign) - *yalign = button->yalign; + *yalign = button ? button->yalign : 0; } /************************** @@ -291,9 +317,12 @@ button->released = _etk_button_released_handler; button->clicked = _etk_button_clicked_handler; + button->image_size = 16; + button->is_pressed = ETK_FALSE; button->xalign = 0.5; button->yalign = 0.5; + etk_signal_connect("realize", ETK_OBJECT(button), ETK_CALLBACK(_etk_button_realize_cb), NULL); etk_signal_connect("key_down", ETK_OBJECT(button), ETK_CALLBACK(_etk_button_key_down_cb), NULL); etk_signal_connect("key_up", ETK_OBJECT(button), ETK_CALLBACK(_etk_button_key_up_cb), NULL); etk_signal_connect("mouse_down", ETK_OBJECT(button), ETK_CALLBACK(_etk_button_mouse_down_cb), NULL); @@ -360,6 +389,23 @@ * **************************/ +/* Called when the button is realized */ +static void _etk_button_realize_cb(Etk_Object *object, void *data) +{ + Etk_Button *button; + + if (!(button = ETK_BUTTON(object))) + return; + + if (etk_widget_theme_object_data_get(ETK_WIDGET(button), "image_size", "%d", &button->image_size) != 1) + button->image_size = 16; + if (button->image) + etk_widget_size_request_set(ETK_WIDGET(button->image), button->image_size, button->image_size); + + if (button->is_pressed) + etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "pressed"); +} + /* Called when the image is removed from the hbox */ static void _etk_button_image_removed_cb(Etk_Object *object, Etk_Widget *child, void *data) { @@ -368,7 +414,7 @@ if (!(button = ETK_BUTTON(data)) || (child != ETK_WIDGET(button->image))) return; button->image = NULL; - _etk_button_child_create(button); + _etk_button_children_create(button); } /* Called when the user presses a key */ @@ -382,7 +428,7 @@ if (strcmp(key_event->key, "space") == 0) { - etk_button_pressed(button); + etk_button_press(button); etk_widget_key_event_propagation_stop(); } } @@ -398,8 +444,11 @@ if (strcmp(key_event->key, "space") == 0) { - etk_button_released(button); - etk_button_clicked(button); + if (button->is_pressed) + { + etk_button_release(button); + etk_button_click(button); + } etk_widget_key_event_propagation_stop(); } } @@ -414,15 +463,7 @@ etk_widget_focus(ETK_WIDGET(button)); if (event->button == 1) - etk_button_pressed(button); -} - -/* Default handler for the "pressed" signal */ -static void _etk_button_pressed_handler(Etk_Button *button) -{ - if (!button) - return; - etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "pressed"); + etk_button_press(button); } /* Called when the user releases the button */ @@ -434,15 +475,7 @@ return; if (event->button == 1) - etk_button_released(button); -} - -/* Default handler for the "released" signal */ -static void _etk_button_released_handler(Etk_Button *button) -{ - if (!button) - return; - etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "released"); + etk_button_release(button); } /* Called when the uses clicks on the button with the mouse */ @@ -454,7 +487,23 @@ return; if (event->button == 1) - etk_button_clicked(button); + etk_button_click(button); +} + +/* Default handler for the "pressed" signal */ +static void _etk_button_pressed_handler(Etk_Button *button) +{ + if (!button) + return; + etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "pressed"); +} + +/* Default handler for the "released" signal */ +static void _etk_button_released_handler(Etk_Button *button) +{ + if (!button) + return; + etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "released"); } /* Default handler for the "clicked" signal */ @@ -465,8 +514,8 @@ etk_widget_theme_object_signal_emit(ETK_WIDGET(button), "clicked"); } -/* Creates the child of the button */ -static void _etk_button_child_create(Etk_Button *button) +/* Creates the children of the button */ +static void _etk_button_children_create(Etk_Button *button) { if (!button) return; @@ -478,36 +527,28 @@ button->alignment = etk_alignment_new(button->xalign, button->yalign, 0.0, 0.0); etk_widget_visibility_locked_set(button->alignment, ETK_TRUE); etk_widget_pass_mouse_events_set(button->alignment, ETK_TRUE); + etk_widget_show(button->alignment); + etk_container_add(ETK_CONTAINER(button), button->alignment); } - etk_container_add(ETK_CONTAINER(button), button->alignment); - etk_widget_show(button->alignment); - /* TODO: do we really need to destroy the hbox?? */ - if (button->hbox) + if (!button->hbox) { - etk_container_remove(ETK_CONTAINER(button->hbox), ETK_WIDGET(button->image)); - etk_container_remove(ETK_CONTAINER(button->hbox), button->label); - etk_object_destroy(ETK_OBJECT(button->hbox)); + button->hbox = etk_hbox_new(ETK_FALSE, 8); + etk_widget_visibility_locked_set(button->hbox, ETK_TRUE); + etk_widget_pass_mouse_events_set(button->hbox, ETK_TRUE); + etk_widget_show(button->hbox); + etk_container_add(ETK_CONTAINER(button->alignment), button->hbox); + etk_signal_connect("child_removed", ETK_OBJECT(button->hbox), ETK_CALLBACK(_etk_button_image_removed_cb), button); + + etk_label_alignment_set(ETK_LABEL(button->label), 0.0, 0.5); + etk_box_pack_end(ETK_BOX(button->hbox), button->label, ETK_FALSE, ETK_FALSE, 0); } - button->hbox = etk_hbox_new(ETK_FALSE, 8); - etk_widget_visibility_locked_set(button->hbox, ETK_TRUE); - etk_widget_pass_mouse_events_set(button->hbox, ETK_TRUE); - etk_container_add(ETK_CONTAINER(button->alignment), button->hbox); - etk_widget_show(button->hbox); - etk_signal_connect("child_removed", ETK_OBJECT(button->hbox), ETK_CALLBACK(_etk_button_image_removed_cb), button); etk_box_pack_start(ETK_BOX(button->hbox), ETK_WIDGET(button->image), ETK_FALSE, ETK_FALSE, 0); etk_widget_pass_mouse_events_set(ETK_WIDGET(button->image), ETK_TRUE); - etk_widget_size_request_set(ETK_WIDGET(button->image), 16, 16); - etk_widget_show(ETK_WIDGET(button->image)); - - if (button->label) - { - etk_box_pack_end(ETK_BOX(button->hbox), button->label, ETK_FALSE, ETK_FALSE, 0); - etk_widget_show(button->label); - } + etk_widget_size_request_set(ETK_WIDGET(button->image), button->image_size, button->image_size); } - else if (button->label) + else { if (button->alignment) { @@ -520,11 +561,9 @@ button->hbox = NULL; } + etk_label_alignment_set(ETK_LABEL(button->label), button->xalign, button->yalign); etk_container_add(ETK_CONTAINER(button), button->label); - etk_widget_show(ETK_WIDGET(button->label)); } - - etk_button_alignment_set(button, button->xalign, button->yalign); } /** @} */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_button.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_button.h 2 Nov 2005 10:41:03 -0000 1.2 +++ etk_button.h 7 Apr 2006 15:36:11 -0000 1.3 @@ -18,6 +18,10 @@ /** @brief Checks if the object is an Etk_Button */ #define ETK_IS_BUTTON(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_BUTTON_TYPE)) +/** + * @struct Etk_Button + * @brief An Etk_Button is a widget that can be pressed, released, clicked... + */ struct _Etk_Button { /* private: */ @@ -33,6 +37,8 @@ void (*released)(Etk_Button *button); void (*clicked)(Etk_Button *button); + int image_size; + Etk_Bool is_pressed; float xalign; float yalign; }; @@ -42,15 +48,17 @@ Etk_Widget *etk_button_new_with_label(const char *label); Etk_Widget *etk_button_new_from_stock(Etk_Stock_Id stock_id); -void etk_button_pressed(Etk_Button *button); -void etk_button_released(Etk_Button *button); -void etk_button_clicked(Etk_Button *button); +void etk_button_press(Etk_Button *button); +void etk_button_release(Etk_Button *button); +void etk_button_click(Etk_Button *button); void etk_button_label_set(Etk_Button *button, const char *label); const char *etk_button_label_get(Etk_Button *button); void etk_button_image_set(Etk_Button *button, Etk_Image *image); Etk_Image *etk_button_image_get(Etk_Button *button); + +void etk_button_set_from_stock(Etk_Button *button, Etk_Stock_Id stock_id); void etk_button_alignment_set(Etk_Button *button, float xalign, float yalign); void etk_button_alignment_get(Etk_Button *button, float *xalign, float *yalign); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_cache.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_cache.c 4 Mar 2006 18:04:10 -0000 1.3 +++ etk_cache.c 7 Apr 2006 15:36:11 -0000 1.4 @@ -5,6 +5,11 @@ #include <Edje.h> #include "etk_utils.h" +/** + * @addtogroup Etk_Cache + * @{ + */ + typedef struct _Etk_Cache_Image_Object_Item { char *filename; @@ -38,7 +43,7 @@ static void _etk_cache_system_clean(Etk_Cache_System *cache_system); static char *_etk_cache_edje_key_generate(const char *filename, const char *group); -Evas_List *_etk_cache_systems = NULL; +static Evas_List *_etk_cache_systems = NULL; /************************** * @@ -154,6 +159,8 @@ new_item = malloc(sizeof(Etk_Cache_Image_Object_Item)); new_item->filename = strdup(filename); new_item->image_object = image_object; + evas_object_color_set(new_item->image_object, 255, 255, 255, 255); + evas_object_clip_unset(new_item->image_object); evas_object_hide(new_item->image_object); if ((item_list = evas_hash_find(cache_system->image_object_hash, new_item->filename))) @@ -292,6 +299,8 @@ new_item->group = strdup(group); new_item->state = ETK_MIN(state, -1); new_item->edje_object = edje_object; + evas_object_color_set(new_item->edje_object, 255, 255, 255, 255); + evas_object_clip_unset(new_item->edje_object); evas_object_hide(new_item->edje_object); key = _etk_cache_edje_key_generate(new_item->filename, new_item->group); @@ -520,6 +529,7 @@ Etk_Cache_Image_Object_Item *image_item; Etk_Cache_Edje_Object_Item *edje_item; Evas_List *l, *l2, *items; + char *key; int count; if (!cache_system) @@ -553,14 +563,15 @@ { edje_item = l->data; - /* TODO: del by filename ?! */ - if ((items = evas_hash_find(cache_system->edje_object_hash, edje_item->filename))) + key = _etk_cache_edje_key_generate(edje_item->filename, edje_item->group); + if ((items = evas_hash_find(cache_system->edje_object_hash, key))) { if ((items = evas_list_remove(items, edje_item))) - evas_hash_modify(cache_system->edje_object_hash, edje_item->filename, items); + evas_hash_modify(cache_system->edje_object_hash, key, items); else - cache_system->edje_object_hash = evas_hash_del(cache_system->edje_object_hash, edje_item->filename, NULL); + cache_system->edje_object_hash = evas_hash_del(cache_system->edje_object_hash, key, NULL); } + free(key); evas_object_del(edje_item->edje_object); free(edje_item->filename); @@ -584,3 +595,5 @@ sprintf(key, "%s/%s", filename, group); return key; } + +/** @} */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_cache.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_cache.h 11 Feb 2006 00:28:33 -0000 1.1 +++ etk_cache.h 7 Apr 2006 15:36:11 -0000 1.2 @@ -4,6 +4,11 @@ #include <Evas.h> +/** + * @defgroup Etk_Cache Etk_Cache + * @{ + */ + void etk_cache_shutdown(); void etk_cache_empty(Evas *evas); @@ -22,5 +27,6 @@ Evas_Object *etk_cache_edje_object_find(Evas *evas, const char *filename, const char *group); Evas_Object *etk_cache_edje_object_find_with_state(Evas *evas, const char *filename, const char *group, int state); +/** @} */ #endif =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_check_button.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_check_button.c 11 Feb 2006 14:21:13 -0000 1.4 +++ etk_check_button.c 7 Apr 2006 15:36:11 -0000 1.5 @@ -4,7 +4,7 @@ /** * @addtogroup Etk_Check_Button -* @{ + * @{ */ /************************** =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_check_button.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_check_button.h 1 Oct 2005 16:29:45 -0000 1.1 +++ etk_check_button.h 7 Apr 2006 15:36:11 -0000 1.2 @@ -17,6 +17,10 @@ /** @brief Checks if the object is an Etk_Check_Button */ #define ETK_IS_CHECK_BUTTON(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_CHECK_BUTTON_TYPE)) +/** + * @struct Etk_Check_Button + * @brief An Etk_Check_Button is a button that can be checked and unckecked + */ struct _Etk_Check_Button { /* private: */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_combobox.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- etk_combobox.c 28 Mar 2006 07:24:57 -0000 1.5 +++ etk_combobox.c 7 Apr 2006 15:36:11 -0000 1.6 @@ -69,14 +69,11 @@ if (!combobox_type) { - combobox_type = etk_type_new("Etk_Combobox", ETK_WIDGET_TYPE, sizeof(Etk_Combobox), - ETK_CONSTRUCTOR(_etk_combobox_constructor), ETK_DESTRUCTOR(_etk_combobox_destructor)); + combobox_type = etk_type_new("Etk_Combobox", ETK_WIDGET_TYPE, sizeof(Etk_Combobox), ETK_CONSTRUCTOR(_etk_combobox_constructor), ETK_DESTRUCTOR(_etk_combobox_destructor)); - _etk_combobox_signals[ETK_COMBOBOX_ACTIVE_ITEM_CHANGED_SIGNAL] = etk_signal_new("active_item_changed", - combobox_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); + _etk_combobox_signals[ETK_COMBOBOX_ACTIVE_ITEM_CHANGED_SIGNAL] = etk_signal_new("active_item_changed", combobox_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); - etk_type_property_add(combobox_type, "active_item", ETK_COMBOBOX_ACTIVE_ITEM_PROPERTY, - ETK_PROPERTY_POINTER, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_pointer(NULL)); + etk_type_property_add(combobox_type, "active_item", ETK_COMBOBOX_ACTIVE_ITEM_PROPERTY, ETK_PROPERTY_POINTER, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_pointer(NULL)); combobox_type->property_set = _etk_combobox_property_set; combobox_type->property_get = _etk_combobox_property_get; @@ -94,10 +91,7 @@ static Etk_Type *combobox_item_type = NULL; if (!combobox_item_type) - { - combobox_item_type = etk_type_new("Etk_Combobox_Item", ETK_WIDGET_TYPE, sizeof(Etk_Combobox_Item), - NULL, ETK_DESTRUCTOR(_etk_combobox_item_destructor)); - } + combobox_item_type = etk_type_new("Etk_Combobox_Item", ETK_WIDGET_TYPE, sizeof(Etk_Combobox_Item), NULL, ETK_DESTRUCTOR(_etk_combobox_item_destructor)); return combobox_item_type; } @@ -108,7 +102,7 @@ */ Etk_Widget *etk_combobox_new() { - return etk_widget_new(ETK_COMBOBOX_TYPE, "focusable", ETK_TRUE, "focus_on_press", ETK_TRUE, NULL); + return etk_widget_new(ETK_COMBOBOX_TYPE, "theme_group", "combobox", "focusable", ETK_TRUE, "focus_on_press", ETK_TRUE, NULL); } /** @@ -434,12 +428,13 @@ if (!combobox) return; - combobox->button = etk_widget_new(ETK_TOGGLE_BUTTON_TYPE, "theme_group", "combobox", "visible", ETK_TRUE, + combobox->button = etk_widget_new(ETK_TOGGLE_BUTTON_TYPE, "theme_group", "button", "visible", ETK_TRUE, "repeat_mouse_events", ETK_TRUE, "visibility_locked", ETK_TRUE, NULL); etk_widget_parent_set(combobox->button, ETK_WIDGET(combobox)); etk_signal_connect("toggled", ETK_OBJECT(combobox->button), ETK_CALLBACK(_etk_combobox_button_toggled_cb), combobox); - combobox->window = ETK_POPUP_WINDOW(etk_widget_new(ETK_POPUP_WINDOW_TYPE, "theme_group", "combobox_window", NULL)); + combobox->window = ETK_POPUP_WINDOW(etk_widget_new(ETK_POPUP_WINDOW_TYPE, "theme_group", "window", NULL)); + etk_widget_theme_parent_set(ETK_WIDGET(combobox->window), ETK_WIDGET(combobox)); etk_object_data_set(ETK_OBJECT(combobox->window), "_Etk_Combobox_Window::Combobox", combobox); etk_signal_connect("popped_down", ETK_OBJECT(combobox->window), ETK_CALLBACK(_etk_combobox_window_popped_down_cb), combobox); etk_signal_connect("key_down", ETK_OBJECT(combobox->window), ETK_CALLBACK(_etk_combobox_window_key_down_cb), combobox); @@ -857,11 +852,7 @@ else if (strcmp(event->keyname, "Return") == 0 || strcmp(event->keyname, "space") == 0 || strcmp(event->keyname, "KP_Enter") == 0) { if (combobox->selected_item) - { etk_combobox_active_item_set(combobox, combobox->selected_item); - if (strcmp(event->keyname, "Return") == 0 || strcmp(event->keyname, "KP_Enter") == 0) - etk_popup_window_popdown(combobox->window); - } } else if (strcmp(event->keyname, "Escape") == 0) etk_popup_window_popdown(combobox->window); @@ -897,7 +888,6 @@ if (!(item = ETK_COMBOBOX_ITEM(object))) return; etk_combobox_item_activate(item); - etk_popup_window_popdown(item->combobox->window); } /************************** @@ -916,11 +906,12 @@ return NULL; if (!combobox->built) { - ETK_WARNING("The combobox should be built when you add a new item to it"); + ETK_WARNING("The combobox should be already built when you add a new item to it"); return NULL; } item = ETK_COMBOBOX_ITEM(etk_widget_new(ETK_COMBOBOX_ITEM_TYPE, "theme_group", "combobox_item", "visible", ETK_TRUE, NULL)); + etk_widget_theme_parent_set(ETK_WIDGET(item), ETK_WIDGET(combobox)); item->combobox = combobox; item->data = NULL; item->data_free_cb = NULL; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_container.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- etk_container.c 28 Mar 2006 07:24:57 -0000 1.8 +++ etk_container.c 7 Apr 2006 15:36:11 -0000 1.9 @@ -7,7 +7,7 @@ /** * @addtogroup Etk_Container -* @{ + * @{ */ enum _Etk_Container_Signal_Id =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_container.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_container.h 28 Mar 2006 07:24:57 -0000 1.4 +++ etk_container.h 7 Apr 2006 15:36:11 -0000 1.5 @@ -19,6 +19,19 @@ #define ETK_IS_CONTAINER(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_CONTAINER_TYPE)) /** + * @enum Etk_Fill_Policy_Flags + * @brief Describes how a child should fill the space allocated by its parent container + */ +typedef enum _Etk_Fill_Policy_Flags +{ + ETK_FILL_POLICY_NONE = 1 << 0, + ETK_FILL_POLICY_HFILL = 1 << 1, + ETK_FILL_POLICY_VFILL = 1 << 2, + ETK_FILL_POLICY_HEXPAND = 1 << 3, + ETK_FILL_POLICY_VEXPAND = 1 << 4 +} Etk_Fill_Policy_Flags; + +/** * @struct Etk_Container * @brief An Etk_Container is a widget that can contain other widgets */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_dialog.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_dialog.c 12 Mar 2006 13:31:40 -0000 1.7 +++ etk_dialog.c 7 Apr 2006 15:36:11 -0000 1.8 @@ -2,6 +2,7 @@ #include "etk_dialog.h" #include <stdlib.h> #include <string.h> +#include "etk_theme.h" #include "etk_vbox.h" #include "etk_hbox.h" #include "etk_separator.h" @@ -11,7 +12,7 @@ /** * @addtogroup Etk_Dialog -* @{ + * @{ */ enum _Etk_Dialog_Signal_Id @@ -145,7 +146,7 @@ } /** - * @brief Add a button to the dialog's action area + * @brief Adds a button to the dialog's action area * @param label the button's label * @param response_id the button's response id (Etk_Dialog_Response_ID) * @return Returns the newly added button. @@ -158,12 +159,12 @@ return NULL; button = etk_button_new_with_label(label); - etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_FALSE, ETK_FALSE, 6, ETK_TRUE); - return button; + etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_FALSE, ETK_FALSE, 0, ETK_TRUE); + return button; } /** - * @brief Add a button from the stock buttons to the dialog's action area + * @brief Adds a button created from a stock id to the dialog's action area * @param stock_id the button's stock id * @param response_id the button's response id (Etk_Dialog_Response_ID) * @return Returns the newly added button. @@ -176,8 +177,8 @@ return NULL; button = etk_button_new_from_stock(stock_id); - etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_FALSE, ETK_FALSE, 6, ETK_TRUE); - return button; + etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_FALSE, ETK_FALSE, 0, ETK_TRUE); + return button; } /** @@ -195,7 +196,7 @@ int *id; if (!dialog) - return; + return; etk_widget_visibility_locked_set(ETK_WIDGET(button), ETK_TRUE); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_etk_dialog_button_clicked_cb), dialog); @@ -204,10 +205,10 @@ *id = response_id; etk_object_data_set_full(ETK_OBJECT(button), "_Etk_Dialog::response_id", id, free); - if(pack_at_end) - etk_box_pack_end(ETK_BOX(dialog->action_area_hbox), ETK_WIDGET(button), fill, expand, padding); + if (pack_at_end) + etk_box_pack_end(ETK_BOX(dialog->action_area_hbox), ETK_WIDGET(button), fill, expand, padding); else - etk_box_pack_start(ETK_BOX(dialog->action_area_hbox), ETK_WIDGET(button), fill, expand, padding); + etk_box_pack_start(ETK_BOX(dialog->action_area_hbox), ETK_WIDGET(button), fill, expand, padding); etk_widget_show(ETK_WIDGET(button)); } @@ -238,7 +239,7 @@ etk_box_pack_start(ETK_BOX(dialog->dialog_vbox), dialog->separator, ETK_FALSE, ETK_TRUE, 6); etk_widget_show(dialog->separator); - dialog->action_area_hbox = etk_hbox_new(ETK_FALSE, 0); + dialog->action_area_hbox = etk_hbox_new(ETK_FALSE, 6); etk_widget_visibility_locked_set(dialog->action_area_hbox, ETK_TRUE); etk_box_pack_end(ETK_BOX(dialog->dialog_vbox), dialog->action_area_hbox, ETK_FALSE, ETK_TRUE, 0); etk_widget_show(dialog->action_area_hbox); @@ -288,11 +289,13 @@ * **************************/ +/* Called when a button of the action area of the dialog is clicked */ static void _etk_dialog_button_clicked_cb(Etk_Object *object, void *data) { int *response_id; - response_id = (int*)etk_object_data_get(object, "_Etk_Dialog::response_id"); + if (!(response_id = (int *)etk_object_data_get(object, "_Etk_Dialog::response_id"))) + return; etk_signal_emit(_etk_dialog_signals[ETK_DIALOG_RESPONSE_SIGNAL], ETK_OBJECT(data), NULL, *response_id); } =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_dialog.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_dialog.h 13 Mar 2006 00:41:38 -0000 1.4 +++ etk_dialog.h 7 Apr 2006 15:36:11 -0000 1.5 @@ -21,7 +21,7 @@ * @enum Etk_Dialog_Response_ID * @brief Some common response IDs to use with an Etk_Dialog */ -enum _Etk_Dialog_Response_ID +typedef enum _Etk_Dialog_Response_ID { ETK_RESPONSE_NONE = -1, ETK_RESPONSE_REJECT = -2, @@ -34,12 +34,12 @@ ETK_RESPONSE_NO = -9, ETK_RESPONSE_APPLY = -10, ETK_RESPONSE_HELP = -11 -}; +} Etk_Dialog_Response_ID; /** * @struct Etk_Dialog * @brief A dialog is a window with buttons in its bottom area to allow the user to respond to a request. @n - * A horizontal separator can also separate the button area from the upper area. It's enabled by default + * A horizontal separator can also separate the button area from the upper area (enabled by default) */ struct _Etk_Dialog { =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_frame.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_frame.c 11 Feb 2006 14:21:13 -0000 1.4 +++ etk_frame.c 7 Apr 2006 15:36:11 -0000 1.5 @@ -8,7 +8,7 @@ /** * @addtogroup Etk_Frame -* @{ + * @{ */ enum _Etk_Frame_Property_Id @@ -78,7 +78,7 @@ if (ETK_WIDGET(frame)->theme_object) { - if (!frame->label || strlen(frame->label) <= 0) + if (!frame->label || *frame->label == '\0') { etk_widget_theme_object_part_text_set(ETK_WIDGET(frame), "label", ""); etk_widget_theme_object_signal_emit(ETK_WIDGET(frame), "hide_label"); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_frame.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_frame.h 30 Oct 2005 10:25:25 -0000 1.1 +++ etk_frame.h 7 Apr 2006 15:36:11 -0000 1.2 @@ -19,7 +19,7 @@ /** * @struct Etk_Frame - * @brief A frame is a bin container that have a label. It's useful to group some widgets that need to be together + * @brief A frame is a bin container with a label. It's useful to group some widgets that need to be together */ struct _Etk_Frame { =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_hbox.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_hbox.c 28 Mar 2006 07:24:57 -0000 1.7 +++ etk_hbox.c 7 Apr 2006 15:36:11 -0000 1.8 @@ -5,7 +5,7 @@ /** * @addtogroup Etk_HBox -* @{ + * @{ */ static void _etk_hbox_constructor(Etk_HBox *hbox); @@ -78,7 +78,8 @@ Etk_Widget *child; Etk_Box_Child_Props *child_properties; Etk_Size child_requisition; - int num_children, i; + int num_children, num_visible_children; + int i; if (!(hbox = ETK_HBOX(widget)) || !size_requisition) return; @@ -88,12 +89,18 @@ size_requisition->w = 0; size_requisition->h = 0; num_children = evas_list_count(box->children); + num_visible_children = 0; hbox->requested_sizes = realloc(hbox->requested_sizes, num_children * sizeof(int)); for (l = box->children, i = 0; l; l = l->next, i++) { child = ETK_WIDGET(l->data); child_properties = child->child_properties; + hbox->requested_sizes[i] = 0; + + if (!etk_widget_is_visible(child)) + continue; + etk_widget_size_request(child, &child_requisition); if (box->homogeneous) @@ -109,15 +116,17 @@ if (size_requisition->h < child_requisition.h) size_requisition->h = child_requisition.h; + + num_visible_children++; } if (box->homogeneous) { for (i = 0; i < num_children; i++) hbox->requested_sizes[i] = size_requisition->w; - size_requisition->w *= num_children; + size_requisition->w *= num_visible_children; } - if (num_children > 1) - size_requisition->w += (num_children - 1) * box->spacing; + if (num_visible_children > 1) + size_requisition->w += (num_visible_children - 1) * box->spacing; size_requisition->w += 2 * container->border_width; size_requisition->h += 2 * container->border_width; @@ -160,6 +169,9 @@ { child = ETK_WIDGET(l->data); child_properties = child->child_properties; + + if (!etk_widget_is_visible(child)) + continue; child_geometry.y = geometry.y; child_geometry.w = hbox->requested_sizes[i] * ratio; @@ -188,6 +200,10 @@ { child = ETK_WIDGET(l->data); child_properties = child->child_properties; + + if (!etk_widget_is_visible(child)) + continue; + if (child_properties->expand) num_children_to_expand++; } @@ -201,7 +217,10 @@ { child = ETK_WIDGET(l->data); child_properties = child->child_properties; - + + if (!etk_widget_is_visible(child)) + continue; + child_geometry.y = geometry.y; child_geometry.w = hbox->requested_sizes[i]; if (child_properties->expand) =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_hbox.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_hbox.h 1 Oct 2005 16:29:45 -0000 1.1 +++ etk_hbox.h 7 Apr 2006 15:36:11 -0000 1.2 @@ -19,7 +19,7 @@ /** * @struct Etk_HBox - * @brief An Etk_HBox is a container that can contain several children in the horizontal direction + * @brief An Etk_HBox is a container that can contain several children packed in the horizontal direction */ struct _Etk_HBox { =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_image.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- etk_image.c 28 Mar 2006 07:24:57 -0000 1.16 +++ etk_image.c 7 Apr 2006 15:36:11 -0000 1.17 @@ -350,8 +350,6 @@ dest_image->object_type_changed = (dest_image->use_edje != src_image->use_edje); dest_image->use_edje = src_image->use_edje; - /* TODO: notify ?? */ - _etk_image_load(dest_image); } @@ -630,7 +628,7 @@ const char *edje_file, *edje_group; edje_object_file_get(image->image_object, &edje_file, &edje_group); - if (!edje_file || !edje_file || strcmp(edje_file, image->edje_filename) != 0 || strcmp(edje_group, image->edje_group) != 0) + if (!edje_file || !edje_group || strcmp(edje_file, image->edje_filename) != 0 || strcmp(edje_group, image->edje_group) != 0) { edje_object_file_set(image->image_object, image->edje_filename, image->edje_group); if ((error_code = edje_object_load_error_get(image->image_object))) =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_image.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etk_image.h 28 Mar 2006 07:24:57 -0000 1.7 +++ etk_image.h 7 Apr 2006 15:36:11 -0000 1.8 @@ -11,7 +11,7 @@ * @{ */ -/** @brief Gets the type of a image */ +/** @brief Gets the type of an image */ #define ETK_IMAGE_TYPE (etk_image_type_get()) /** @brief Casts the object to an Etk_Image */ #define ETK_IMAGE(obj) (ETK_OBJECT_CAST((obj), ETK_IMAGE_TYPE, Etk_Image)) =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_label.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- etk_label.c 15 Mar 2006 10:04:35 -0000 1.11 +++ etk_label.c 7 Apr 2006 15:36:11 -0000 1.12 @@ -48,9 +48,9 @@ { label_type = etk_type_new("Etk_Label", ETK_WIDGET_TYPE, sizeof(Etk_Label), ETK_CONSTRUCTOR(_etk_label_constructor), ETK_DESTRUCTOR(_etk_label_destructor)); - etk_type_property_add(label_type, "label", ETK_LABEL_LABEL_PROPERTY, ETK_PROPERTY_STRING, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_string(NULL)); - etk_type_property_add(label_type, "xalign", ETK_LABEL_XALIGN_PROPERTY, ETK_PROPERTY_FLOAT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_float(0.0)); - etk_type_property_add(label_type, "yalign", ETK_LABEL_YALIGN_PROPERTY, ETK_PROPERTY_FLOAT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_float(0.5)); + etk_type_property_add(label_type, "label", ETK_LABEL_LABEL_PROPERTY, ETK_PROPERTY_STRING, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_string(NULL)); + etk_type_property_add(label_type, "xalign", ETK_LABEL_XALIGN_PROPERTY, ETK_PROPERTY_FLOAT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_float(0.0)); + etk_type_property_add(label_type, "yalign", ETK_LABEL_YALIGN_PROPERTY, ETK_PROPERTY_FLOAT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_float(0.5)); label_type->property_set = _etk_label_property_set; label_type->property_get = _etk_label_property_get; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_main.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- etk_main.c 9 Mar 2006 00:10:52 -0000 1.17 +++ etk_main.c 7 Apr 2006 15:36:11 -0000 1.18 @@ -38,7 +38,7 @@ **************************/ /** - * @brief Initializes etk + * @brief Initializes Etk * @return Returns ETK_TRUE on success, ETK_FALSE on failure */ Etk_Bool etk_init() @@ -61,13 +61,11 @@ ETK_WARNING("Ecore_Evas initialization failed!"); return ETK_FALSE; } -#if HAVE_ECORE_X if (!ecore_x_init(NULL)) { ETK_WARNING("Ecore_X initialization failed!"); return ETK_FALSE; } -#endif if (!edje_init()) { ETK_WARNING("Edje initialization failed!"); @@ -80,7 +78,8 @@ } etk_theme_init(); etk_tooltips_init(); - /* Gettext */ + + /* Initialize Gettext */ setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); @@ -90,7 +89,7 @@ } /** - * @brief Shutdowns etk and frees the memory + * @brief Shutdowns Etk and frees the memory */ void etk_shutdown() { @@ -150,6 +149,7 @@ if (!_etk_main_initialized) return; + /* TODO: only update the toplevel widgets that need to be updated */ for (l = _etk_main_toplevel_widgets; l; l = l->next) { widget = ETK_WIDGET(l->data); @@ -164,7 +164,7 @@ void etk_main_iteration_queue() { if (_etk_main_iterate_job) - return; + ecore_job_del(_etk_main_iterate_job); _etk_main_iterate_job = ecore_job_add(_etk_main_iterate_job_cb, NULL); } =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- etk_menu.c 28 Mar 2006 07:24:57 -0000 1.12 +++ etk_menu.c 7 Apr 2006 15:36:11 -0000 1.13 @@ -9,7 +9,7 @@ /** * @addtogroup Etk_Menu -* @{ + * @{ */ enum _Etk_Menu_Signal_Id @@ -255,7 +255,7 @@ { Etk_Menu_Shell *menu_shell; Evas_Event_Key_Down *event; - Evas_List *l; + //Evas_List *l; if (!(menu_shell = ETK_MENU_SHELL(data)) || !(event = event_info)) return; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_menu.h 28 Mar 2006 07:24:57 -0000 1.4 +++ etk_menu.h 7 Apr 2006 15:36:11 -0000 1.5 @@ -17,7 +17,10 @@ /** @brief Check if the object is an Etk_Menu */ #define ETK_IS_MENU(obj) (ETK_OBJECT_CHECK_TYPE((obj), ETK_MENU_TYPE)) -/* TODO: doc */ +/** + * @struct Etk_Menu + * @brief An Etk_Menu is a popup window containing several menu items + */ struct _Etk_Menu { /* private: */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu_bar.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_menu_bar.c 11 Feb 2006 00:28:33 -0000 1.3 +++ etk_menu_bar.c 7 Apr 2006 15:36:11 -0000 1.4 @@ -12,7 +12,7 @@ /** * @addtogroup Etk_Menu_Bar -* @{ + * @{ */ static void _etk_menu_bar_constructor(Etk_Menu_Bar *menu_bar); @@ -139,8 +139,6 @@ if (!(item_object = ETK_OBJECT(item))) return; - /* TODO: use theme context! */ - etk_widget_theme_set(ETK_WIDGET(item_object), ETK_WIDGET(item_object)->theme_file, "menu_bar_item"); etk_signal_connect("mouse_up", item_object, ETK_CALLBACK(_etk_menu_bar_item_mouse_up_cb), NULL); etk_signal_connect("selected", item_object, ETK_CALLBACK(_etk_menu_bar_item_selected_cb), NULL); etk_signal_connect("deselected", item_object, ETK_CALLBACK(_etk_menu_bar_item_deselected_cb), NULL); @@ -265,13 +263,5 @@ return; etk_menu_item_deselect(item); } - - -/************************** - * - * Private functions - * - **************************/ - /** @} */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu_item.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- etk_menu_item.c 28 Mar 2006 07:24:57 -0000 1.10 +++ etk_menu_item.c 7 Apr 2006 15:36:11 -0000 1.11 @@ -242,7 +242,7 @@ */ Etk_Widget *etk_menu_item_separator_new() { - return etk_widget_new(ETK_MENU_ITEM_SEPARATOR_TYPE, "theme_group", "menu_separator", "visible", ETK_TRUE, NULL); + return etk_widget_new(ETK_MENU_ITEM_SEPARATOR_TYPE, "theme_group", "separator", "visible", ETK_TRUE, NULL); } /************************** @@ -573,7 +573,7 @@ check_item->toggled = _etk_menu_item_check_toggled_handler; check_item->active_set = _etk_menu_item_check_active_set; - menu_item->left_widget = etk_widget_new(ETK_WIDGET_TYPE, "theme_group", ETK_IS_MENU_ITEM_RADIO(check_item) ? "menu_radio" : "menu_check", + menu_item->left_widget = etk_widget_new(ETK_WIDGET_TYPE, "theme_group", ETK_IS_MENU_ITEM_RADIO(check_item) ? "radiobox" : "checkbox", "pass_mouse_events", ETK_TRUE, "visible", ETK_TRUE, NULL); etk_signal_connect("realize", ETK_OBJECT(menu_item->left_widget), ETK_CALLBACK(_etk_menu_item_left_widget_realize_cb), menu_item); etk_signal_connect("realize", ETK_OBJECT(menu_item->left_widget), ETK_CALLBACK(_etk_menu_item_check_left_widget_realize_cb), menu_item); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu_shell.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_menu_shell.c 4 Mar 2006 23:29:47 -0000 1.4 +++ etk_menu_shell.c 7 Apr 2006 15:36:11 -0000 1.5 @@ -49,15 +49,6 @@ return menu_shell_type; } -/** - * @brief Creates a new menu_shell - * @return Returns the new menu_shell widget - */ -Etk_Widget *etk_menu_shell_new() -{ - return etk_widget_new(ETK_MENU_SHELL_TYPE, "theme_group", "menu_shell", NULL); -} - /** * @brief Adds a menu_shell item at the start of the menu shell * @param menu_shell a menu shell =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_menu_shell.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- etk_menu_shell.h 4 Mar 2006 23:29:47 -0000 1.4 +++ etk_menu_shell.h 7 Apr 2006 15:36:11 -0000 1.5 @@ -11,7 +11,7 @@ * @{ */ -/** @brief Gets the type of a menu_shell */ +/** @brief Gets the type of a menu shell */ #define ETK_MENU_SHELL_TYPE (etk_menu_shell_type_get()) /** @brief Casts the object to an Etk_Menu_Shell */ #define ETK_MENU_SHELL(obj) (ETK_OBJECT_CAST((obj), ETK_MENU_SHELL_TYPE, Etk_Menu_Shell)) @@ -33,7 +33,6 @@ }; Etk_Type *etk_menu_shell_type_get(); -Etk_Widget *etk_menu_shell_new(); void etk_menu_shell_prepend(Etk_Menu_Shell *menu_shell, Etk_Menu_Item *item); void etk_menu_shell_append(Etk_Menu_Shell *menu_shell, Etk_Menu_Item *item); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_message_dialog.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_message_dialog.c 13 Mar 2006 00:46:53 -0000 1.1 +++ etk_message_dialog.c 7 Apr 2006 15:36:11 -0000 1.2 @@ -1,19 +1,14 @@ /** @file etk_message_dialog.c */ #include "etk_message_dialog.h" #include <stdlib.h> -#include <string.h> #include "etk_hbox.h" -#include "etk_separator.h" -#include "etk_button.h" #include "etk_label.h" -#include "etk_signal.h" #include "etk_image.h" -#include "etk_signal_callback.h" #include "etk_stock.h" /** * @addtogroup Etk_Message_Dialog -* @{ + * @{ */ enum _Etk_Message_Dialog_Property_Id @@ -23,7 +18,6 @@ ETK_MESSAGE_DIALOG_TEXT_PROPERTY }; - static void _etk_message_dialog_constructor(Etk_Message_Dialog *dialog); static void _etk_message_dialog_property_set(Etk_Object *object, int property_id, Etk_Property_Value *value); static void _etk_message_dialog_property_get(Etk_Object *object, int property_id, Etk_Property_Value *value); @@ -61,7 +55,7 @@ * @brief Creates a new dialog * @return Returns the new dialog widget */ -Etk_Widget *etk_message_dialog_new(int dialog_type, int buttons, const char *text) +Etk_Widget *etk_message_dialog_new(Etk_Message_Dialog_Type dialog_type, Etk_Message_Dialog_Buttons buttons, const char *text) { return etk_widget_new(ETK_MESSAGE_DIALOG_TYPE, "theme_group", "dialog", "dialog_type", dialog_type, "buttons", buttons, "text", text, NULL); } @@ -71,7 +65,7 @@ * @param dialog a dialog * @param dialog_type the type to set */ -void etk_message_dialog_icon_set(Etk_Message_Dialog *dialog, int dialog_type) +void etk_message_dialog_icon_set(Etk_Message_Dialog *dialog, Etk_Message_Dialog_Type dialog_type) { if (!dialog) return; @@ -79,36 +73,32 @@ switch(dialog_type) { case ETK_MESSAGE_DIALOG_INFO: - etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_INFORMATION, ETK_STOCK_BIG); - break; - + etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_INFORMATION, ETK_STOCK_BIG); + break; case ETK_MESSAGE_DIALOG_WARNING: - etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_WARNING, ETK_STOCK_BIG); - break; - + etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_WARNING, ETK_STOCK_BIG); + break; case ETK_MESSAGE_DIALOG_QUESTION: - etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_QUESTION, ETK_STOCK_BIG); - break; - + etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_QUESTION, ETK_STOCK_BIG); + break; case ETK_MESSAGE_DIALOG_ERROR: - etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_ERROR, ETK_STOCK_BIG); - break; - + etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_ERROR, ETK_STOCK_BIG); + break; default: - etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_INFORMATION, ETK_STOCK_BIG); - break; + etk_image_set_from_stock(ETK_IMAGE(dialog->image), ETK_STOCK_DIALOG_INFORMATION, ETK_STOCK_BIG); + break; } } -/* @brief Gets the message dialog's type +/** + * @brief Gets the message dialog's type * @param dialog a dialog * @return Returns the type of the dialog */ -int etk_message_dialog_icon_get(Etk_Message_Dialog *dialog) +Etk_Message_Dialog_Type etk_message_dialog_icon_get(Etk_Message_Dialog *dialog) { - if(!dialog) - return 0; - + if (!dialog) + return ETK_STOCK_DIALOG_INFORMATION; return dialog->dialog_type; } @@ -117,62 +107,58 @@ * @param dialog a dialog * @param buttons the type of the buttons */ -void etk_message_dialog_buttons_set(Etk_Message_Dialog *dialog, int buttons) +void etk_message_dialog_buttons_set(Etk_Message_Dialog *dialog, Etk_Message_Dialog_Buttons buttons) { int i; if (!dialog) return; - - if(dialog->buttons_type == buttons) + if (dialog->buttons_type == buttons) return; - for(i = 0; i < ETK_MESSAGE_DIALOG_MAX_BUTTONS; i++) - if(dialog->buttons[i]) + for (i = 0; i < ETK_MESSAGE_DIALOG_MAX_BUTTONS; i++) + { + if (dialog->buttons[i]) { etk_object_destroy(ETK_OBJECT(dialog->buttons[i])); dialog->buttons[i] = NULL; } + } - switch(buttons) + switch (buttons) { case ETK_MESSAGE_DIALOG_OK: - etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_OK, ETK_RESPONSE_OK); - break; - + dialog->buttons[0] = etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_OK, ETK_RESPONSE_OK); + break; case ETK_MESSAGE_DIALOG_CLOSE: - etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CLOSE, ETK_RESPONSE_CLOSE); - break; - + dialog->buttons[0] = etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CLOSE, ETK_RESPONSE_CLOSE); + break; case ETK_MESSAGE_DIALOG_CANCEL: - etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CANCEL, ETK_RESPONSE_CANCEL); - break; - + dialog->buttons[0] = etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CANCEL, ETK_RESPONSE_CANCEL); + break; case ETK_MESSAGE_DIALOG_YES_NO: - etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_YES, ETK_RESPONSE_YES); - etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_NO, ETK_RESPONSE_NO); - break; - + dialog->buttons[0] = etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_YES, ETK_RESPONSE_YES); + dialog->buttons[1] = etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_NO, ETK_RESPONSE_NO); + break; case ETK_MESSAGE_DIALOG_OK_CANCEL: - etk_dialog_button_a... [truncated message content] |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:04
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/devices Modified Files: audio-card.png audio-input-microphone.png battery.png camera-photo.png camera-video.png computer.png drive-cdrom.png drive-harddisk.png drive-removable-media.png input-gaming.png input-keyboard.png input-mouse.png media-cdrom.png media-floppy.png multimedia-player.png network-wired.png network-wireless.png printer.png video-display.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/audio-card.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsY9UoTq and /tmp/cvsNFpGD0 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/audio-input-microphone.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsLQmGYs and /tmp/cvsLX6dM2 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/battery.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsQVb8rw and /tmp/cvsxdAch6 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/camera-photo.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvskYZzWu and /tmp/cvs3hecN4 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/camera-video.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsKQt84v and /tmp/cvs18BkX5 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/computer.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvscqNurz and /tmp/cvsV5Lel9 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/drive-cdrom.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsA9CeeA and /tmp/cvsZ7vRca differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/drive-harddisk.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsLxU6hU and /tmp/cvstkeDIu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/drive-removable-media.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsopWPYM and /tmp/cvscRIAsn differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/input-gaming.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs4raziO and /tmp/cvsQRnoOo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/input-keyboard.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsM3Wz9O and /tmp/cvsuMDXGp differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/input-mouse.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs89exYN and /tmp/cvskzXJxo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/media-cdrom.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsoD2dsR and /tmp/cvss7P32r differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/media-floppy.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsGLTtXb and /tmp/cvsgJXU7M differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/multimedia-player.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsleJASh and /tmp/cvsC9FB8S differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/network-wired.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7mtDBt and /tmp/cvsGjKzb5 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/network-wireless.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsVw30tA and /tmp/cvsShWndc differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/printer.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsZVrjaz and /tmp/cvsgijgVa differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/devices/video-display.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsX5kncA and /tmp/cvsAO1SYb differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:04
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/apps Modified Files: accessories-calculator.png accessories-character-map.png accessories-text-editor.png help-browser.png internet-group-chat.png internet-mail.png internet-news-reader.png internet-web-browser.png office-calendar.png preferences-desktop-accessibility.png preferences-desktop-assistive-technology.png preferences-desktop-font.png preferences-desktop-keyboard-shortcuts.png preferences-desktop-locale.png preferences-desktop-remote-desktop.png preferences-desktop-screensaver.png preferences-desktop-sound.png preferences-desktop-theme.png preferences-desktop-wallpaper.png preferences-system-network-proxy.png preferences-system-session.png preferences-system-windows.png system-file-manager.png system-installer.png system-software-update.png system-users.png utilities-system-monitor.png utilities-terminal.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/accessories-calculator.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7e5Hz6 and /tmp/cvstSjnKF differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/accessories-character-map.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsrZ2Th5 and /tmp/cvsVumduE differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/accessories-text-editor.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsxfrhv8 and /tmp/cvsdmNbJH differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/help-browser.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs3eKub7 and /tmp/cvsVAc1qG differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/internet-group-chat.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsZdXpza and /tmp/cvsT7GyQJ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/internet-mail.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs1nk0m9 and /tmp/cvs5tQGFI differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/internet-news-reader.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsLehbCi and /tmp/cvs9peD5R differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/internet-web-browser.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs972Gbl and /tmp/cvshwmbJU differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/office-calendar.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsj6U9Ul and /tmp/cvs30RFxV differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-accessibility.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7Ulhlp and /tmp/cvsVaqtZY differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-assistive-technology.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsJhUgZn and /tmp/cvsNSW1EX differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-font.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsFKjntr and /tmp/cvsvVWFa1 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-keyboard-shortcuts.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvspVWXjs and /tmp/cvsNClO21 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-locale.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs5PB64x and /tmp/cvsh6nC07 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-remote-desktop.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsJxSokE and /tmp/cvsJ8C0le differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-screensaver.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvszFVCDT and /tmp/cvs4pD1hu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-sound.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs5MtzuV and /tmp/cvsaz3Dbw differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-theme.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsjSqZmW and /tmp/cvsi1FE5w differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-desktop-wallpaper.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsRwAd3U and /tmp/cvsS5VtNv differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-system-network-proxy.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsFHJzxY and /tmp/cvsgWopjz differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-system-session.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsxKrBCg and /tmp/cvs0V1jUR differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/preferences-system-windows.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsmCqqhr and /tmp/cvsWYskM2 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/system-file-manager.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvset8EqH and /tmp/cvswVcsoj differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/system-installer.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvseIJF3K and /tmp/cvskTnf3m differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/system-software-update.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsuxDOKJ and /tmp/cvsS841Ll differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/system-users.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsaa6gXM and /tmp/cvs6dG2Zo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/utilities-system-monitor.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs4jVn7P and /tmp/cvs6Thxis differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/apps/utilities-terminal.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvssN6WQ0 and /tmp/cvsvB54tD differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:05
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/bin Modified Files: Makefile.am etk_combobox_test.c etk_test.c etk_test.h Added Files: etk_iconbox_test.c Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/Makefile.am,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- Makefile.am 12 Mar 2006 12:13:02 -0000 1.13 +++ Makefile.am 7 Apr 2006 15:36:10 -0000 1.14 @@ -37,7 +37,8 @@ etk_spin_button_test.c \ etk_xdnd_test.c \ etk_text_view_test.c \ -etk_combobox_test.c +etk_combobox_test.c \ +etk_iconbox_test.c etk_test_LDADD = $(top_builddir)/src/lib/libetk.la \ @EVAS_LIBS@ @ECORE_LIBS@ @EDJE_LIBS@ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_combobox_test.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_combobox_test.c 28 Mar 2006 07:24:57 -0000 1.3 +++ etk_combobox_test.c 7 Apr 2006 15:36:10 -0000 1.4 @@ -2,7 +2,7 @@ #include <stdlib.h> #define STARTING_STOCK_ID ETK_STOCK_DOCUMENT_NEW -#define ENDING_STOCK_ID ETK_STOCK_EDIT_FIND_REPLACE +#define ENDING_STOCK_ID ETK_STOCK_FORMAT_TEXT_UNDERLINE static void _etk_test_combobox_active_item_changed_cb(Etk_Object *object, void *data); =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_test.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- etk_test.c 5 Mar 2006 23:52:58 -0000 1.18 +++ etk_test.c 7 Apr 2006 15:36:10 -0000 1.19 @@ -98,11 +98,6 @@ ETK_TEST_BASIC_WIDGET }, { - "Spin Button", - etk_test_spin_button_window_create, - ETK_TEST_BASIC_WIDGET - }, - { "X Drag / Drop", etk_test_xdnd_window_create, ETK_TEST_MISC @@ -115,6 +110,11 @@ { "Combobox", etk_test_combobox_window_create, + ETK_TEST_ADVANCED_WIDGET + }, + { + "Iconbox", + etk_test_iconbox_window_create, ETK_TEST_ADVANCED_WIDGET } }; =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_test.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- etk_test.h 4 Mar 2006 23:29:46 -0000 1.13 +++ etk_test.h 7 Apr 2006 15:36:10 -0000 1.14 @@ -21,5 +21,6 @@ void etk_test_xdnd_window_create(void *data); void etk_test_text_view_window_create(void *data); void etk_test_combobox_window_create(void *data); +void etk_test_iconbox_window_create(void *data); #endif |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:05
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/actions Modified Files: address-book-new.png appointment-new.png bookmark-new.png contact-new.png dialog-cancel.png dialog-close.png dialog-no.png dialog-ok.png dialog-yes.png document-new.png document-open.png document-print-preview.png document-print.png document-properties.png document-save-as.png document-save.png edit-clear.png edit-copy.png edit-cut.png edit-delete.png edit-find-replace.png edit-find.png edit-paste.png edit-redo.png edit-undo.png folder-new.png format-indent-less.png format-indent-more.png format-justify-center.png format-justify-fill.png format-justify-left.png format-justify-right.png format-text-bold.png format-text-italic.png format-text-strikethrough.png format-text-underline.png go-bottom.png go-down.png go-first.png go-home.png go-jump.png go-last.png go-next.png go-previous.png go-top.png go-up.png list-add.png list-remove.png mail-forward.png mail-mark-junk.png mail-message-new.png mail-reply-all.png mail-reply-sender.png mail-send-receive.png media-eject.png media-playback-pause.png media-playback-start.png media-playback-stop.png media-record.png media-seek-backward.png media-seek-forward.png media-skip-backward.png media-skip-forward.png process-stop.png system-lock-screen.png system-log-out.png system-search.png system-shutdown.png tab-new.png view-refresh.png window-new.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/address-book-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsNBvuPP and /tmp/cvsiUKllo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/appointment-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsU9IfTQ and /tmp/cvsgSvMqp differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/bookmark-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs2WPLHP and /tmp/cvsMu3Rgo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/contact-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsghay3S and /tmp/cvs871cEr differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/dialog-cancel.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvsBin7wK and /tmp/cvsDJmn9i differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/dialog-close.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvsF1zj9I and /tmp/cvsRANhNh differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/dialog-no.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvsdSp0vM and /tmp/cvsLd6zbl differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/dialog-ok.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvsF1oedL and /tmp/cvsLHnqUj differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/dialog-yes.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvszJV0hM and /tmp/cvsLLuV0k differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsvE9JFP and /tmp/cvsBsGeqo differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-open.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvslkSqtO and /tmp/cvsvlrufn differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-print-preview.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsvac0FR and /tmp/cvslGaDtq differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-print.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvslUjRyQ and /tmp/cvs9leaop differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-properties.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsBtMyXT and /tmp/cvsLJwwOs differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-save-as.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsTDPNDS and /tmp/cvsr9Fnwr differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/document-save.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsTQg64V and /tmp/cvsJauoZu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-clear.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsfVq26W and /tmp/cvsFSIV2v differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-copy.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvslnUHNV and /tmp/cvsfTSbLu differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-cut.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvshs8oZY and /tmp/cvszHCsYx differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-delete.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsHcK2NX and /tmp/cvsrLeKOw differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-find-replace.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7YE650 and /tmp/cvsrTqs8z differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-find.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsLELsMZ and /tmp/cvs78HpQy differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-paste.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsR2tsb3 and /tmp/cvsdc02gC differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-redo.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsNNK5k4 and /tmp/cvsVipgsD differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/edit-undo.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsVAv142 and /tmp/cvs3eQTdC differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/folder-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvszs4tr6 and /tmp/cvsVOAWBF differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-indent-less.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsfmXg8j and /tmp/cvsLpp6DT differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-indent-more.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvspkwaPm and /tmp/cvsfxxcpW differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-justify-center.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsueuKsu and /tmp/cvsrWYGe4 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-justify-fill.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs9h7vsB and /tmp/cvsREqCpb differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-justify-left.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsWutcVW and /tmp/cvsEXc8Hx differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-justify-right.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsPMRUh0 and /tmp/cvscEYr6A differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-text-bold.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsxIUJ80 and /tmp/cvsG3eQYB differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-text-italic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsbArdXZ and /tmp/cvs8bPTOA differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-text-strikethrough.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsVejBj3 and /tmp/cvsidJRcE differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/format-text-underline.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsjU4Cmf and /tmp/cvsC7DIyQ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-bottom.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsBP66jg and /tmp/cvs2ARlBR differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-down.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsjLzm1t and /tmp/cvsgKQyA5 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-first.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7hDpCv and /tmp/cvsyvESd7 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-home.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsnJhWDw and /tmp/cvsazb1g8 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-jump.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvstZr5kv and /tmp/cvsWNZLZ6 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-last.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs9FV8Hy and /tmp/cvs2GWsoa differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-next.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsdloUfx and /tmp/cvscCmZd9 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-previous.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs01BPhQ and /tmp/cvs6VGsts differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-top.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsMCjlYY and /tmp/cvsVg5pCB differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/go-up.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs0Ax5ba and /tmp/cvspe513M differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/list-add.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsbEQ2Ca and /tmp/cvspLt5yN differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/list-remove.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsZsrbub and /tmp/cvsTOVMrO differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-forward.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsdTgyYe and /tmp/cvslXDJXR differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-mark-junk.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7cEJEd and /tmp/cvsrAMwFQ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-message-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsTi7c2g and /tmp/cvszwqs7T differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-reply-all.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsGAWDUn and /tmp/cvsJGG170 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-reply-sender.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs0zny2m and /tmp/cvsBcndi0 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/mail-send-receive.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsUruGxq and /tmp/cvsz1JVO3 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-eject.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs8fzwep and /tmp/cvszxrnx2 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-playback-pause.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsU3toAs and /tmp/cvsL3LOU5 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-playback-start.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsgImwFt and /tmp/cvsD5wD16 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-playback-stop.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsUlePts and /tmp/cvsFqi7S5 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-record.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsENqjnx and /tmp/cvslUCrPa differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-seek-backward.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsGF2rTC and /tmp/cvsJ4mcug differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-seek-forward.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsePjqSE and /tmp/cvsndchwi differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-skip-backward.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs8mVLGD and /tmp/cvsPJFcmh differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/media-skip-forward.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsgQCNXG and /tmp/cvsNC6TEk differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/process-stop.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsiuFTZH and /tmp/cvsP9KCIl differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/system-lock-screen.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs6GfgIG and /tmp/cvsbdeEsk differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/system-log-out.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsYJ2T3L and /tmp/cvsV6BYSp differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/system-search.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsp5Z1uL and /tmp/cvszQQ2mp differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/system-shutdown.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsg9qkbS and /tmp/cvs5pBCdw differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/tab-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvswuPXyV and /tmp/cvs59ZRCz differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/view-refresh.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsY1QriU and /tmp/cvspiX2ny differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/actions/window-new.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsGzhWjV and /tmp/cvsN8t7qz differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:05
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/places Modified Files: folder-remote.png folder-saved-search.png folder.png network-server.png network-workgroup.png start-here.png user-desktop.png user-home.png user-trash.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/folder-remote.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsOmXPo6 and /tmp/cvswj9zqH differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/folder-saved-search.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsXFzbr7 and /tmp/cvsAyryuI differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/folder.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsF3PFBa and /tmp/cvs0FzyGL differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/network-server.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsHNFhd9 and /tmp/cvsSN3DjK differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/network-workgroup.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsJlUTEc and /tmp/cvs81sLMN differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/start-here.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsN4VQ2o and /tmp/cvs2Ibhu0 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/user-desktop.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsXa1kRp and /tmp/cvsKvuHn1 differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/user-home.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvskovKTW and /tmp/cvs3UVAuz differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/places/user-trash.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 Binary files /tmp/cvsU0F8m0 and /tmp/cvslcCwZC differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:37:05
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/icons/default/icons/48x48/mimetypes Modified Files: application-certificate.png application-x-executable.png audio-x-generic.png image-x-generic.png package-x-generic.png text-html.png text-x-generic-template.png text-x-generic.png text-x-script.png video-x-generic.png x-office-address-book.png x-office-calendar.png x-office-document.png x-office-presentation.png x-office-spreadsheet.png Log Message: * [Iconbox] Start to work on a new iconbox widget: it renders icons, clip them, resize is Ok... Selection still need to be implemented in order to be usable * [Widget] API change in the scroll_size_get function * [Widget] parent_set now automatically calls container_remove. It makes widget implementation easier and avoid having a widget referenced by two parent widgets * [Widget/Theme] Improve a lot the theme system. Now, widgets gets the same "theme context" as their parents. So changing the theme of a widget will also change the theme of its children. * [Stock] Add all the labels for the stock ids corresponding to the "actions" * [Icon theme] 48x48 icons of the "actions" dir are correctly converted from svg to png (still need to do that for other dirs) The Ok/Yes icon has also been changed to be more integrated with the other icons * [Button] Fix some bugs. Also, now when a button has no label (or an empty one), the image is centered * [H/Vbox] Now, cells with hidden children have no more padding/spading * [Tree] Tree now inherits from Etk_Widget which makes more sense than inheriting from Etk_Container * [Toplevel] Fix a segv in etk_toplevel_widget_pointer_pop * [String] Fix a bug in the insertion code of Etk_String * [Properties] Add a new type of property: ETK_PROPERTY_OTHER. It's useful if you want to know when the property value is changed via a notification callback * [Cache] Fix a bug in the cache system of edje objects * Some other small fixes, formatting, doc =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/application-certificate.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsw6BjpS and /tmp/cvsotZd5s differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/application-x-executable.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsherUj2 and /tmp/cvsEEHhfD differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/audio-x-generic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsdi9xv5 and /tmp/cvsQqftsG differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/image-x-generic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsHMZni4 and /tmp/cvsyHuQgF differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/package-x-generic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsrXXcs7 and /tmp/cvsYsKasI differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/text-html.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsRLHUz8 and /tmp/cvsqxs3NJ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/text-x-generic-template.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsE5xhjn and /tmp/cvsC4XELY differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/text-x-generic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsiJWsJG and /tmp/cvs6pOaGi differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/text-x-script.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsGl9LJW and /tmp/cvsf3ADrz differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/video-x-generic.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs7cGxS4 and /tmp/cvsPyE2BH differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/x-office-address-book.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvs1AENy3 and /tmp/cvsdVcTjG differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/x-office-calendar.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsL7Ddr4 and /tmp/cvsFJYTdH differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/x-office-document.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsXwGtO7 and /tmp/cvs9UqHCK differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/x-office-presentation.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsHRRFA6 and /tmp/cvsRvoErJ differ =================================================================== RCS file: /cvs/e/e17/proto/etk/data/icons/default/icons/48x48/mimetypes/x-office-spreadsheet.png,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 Binary files /tmp/cvsTNa3mg and /tmp/cvsHmG5rT differ |
From: Enlightenment C. <no...@cv...> - 2006-04-07 15:48:43
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/widgets Added Files: iconbox.edc Log Message: * iconbox.edc++ |
From: Enlightenment C. <no...@cv...> - 2006-04-08 11:16:25
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/lib Modified Files: etk_iconbox.c etk_iconbox.h Log Message: * [iconbox] Work on the selection rect =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_iconbox.c 7 Apr 2006 15:36:11 -0000 1.1 +++ etk_iconbox.c 8 Apr 2006 11:15:58 -0000 1.2 @@ -3,6 +3,7 @@ #include <stdlib.h> #include <string.h> #include <Edje.h> +#include "etk_container.h" #include "etk_scrolled_view.h" #include "etk_label.h" #include "etk_cache.h" @@ -28,6 +29,7 @@ Etk_Iconbox *iconbox; int xoffset; int yoffset; + int num_cols; Evas_List *icon_objects; Evas_Object *clip; @@ -38,12 +40,17 @@ int selection_orig_y; int selection_mouse_x; int selection_mouse_y; + int selection_first_col; + int selection_last_col; + int selection_first_row; + int selection_last_row; } Etk_Iconbox_Grid; typedef struct _Etk_Iconbox_Icon_Object { Evas_Object *image; Etk_Widget *label; + Etk_Bool use_edje; } Etk_Iconbox_Icon_Object; enum _Etk_Tree_Signal_Id @@ -83,6 +90,7 @@ static void _etk_iconbox_icon_object_delete(Etk_Iconbox_Grid *grid); static void _etk_iconbox_icon_draw(Etk_Iconbox_Icon *icon, Etk_Iconbox_Icon_Object *icon_object, Etk_Iconbox_Model *model, int x, int y); static void _etk_iconbox_grid_selection_rect_update(Etk_Iconbox_Grid *grid); +static void _etk_iconbox_icon_select(Etk_Iconbox_Icon *icon); static Etk_Signal *_etk_iconbox_signals[ETK_ICONBOX_NUM_SIGNALS]; @@ -421,6 +429,7 @@ icon->label = label ? strdup(label) : NULL; icon->data = NULL; icon->data_free_cb = NULL; + icon->selected = ETK_FALSE; if (iconbox->last_icon) { @@ -630,14 +639,11 @@ grid->xoffset = 0; grid->yoffset = 0; + grid->num_cols = 0; grid->icon_objects = NULL; grid->clip = NULL; grid->selection_rect = NULL; grid->selection_started = ETK_FALSE; - grid->selection_orig_x = 0; - grid->selection_orig_y = 0; - grid->selection_mouse_x = 0; - grid->selection_mouse_y = 0; ETK_WIDGET(grid)->size_allocate = _etk_iconbox_grid_size_allocate; ETK_WIDGET(grid)->scroll = _etk_iconbox_grid_scroll; @@ -681,14 +687,22 @@ } num_visible_icons = ETK_MIN(num_cols * num_rows, iconbox->num_icons); num_icons_to_add = num_visible_icons - evas_list_count(grid->icon_objects); + grid->num_cols = num_cols; /* Cache current icons */ for (l = grid->icon_objects; l; l = l->next) { icon_object = l->data; - etk_widget_member_object_del(iconbox->grid, icon_object->image); - etk_cache_edje_object_add(icon_object->image); - icon_object->image = NULL; + + if (icon_object->image) + { + etk_widget_member_object_del(iconbox->grid, icon_object->image); + if (icon_object->use_edje) + etk_cache_edje_object_add(icon_object->image); + else + etk_cache_image_object_add(icon_object->image); + icon_object->image = NULL; + } } /* Create or delete icon objects if necessary */ @@ -849,6 +863,7 @@ static void _etk_iconbox_grid_mouse_down_cb(Etk_Object *object, void *event_info, void *data) { Etk_Iconbox_Grid *grid; + Etk_Iconbox *iconbox; Etk_Event_Mouse_Up_Down *down_event; if (!(grid = ETK_ICONBOX_GRID(object)) || !(down_event = event_info)) @@ -859,6 +874,17 @@ grid->selection_orig_y = down_event->widget.y + grid->yoffset; grid->selection_mouse_x = grid->selection_orig_x; grid->selection_mouse_y = grid->selection_orig_y; + grid->selection_first_col = 0; + grid->selection_last_col = 0; + grid->selection_first_row = 0; + grid->selection_last_row = 0; + + if ((iconbox = grid->iconbox)) + { + Etk_Iconbox_Icon *icon; + for (icon = iconbox->first_icon; icon; icon = icon->next) + icon->was_selected = icon->selected; + } } /* Called when the mouse releases the iconbox */ @@ -916,6 +942,11 @@ icon_object = malloc(sizeof(Etk_Iconbox_Icon_Object)); icon_object->image = NULL; icon_object->label = etk_label_new(NULL); + icon_object->use_edje = ETK_FALSE; + + etk_label_alignment_set(ETK_LABEL(icon_object->label), 0.0, 0.0); + etk_widget_theme_group_set(icon_object->label, "label"); + etk_widget_theme_parent_set(icon_object->label, ETK_WIDGET(grid->iconbox)); etk_widget_parent_set(icon_object->label, ETK_WIDGET(grid)); if (grid->clip) etk_widget_clip_set(icon_object->label, grid->clip); @@ -935,7 +966,10 @@ if (icon_object->image) { etk_widget_member_object_del(ETK_WIDGET(grid), icon_object->image); - etk_cache_image_object_add(icon_object->image); + if (icon_object->use_edje) + etk_cache_edje_object_add(icon_object->image); + else + etk_cache_image_object_add(icon_object->image); } etk_object_destroy(ETK_OBJECT(icon_object->label)); @@ -963,6 +997,7 @@ icon_object_geometry.w = model->width - 2 * model->xpadding; icon_object_geometry.h = model->height - 2 * model->ypadding; + /* Render the icon */ if (icon->filename) { if (!icon->edje_group) @@ -972,6 +1007,8 @@ icon_object->image = evas_object_image_add(evas); evas_object_image_file_set(icon_object->image, icon->filename, NULL); } + icon_object->use_edje = ETK_FALSE; + evas_object_image_fill_set(icon_object->image, 0, 0, model->icon_width, model->icon_height); } else { @@ -980,27 +1017,35 @@ icon_object->image = edje_object_add(evas); edje_object_file_set(icon_object->image, icon->filename, icon->edje_group); } + icon_object->use_edje = ETK_TRUE; } - if (icon_object->image) - { - etk_widget_member_object_add(iconbox->grid, icon_object->image); - if (grid->clip) - evas_object_clip_set(icon_object->image, grid->clip); - evas_object_show(icon_object->image); - evas_object_move(icon_object->image, icon_object_geometry.x + model->icon_x, icon_object_geometry.y + model->icon_y); - evas_object_resize(icon_object->image, model->icon_width, model->icon_height); - evas_object_image_fill_set(icon_object->image, 0, 0, model->icon_width, model->icon_height); - } + etk_widget_member_object_add(iconbox->grid, icon_object->image); + if (grid->clip) + evas_object_clip_set(icon_object->image, grid->clip); + + if (icon->selected) + evas_object_color_set(icon_object->image, 226, 211, 174, 255); + else + evas_object_color_set(icon_object->image, 255, 255, 255, 255); + + evas_object_show(icon_object->image); + evas_object_move(icon_object->image, icon_object_geometry.x + model->icon_x, icon_object_geometry.y + model->icon_y); + evas_object_resize(icon_object->image, model->icon_width, model->icon_height); } + /* Render the label */ label_geometry.x = icon_object_geometry.x + model->label_x; label_geometry.y = icon_object_geometry.y + model->label_y; label_geometry.w = model->label_width; label_geometry.h = model->label_height; - etk_label_alignment_set(ETK_LABEL(icon_object->label), model->label_xalign, model->label_yalign); + etk_label_set(ETK_LABEL(icon_object->label), icon->label); + etk_widget_theme_object_signal_emit(icon_object->label, icon->selected ? "select" : "unselect"); + etk_widget_show(icon_object->label); + etk_container_child_space_fill(icon_object->label, &label_geometry, + ETK_FALSE, ETK_FALSE, model->label_xalign, model->label_yalign); etk_widget_size_allocate(icon_object->label, label_geometry); } @@ -1023,15 +1068,53 @@ /* Select the icons */ if ((model = iconbox->current_model)) { + Etk_Iconbox_Icon *icon; int first_col, last_col; int first_row, last_row; + int i, j, k; + int icon_id; + Etk_Bool need_redraw = ETK_FALSE; - first_col = (rect_geometry.x + model->icon_x) / model->width; + first_col = (rect_geometry.x + (model->width - model->icon_x - model->icon_width)) / model->width; last_col = (rect_geometry.x + rect_geometry.w - model->icon_x) / model->width; - first_row = (rect_geometry.y + model->icon_y) / model->height; + first_row = (rect_geometry.y + (model->height - model->icon_y - model->icon_height)) / model->height; last_row = (rect_geometry.y + rect_geometry.h - model->icon_y) / model->height; - printf("%d %d / %d %d\n", first_col, last_col, first_row, last_row); - }; + + first_col = ETK_CLAMP(first_col, 0, grid->num_cols - 1); + last_col = ETK_CLAMP(last_col, 0, grid->num_cols - 1); + first_row = ETK_MAX(first_row, 0); + last_row = ETK_MAX(last_row, 0); + + icon = iconbox->first_icon; + icon_id = 0; + for (i = ETK_MIN(grid->selection_first_row, first_row); i <= ETK_MAX(grid->selection_last_row, last_row); i++) + { + for (j = ETK_MIN(grid->selection_first_col, first_col); j <= ETK_MAX(grid->selection_last_col, last_col); j++) + { + for (k = icon_id; k < (i * grid->num_cols + j) && icon; k++) + { + icon = icon->next; + icon_id++; + } + if (!icon) + break; + + if (i >= first_row && i <= last_row && j >= first_col && j <= last_col) + icon->selected = !icon->was_selected; + else + icon->selected = icon->was_selected; + need_redraw = ETK_TRUE; + } + } + + grid->selection_first_col = first_col; + grid->selection_last_col = last_col; + grid->selection_first_row = first_row; + grid->selection_last_row = last_row; + + if (need_redraw) + etk_widget_redraw_queue(ETK_WIDGET(grid)); + } /* Draws the selection rect */ etk_widget_inner_geometry_get(ETK_WIDGET(grid), &x, &y, NULL, NULL); @@ -1039,4 +1122,14 @@ evas_object_resize(grid->selection_rect, rect_geometry.w, rect_geometry.h); evas_object_show(grid->selection_rect); etk_widget_member_object_raise(ETK_WIDGET(grid), grid->selection_rect); +} + +/* Selects the icon */ +static void _etk_iconbox_icon_select(Etk_Iconbox_Icon *icon) +{ + if (!icon) + return; + icon->selected = ETK_TRUE; + /* TODO */ + etk_widget_redraw_queue(icon->iconbox->grid); } =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_iconbox.h 7 Apr 2006 15:36:11 -0000 1.1 +++ etk_iconbox.h 8 Apr 2006 11:15:58 -0000 1.2 @@ -21,7 +21,8 @@ /** * @struct Etk_Iconbox_Model - * @brief TODO + * @brief Describes the model of an iconbox: it includes the position and the size of the the cells, the icons, @n + * the labels. An iconbox can have several models, and can change its current model to change the view */ struct _Etk_Iconbox_Model { @@ -62,6 +63,9 @@ void *data; void (*data_free_cb)(void *data); + + Etk_Bool was_selected; + Etk_Bool selected; }; /** |
From: Enlightenment C. <no...@cv...> - 2006-04-08 11:16:48
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/images Modified Files: Makefile.am images.edc Added Files: iconbox_label_bg.png Log Message: * [iconbox] Work on the selection rect =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 7 Apr 2006 15:36:10 -0000 1.2 +++ Makefile.am 8 Apr 2006 11:15:58 -0000 1.3 @@ -90,4 +90,5 @@ spinner_button_down2.png \ hscrollbar_trough2.png \ vscrollbar_trough2.png \ - iconbox_selection.png + iconbox_selection.png \ + iconbox_label_bg.png =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/images.edc,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- images.edc 7 Apr 2006 15:36:10 -0000 1.23 +++ images.edc 8 Apr 2006 11:15:58 -0000 1.24 @@ -82,6 +82,7 @@ image: "notebook_frame.png" COMP; image: "combo_arrow.png" COMP; image: "tooltip.png" COMP; - image: "tooltip_border.png" COMP; - image: "iconbox_selection.png" COMP; + image: "tooltip_border.png" COMP; + image: "iconbox_selection.png" COMP; + image: "iconbox_label_bg.png" COMP; } |
From: Enlightenment C. <no...@cv...> - 2006-04-08 11:16:48
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/bin Modified Files: etk_iconbox_test.c Log Message: * [iconbox] Work on the selection rect =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_iconbox_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- etk_iconbox_test.c 7 Apr 2006 15:36:10 -0000 1.1 +++ etk_iconbox_test.c 8 Apr 2006 11:15:58 -0000 1.2 @@ -46,7 +46,6 @@ etk_iconbox_model_label_geometry_set(mini_model, 20, 0, 130, 16, 0.0, 0.5); //etk_iconbox_current_model_set(ETK_ICONBOX(iconbox), mini_model); - /*for (i = 0; i < 500; i++) etk_iconbox_append(iconbox, _etk_test_iconbox_icon_filenames[rand() % _etk_test_iconbox_num_icon_filenames], NULL, "filename");*/ _etk_test_iconbox_folder_set(ETK_ICONBOX(iconbox), NULL); |
From: Enlightenment C. <no...@cv...> - 2006-04-09 12:36:37
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/lib Modified Files: etk_iconbox.c etk_iconbox.h Log Message: * [Iconbox] Add functions to change the label or the image of an icon * [Iconbox] Models can now keep the aspect ratio of the icon, and expand it if the image is too small =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_iconbox.c 8 Apr 2006 11:15:58 -0000 1.2 +++ etk_iconbox.c 9 Apr 2006 12:36:03 -0000 1.3 @@ -110,7 +110,8 @@ if (!iconbox_type) { - iconbox_type = etk_type_new("Etk_Iconbox", ETK_WIDGET_TYPE, sizeof(Etk_Iconbox), ETK_CONSTRUCTOR(_etk_iconbox_constructor), ETK_DESTRUCTOR(_etk_iconbox_destructor)); + iconbox_type = etk_type_new("Etk_Iconbox", ETK_WIDGET_TYPE, sizeof(Etk_Iconbox), + ETK_CONSTRUCTOR(_etk_iconbox_constructor), ETK_DESTRUCTOR(_etk_iconbox_destructor)); /*_etk_tree_signals[ETK_TREE_ROW_SELECTED_SIGNAL] = etk_signal_new("row_selected", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); _etk_tree_signals[ETK_TREE_ROW_UNSELECTED_SIGNAL] = etk_signal_new("row_unselected", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); @@ -169,6 +170,8 @@ model->icon_y = 0; model->icon_width = 48; model->icon_height = 48; + model->icon_expand = ETK_FALSE; + model->icon_keep_aspect = ETK_TRUE; model->label_x = 0; model->label_y = 50; @@ -251,22 +254,26 @@ /** * @brief Sets the icon geometry of the iconbox model * @param model an iconbox model - * @param icon_x the x position of the icon image of the model (min = 0) - * @param icon_y the y position of the icon image of the model (min = 0) - * @param icon_width the width of the icon image of the model (min = 10) - * @param icon_height the height of the icon image of the model (min = 10) + * @param x the x position of the icon image of the model (min = 0) + * @param y the y position of the icon image of the model (min = 0) + * @param width the width of the icon image of the model (min = 10) + * @param height the height of the icon image of the model (min = 10) + * @param expand if @a expand == ETK_TRUE, and if the icon image is smaller than the icon geometry, the image will be expanded + * @param keep_aspect if @a keep_aspect == ETK_TRUE, the icon image will keep its aspect ratio (no distortion) * @note the x/y positions are relative to the inner top left corner of the icon model: @n * i.e. the icon image will be in fact put at (model->xpadding + model->icon_x, model->ypadding + model->icon_y) */ -void etk_iconbox_model_icon_geometry_set(Etk_Iconbox_Model *model, int icon_x, int icon_y, int icon_width, int icon_height) +void etk_iconbox_model_icon_geometry_set(Etk_Iconbox_Model *model, int x, int y, int width, int height, Etk_Bool expand, Etk_Bool keep_aspect) { if (!model) return; - model->icon_x = ETK_MAX(icon_x, 0); - model->icon_y = ETK_MAX(icon_y, 0); - model->icon_width = ETK_MAX(icon_width, 10); - model->icon_height = ETK_MAX(icon_height, 10); + model->icon_x = ETK_MAX(x, 0); + model->icon_y = ETK_MAX(y, 0); + model->icon_width = ETK_MAX(width, 10); + model->icon_height = ETK_MAX(height, 10); + model->icon_expand = expand; + model->icon_keep_aspect = keep_aspect; if (model->iconbox && model->iconbox->current_model == model) { @@ -278,44 +285,51 @@ /** * @brief Gets the icon geometry of the iconbox model * @param model an iconbox model - * @param icon_x the location where to store x position of the icon image - * @param icon_y the location where to store y position of the icon image - * @param icon_width the location where to store the width of the icon image - * @param icon_height the location where to store the height of the icon image - */ -void etk_iconbox_model_icon_geometry_get(Etk_Iconbox_Model *model, int *icon_x, int *icon_y, int *icon_width, int *icon_height) -{ - if (icon_x) - *icon_x = model ? model->icon_x : 0; - if (icon_y) - *icon_y = model ? model->icon_y : 0; - if (icon_width) - *icon_width = model ? model->icon_width : 0; - if (icon_height) - *icon_height = model ? model->icon_height : 0; + * @param x the location where to store x position of the icon image + * @param y the location where to store y position of the icon image + * @param width the location where to store the width of the icon image + * @param height the location where to store the height of the icon image + * @param expand the location where to store the expand property of the model (see @a etk_iconbox_model_icon_geometry_set() ) + * @param keep_aspect the location where to store the "keep aspect ratio" property of the model (see @a etk_iconbox_model_icon_geometry_set() ) + * @see etk_iconbox_model_icon_geometry_set() + */ +void etk_iconbox_model_icon_geometry_get(Etk_Iconbox_Model *model, int *x, int *y, int *width, int *height, Etk_Bool *expand, Etk_Bool *keep_aspect) +{ + if (x) + *x = model ? model->icon_x : 0; + if (y) + *y = model ? model->icon_y : 0; + if (width) + *width = model ? model->icon_width : 0; + if (height) + *height = model ? model->icon_height : 0; + if (expand) + *expand = model ? model->icon_expand : ETK_FALSE; + if (keep_aspect) + *keep_aspect = model ? model->icon_keep_aspect : ETK_TRUE; } /** * @brief Sets the label geometry of the iconbox model * @param model an iconbox model - * @param label_x the x position of the label of the model (min = 0) - * @param label_y the y position of the label of the model (min = 0) - * @param label_width the width of the label of the model (min = 10) - * @param label_height the height of the label of the model (min = 5) + * @param x the x position of the label of the model (min = 0) + * @param y the y position of the label of the model (min = 0) + * @param width the width of the label of the model (min = 10) + * @param height the height of the label of the model (min = 5) * @param xalign the horizontal alignment of the label (from 0.0 to 1.0) * @param yalign the vertical alignment of the label * @note the x/y positions are relative to the inner top left corner of the icon model: @n * i.e. the label will be in fact put at (model->xpadding + model->label_x, model->ypadding + model->label_y) */ -void etk_iconbox_model_label_geometry_set(Etk_Iconbox_Model *model, int label_x, int label_y, int label_width, int label_height, float xalign, float yalign) +void etk_iconbox_model_label_geometry_set(Etk_Iconbox_Model *model, int x, int y, int width, int height, float xalign, float yalign) { if (!model) return; - model->label_x = ETK_MAX(label_x, 0); - model->label_y = ETK_MAX(label_y, 0); - model->label_width = ETK_MAX(label_width, 10); - model->label_height = ETK_MAX(label_height, 5); + model->label_x = ETK_MAX(x, 0); + model->label_y = ETK_MAX(y, 0); + model->label_width = ETK_MAX(width, 10); + model->label_height = ETK_MAX(height, 5); model->label_xalign = ETK_CLAMP(xalign, 0.0, 1.0); model->label_yalign = ETK_CLAMP(yalign, 0.0, 1.0); @@ -329,23 +343,23 @@ /** * @brief Gets the label geometry of the iconbox model * @param model an iconbox model - * @param label_x the location where to store x position of the label - * @param label_y the location where to store y position of the label - * @param label_width the location where to store width of the label - * @param label_height the location where to store height of the label + * @param x the location where to store x position of the label + * @param y the location where to store y position of the label + * @param width the location where to store width of the label + * @param height the location where to store height of the label * @param xalign the location where to store horizontal alignment of the label * @param yalign the location where to store vertical alignment of the label */ -void etk_iconbox_model_label_geometry_get(Etk_Iconbox_Model *model, int *label_x, int *label_y, int *label_width, int *label_height, float *xalign, float *yalign) +void etk_iconbox_model_label_geometry_get(Etk_Iconbox_Model *model, int *x, int *y, int *width, int *height, float *xalign, float *yalign) { - if (label_x) - *label_x = model ? model->label_x : 0; - if (label_y) - *label_y = model ? model->label_y : 0; - if (label_width) - *label_width = model ? model->label_width : 0; - if (label_height) - *label_height = model ? model->label_height : 0; + if (x) + *x = model ? model->label_x : 0; + if (y) + *y = model ? model->label_y : 0; + if (width) + *width = model ? model->label_width : 0; + if (height) + *height = model ? model->label_height : 0; if (xalign) *xalign = model ? model->label_xalign : 0.0; if (yalign) @@ -505,6 +519,78 @@ } /** + * @brief Sets the file used for the icon image + * @param icon an icon + * @param filename the filename of the image to use for the icon + * @param edje_group the edje group to use if the image file is an edje animation. Set it to NULL if it's a normal image + */ +void etk_iconbox_icon_file_set(Etk_Iconbox_Icon *icon, const char *filename, const char *edje_group) +{ + if (!icon) + return; + + if (icon->filename != filename) + { + free(icon->filename); + icon->filename = filename ? strdup(filename) : NULL; + } + if (icon->edje_group != edje_group) + { + free(icon->edje_group); + icon->edje_group = edje_group ? strdup(edje_group) : NULL; + } + + if (!icon->iconbox->frozen) + etk_widget_redraw_queue(icon->iconbox->grid); +} + +/** + * @brief Sets the file used for the icon image + * @param icon an icon + * @param filename a location where to store the filename of the image used by the icon + * @param edje_group a location where to store the edje group of the image used by the icon + */ +void etk_iconbox_icon_file_get(Etk_Iconbox_Icon *icon, const char **filename, const char **edje_group) +{ + if (filename) + *filename = icon ? icon->filename : NULL; + if (edje_group) + *edje_group = icon ? icon->edje_group : NULL; +} + +/** + * @brief Sets the label of the icon + * @param icon an icon + * @param label the label to set to the icon + */ +void etk_iconbox_icon_label_set(Etk_Iconbox_Icon *icon, const char *label) +{ + if (!icon) + return; + + if (icon->label != label) + { + free(icon->label); + icon->label = label ? strdup(label) : NULL; + + if (!icon->iconbox->frozen) + etk_widget_redraw_queue(icon->iconbox->grid); + } +} + +/** + * @brief Gets the label used for the icon image + * @param icon an icon + * @return Returns the label of the icon + */ +const char *etk_iconbox_icon_label_get(Etk_Iconbox_Icon *icon) +{ + if (!icon) + return NULL; + return icon->label; +} + +/** * @brief Sets a value to the data member of an icon. @n * The data could be retrieved with @a etk_iconbox_icon_row_data_get() * @param icon an icon @@ -986,6 +1072,9 @@ Etk_Iconbox_Grid *grid; Etk_Geometry icon_object_geometry; Etk_Geometry label_geometry; + int icon_w, icon_h; + float aspect_ratio; + Etk_Geometry icon_geometry; if (!icon || !icon_object || !model || !(iconbox = icon->iconbox) || !(grid = ETK_ICONBOX_GRID(iconbox->grid))) return; @@ -1008,7 +1097,7 @@ evas_object_image_file_set(icon_object->image, icon->filename, NULL); } icon_object->use_edje = ETK_FALSE; - evas_object_image_fill_set(icon_object->image, 0, 0, model->icon_width, model->icon_height); + evas_object_image_size_get(icon_object->image, &icon_w, &icon_h); } else { @@ -1017,21 +1106,50 @@ icon_object->image = edje_object_add(evas); edje_object_file_set(icon_object->image, icon->filename, icon->edje_group); } + edje_object_size_min_get(icon_object->image, &icon_w, &icon_h); icon_object->use_edje = ETK_TRUE; } - + if (icon_w <= 0 || icon_h <= 0) + { + icon_w = model->icon_width; + icon_h = model->icon_height; + } etk_widget_member_object_add(iconbox->grid, icon_object->image); - if (grid->clip) - evas_object_clip_set(icon_object->image, grid->clip); + /* TODO: theme */ if (icon->selected) evas_object_color_set(icon_object->image, 226, 211, 174, 255); else evas_object_color_set(icon_object->image, 255, 255, 255, 255); + if (grid->clip) + evas_object_clip_set(icon_object->image, grid->clip); + if (model->icon_expand) + { + icon_geometry.w = model->icon_width; + icon_geometry.h = model->icon_height; + } + else + { + icon_geometry.w = ETK_MIN(icon_w, model->icon_width); + icon_geometry.h = ETK_MIN(icon_h, model->icon_height); + } + if (model->icon_keep_aspect) + { + aspect_ratio = (float)icon_w / icon_h; + if (icon_geometry.w > icon_geometry.h * aspect_ratio) + icon_geometry.w = icon_geometry.h * aspect_ratio; + else + icon_geometry.h = icon_geometry.w / aspect_ratio; + } + icon_geometry.x = icon_object_geometry.x + model->icon_x + (model->icon_width - icon_geometry.w) / 2; + icon_geometry.y = icon_object_geometry.y + model->icon_y + (model->icon_height - icon_geometry.h) / 2; + + evas_object_move(icon_object->image, icon_geometry.x, icon_geometry.y); + evas_object_resize(icon_object->image, icon_geometry.w, icon_geometry.h); + if (!icon->edje_group) + evas_object_image_fill_set(icon_object->image, 0, 0, icon_geometry.w, icon_geometry.h); evas_object_show(icon_object->image); - evas_object_move(icon_object->image, icon_object_geometry.x + model->icon_x, icon_object_geometry.y + model->icon_y); - evas_object_resize(icon_object->image, model->icon_width, model->icon_height); } /* Render the label */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_iconbox.h 8 Apr 2006 11:15:58 -0000 1.2 +++ etk_iconbox.h 9 Apr 2006 12:36:03 -0000 1.3 @@ -37,6 +37,8 @@ int icon_y; int icon_width; int icon_height; + Etk_Bool icon_expand; + Etk_Bool icon_keep_aspect; int label_x; int label_y; @@ -100,10 +102,10 @@ void etk_iconbox_model_geometry_set(Etk_Iconbox_Model *model, int width, int height, int xpadding, int ypadding); void etk_iconbox_model_geometry_get(Etk_Iconbox_Model *model, int *width, int *height, int *xpadding, int *ypadding); -void etk_iconbox_model_icon_geometry_set(Etk_Iconbox_Model *model, int icon_x, int icon_y, int icon_width, int icon_height); -void etk_iconbox_model_icon_geometry_get(Etk_Iconbox_Model *model, int *icon_x, int *icon_y, int *icon_width, int *icon_height); -void etk_iconbox_model_label_geometry_set(Etk_Iconbox_Model *model, int label_x, int label_y, int label_width, int label_height, float xalign, float yalign); -void etk_iconbox_model_label_geometry_get(Etk_Iconbox_Model *model, int *label_x, int *label_y, int *label_width, int *label_height, float *xalign, float *yalign); +void etk_iconbox_model_icon_geometry_set(Etk_Iconbox_Model *model, int x, int y, int width, int height, Etk_Bool expand, Etk_Bool keep_aspect_ratio); +void etk_iconbox_model_icon_geometry_get(Etk_Iconbox_Model *model, int *x, int *y, int *width, int *height, Etk_Bool *expand, Etk_Bool *keep_aspect_ratio); +void etk_iconbox_model_label_geometry_set(Etk_Iconbox_Model *model, int x, int y, int width, int height, float xalign, float yalign); +void etk_iconbox_model_label_geometry_get(Etk_Iconbox_Model *model, int *x, int *y, int *width, int *height, float *xalign, float *yalign); void etk_iconbox_current_model_set(Etk_Iconbox *iconbox, Etk_Iconbox_Model *model); Etk_Iconbox_Model *etk_iconbox_current_model_get(Etk_Iconbox *iconbox); @@ -114,6 +116,12 @@ Etk_Iconbox_Icon *etk_iconbox_append(Etk_Iconbox *iconbox, const char *filename, const char *edje_group, const char *label); void etk_iconbox_icon_del(Etk_Iconbox_Icon *icon); void etk_iconbox_clear(Etk_Iconbox *iconbox); + +void etk_iconbox_icon_file_set(Etk_Iconbox_Icon *icon, const char *filename, const char *edje_group); +void etk_iconbox_icon_file_get(Etk_Iconbox_Icon *icon, const char **filename, const char **edje_group); +void etk_iconbox_icon_label_set(Etk_Iconbox_Icon *icon, const char *label); +const char *etk_iconbox_icon_label_get(Etk_Iconbox_Icon *icon); + void etk_iconbox_icon_data_set(Etk_Iconbox_Icon *icon, void *data); void etk_iconbox_icon_data_set_full(Etk_Iconbox_Icon *icon, void *data, void (*free_cb)(void *data)); void *etk_iconbox_icon_data_get(Etk_Iconbox_Icon *icon); |
From: Enlightenment C. <no...@cv...> - 2006-04-09 12:36:57
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/bin Modified Files: etk_iconbox_test.c Log Message: * [Iconbox] Add functions to change the label or the image of an icon * [Iconbox] Models can now keep the aspect ratio of the icon, and expand it if the image is too small =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_iconbox_test.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- etk_iconbox_test.c 8 Apr 2006 11:15:58 -0000 1.2 +++ etk_iconbox_test.c 9 Apr 2006 12:36:03 -0000 1.3 @@ -13,7 +13,10 @@ "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/image-x-generic.png", "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/video-x-generic.png", "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/text-html.png", - "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/application-x-executable.png" + "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/application-x-executable.png", + "/home/simon/etk/data/themes/default/images/entry.png", + "/home/simon/etk/data/themes/default/images/scrollbar_button_up1.png", + "/home/simon/etk/data/themes/default/images/scrollbar_vdrag2.png" }; static int _etk_test_iconbox_num_icon_filenames = sizeof(_etk_test_iconbox_icon_filenames) / sizeof(char *); @@ -42,7 +45,7 @@ /* Create a new iconbox model: mini view */ mini_model = etk_iconbox_model_new(ETK_ICONBOX(iconbox)); etk_iconbox_model_geometry_set(mini_model, 150, 20, 2, 2); - etk_iconbox_model_icon_geometry_set(mini_model, 0, 0, 16, 16); + etk_iconbox_model_icon_geometry_set(mini_model, 0, 0, 16, 16, ETK_FALSE, ETK_TRUE); etk_iconbox_model_label_geometry_set(mini_model, 20, 0, 130, 16, 0.0, 0.5); //etk_iconbox_current_model_set(ETK_ICONBOX(iconbox), mini_model); |
From: Enlightenment C. <no...@cv...> - 2006-04-10 09:24:15
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/images Modified Files: iconbox_selection.png Log Message: * [Iconbox] More work on selection, and add some signals signals to know when an icon is selected. Also add etk_iconbox_icon_get_at_xy() to know what icon has been pressed, clicked, released... =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/images/iconbox_selection.png,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvsbsOMBE and /tmp/cvsPdlJrN differ |
From: Enlightenment C. <no...@cv...> - 2006-04-10 09:24:14
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/lib Modified Files: etk_iconbox.c etk_iconbox.h etk_main.c Log Message: * [Iconbox] More work on selection, and add some signals signals to know when an icon is selected. Also add etk_iconbox_icon_get_at_xy() to know what icon has been pressed, clicked, released... =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_iconbox.c 9 Apr 2006 12:36:03 -0000 1.3 +++ etk_iconbox.c 10 Apr 2006 09:23:47 -0000 1.4 @@ -55,17 +55,10 @@ enum _Etk_Tree_Signal_Id { - /*ETK_TREE_ROW_SELECTED_SIGNAL, - ETK_TREE_ROW_UNSELECTED_SIGNAL, - ETK_TREE_ROW_CLICKED_SIGNAL, - ETK_TREE_ROW_ACTIVATED_SIGNAL, - ETK_TREE_ROW_EXPANDED_SIGNAL, - ETK_TREE_ROW_COLLAPSED_SIGNAL, - ETK_TREE_ROW_MOUSE_IN_SIGNAL, - ETK_TREE_ROW_MOUSE_OUT_SIGNAL, - ETK_TREE_ROW_MOUSE_MOVE_SIGNAL, - ETK_TREE_SELECT_ALL_SIGNAL, - ETK_TREE_UNSELECT_ALL_SIGNAL,*/ + ETK_ICONBOX_ICON_SELECTED_SIGNAL, + ETK_ICONBOX_ICON_UNSELECTED_SIGNAL, + ETK_ICONBOX_SELECT_ALL_SIGNAL, + ETK_ICONBOX_UNSELECT_ALL_SIGNAL, ETK_ICONBOX_NUM_SIGNALS }; @@ -90,7 +83,6 @@ static void _etk_iconbox_icon_object_delete(Etk_Iconbox_Grid *grid); static void _etk_iconbox_icon_draw(Etk_Iconbox_Icon *icon, Etk_Iconbox_Icon_Object *icon_object, Etk_Iconbox_Model *model, int x, int y); static void _etk_iconbox_grid_selection_rect_update(Etk_Iconbox_Grid *grid); -static void _etk_iconbox_icon_select(Etk_Iconbox_Icon *icon); static Etk_Signal *_etk_iconbox_signals[ETK_ICONBOX_NUM_SIGNALS]; @@ -113,19 +105,16 @@ iconbox_type = etk_type_new("Etk_Iconbox", ETK_WIDGET_TYPE, sizeof(Etk_Iconbox), ETK_CONSTRUCTOR(_etk_iconbox_constructor), ETK_DESTRUCTOR(_etk_iconbox_destructor)); - /*_etk_tree_signals[ETK_TREE_ROW_SELECTED_SIGNAL] = etk_signal_new("row_selected", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_UNSELECTED_SIGNAL] = etk_signal_new("row_unselected", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_CLICKED_SIGNAL] = etk_signal_new("row_clicked", tree_type, -1, etk_marshaller_VOID__POINTER_POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_ACTIVATED_SIGNAL] = etk_signal_new("row_activated", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_EXPANDED_SIGNAL] = etk_signal_new("row_expaned", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_COLLAPSED_SIGNAL] = etk_signal_new("row_collapsed", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_MOUSE_IN_SIGNAL] = etk_signal_new("row_mouse_in", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_MOUSE_OUT_SIGNAL] = etk_signal_new("row_mouse_out", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_ROW_MOUSE_MOVE_SIGNAL] = etk_signal_new("row_mouse_move", tree_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); - _etk_tree_signals[ETK_TREE_SELECT_ALL_SIGNAL] = etk_signal_new("select_all", tree_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); - _etk_tree_signals[ETK_TREE_UNSELECT_ALL_SIGNAL] = etk_signal_new("unselect_all", tree_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); - - etk_type_property_add(tree_type, "mode", ETK_TREE_MODE_PROPERTY, ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(ETK_TREE_MODE_LIST)); + _etk_iconbox_signals[ETK_ICONBOX_ICON_SELECTED_SIGNAL] = etk_signal_new("icon_selected", + iconbox_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); + _etk_iconbox_signals[ETK_ICONBOX_ICON_UNSELECTED_SIGNAL] = etk_signal_new("icon_unselected", + iconbox_type, -1, etk_marshaller_VOID__POINTER, NULL, NULL); + _etk_iconbox_signals[ETK_ICONBOX_SELECT_ALL_SIGNAL] = etk_signal_new("select_all", + iconbox_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); + _etk_iconbox_signals[ETK_ICONBOX_UNSELECT_ALL_SIGNAL] = etk_signal_new("unselect_all", + iconbox_type, -1, etk_marshaller_VOID__VOID, NULL, NULL); + + /*etk_type_property_add(tree_type, "mode", ETK_TREE_MODE_PROPERTY, ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(ETK_TREE_MODE_LIST)); etk_type_property_add(tree_type, "multiple_select", ETK_TREE_MULTIPLE_SELECT_PROPERTY, ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_TRUE)); etk_type_property_add(tree_type, "headers_visible", ETK_TREE_HEADERS_VISIBLE_PROPERTY, ETK_PROPERTY_BOOL, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_bool(ETK_TRUE)); etk_type_property_add(tree_type, "row_height", ETK_TREE_ROW_HEIGHT_PROPERTY, ETK_PROPERTY_INT, ETK_PROPERTY_READABLE_WRITABLE, etk_property_value_int(24)); @@ -519,6 +508,74 @@ } /** + * @brief Gets the icon located below the position (x, y). The position should be relative to the canvas + * @param iconbox an iconbox + * @param x the x position + * @param y the y position + * @param over_cell if @a over_cell == ETK_TRUE, the function will return the icon if (x, y) is over the cell of the icon + * @param over_icon if @a over_icon == ETK_TRUE, the function will return the icon if (x, y) is over the image of the icon + * @param over_icon if @a over_label == ETK_TRUE, the function will return the icon if (x, y) is over the label of the icon + * @return Returns the icon located below the position (x, y), or NULL if none + */ +Etk_Iconbox_Icon *etk_iconbox_icon_get_at_xy(Etk_Iconbox *iconbox, int x, int y, Etk_Bool over_cell, Etk_Bool over_icon, Etk_Bool over_label) +{ + Etk_Iconbox_Grid *grid; + Etk_Iconbox_Model *model; + Etk_Geometry grid_geom; + int col, row; + int icon_id; + Etk_Bool over = ETK_FALSE; + + if (!iconbox || !(grid = ETK_ICONBOX_GRID(iconbox->grid)) || grid->num_cols <= 0 || !(model = iconbox->current_model)) + return NULL; + + etk_widget_inner_geometry_get(iconbox->grid, &grid_geom.x, &grid_geom.y, &grid_geom.w, &grid_geom.h); + if (x < grid_geom.x || y < grid_geom.y || x > grid_geom.x + grid_geom.w || y > grid_geom.y + grid_geom.h) + return NULL; + + col = (x - grid_geom.x + grid->xoffset) / iconbox->current_model->width; + row = (y - grid_geom.y + grid->yoffset) / iconbox->current_model->height; + icon_id = row * grid->num_cols + col; + if (col >= grid->num_cols || icon_id >= iconbox->num_icons) + return NULL; + + if (over_cell) + over = ETK_TRUE; + else + { + if (over_icon) + { + int icon_x, icon_y; + + icon_x = grid_geom.x - grid->xoffset + (col * model->width) + model->xpadding + model->icon_x; + icon_y = grid_geom.y - grid->yoffset+ (row * model->height) + model->ypadding + model->icon_y; + if (x >= icon_x && x <= icon_x + model->icon_width && y >= icon_y && y <= icon_y + model->icon_height) + over = ETK_TRUE; + } + if (over_label) + { + int label_x, label_y; + + label_x = grid_geom.x - grid->xoffset + (col * model->width) + model->xpadding + model->label_x; + label_y = grid_geom.y - grid->yoffset + (row * model->height) + model->ypadding + model->label_y; + if (x >= label_x && x <= label_x + model->label_width && y >= label_y && y <= label_y + model->label_height) + over = ETK_TRUE; + } + } + + if (over) + { + int i; + Etk_Iconbox_Icon *icon; + + for (i = 0, icon = iconbox->first_icon; i < icon_id && icon; i++, icon = icon->next); + return icon; + } + else + return NULL; +} + +/** * @brief Sets the file used for the icon image * @param icon an icon * @param filename the filename of the image to use for the icon @@ -632,6 +689,84 @@ return icon->data; } +/** + * @brief Selects all the icons of the iconbox + * @param iconbox an iconbox + */ +void etk_iconbox_select_all(Etk_Iconbox *iconbox) +{ + Etk_Iconbox_Icon *icon; + + if (!iconbox) + return; + + for (icon = iconbox->first_icon; icon; icon = icon->next) + icon->selected = ETK_TRUE; + + etk_widget_redraw_queue(iconbox->grid); + etk_signal_emit(_etk_iconbox_signals[ETK_ICONBOX_SELECT_ALL_SIGNAL], ETK_OBJECT(iconbox), NULL); +} + +/** + * @brief Unselects all the icons of the iconbox + * @param iconbox an iconbox + */ +void etk_iconbox_unselect_all(Etk_Iconbox *iconbox) +{ + Etk_Iconbox_Icon *icon; + + if (!iconbox) + return; + + for (icon = iconbox->first_icon; icon; icon = icon->next) + icon->selected = ETK_FALSE; + + etk_widget_redraw_queue(iconbox->grid); + etk_signal_emit(_etk_iconbox_signals[ETK_ICONBOX_UNSELECT_ALL_SIGNAL], ETK_OBJECT(iconbox), NULL); +} + +/** + * @brief Selects the icon + * @param icon the icon to select + */ +void etk_iconbox_icon_select(Etk_Iconbox_Icon *icon) +{ + if (!icon) + return; + icon->selected = ETK_TRUE; + + if (!icon->iconbox->frozen) + etk_widget_redraw_queue(icon->iconbox->grid); + etk_signal_emit(_etk_iconbox_signals[ETK_ICONBOX_ICON_SELECTED_SIGNAL], ETK_OBJECT(icon->iconbox), NULL, icon); +} + +/** + * @brief Unselects the icon + * @param icon the icon to select + */ +void etk_iconbox_icon_unselect(Etk_Iconbox_Icon *icon) +{ + if (!icon) + return; + icon->selected = ETK_FALSE; + + if (!icon->iconbox->frozen) + etk_widget_redraw_queue(icon->iconbox->grid); + etk_signal_emit(_etk_iconbox_signals[ETK_ICONBOX_ICON_UNSELECTED_SIGNAL], ETK_OBJECT(icon->iconbox), NULL, icon); +} + +/** + * @brief Gets whether the icon is selected + * @param icon an icon + * @return Returns ETK_TRUE if the icon is selected, ETK_FALSE otherwise + */ +Etk_Bool etk_iconbox_is_selected(Etk_Iconbox_Icon *icon) +{ + if (!icon) + return ETK_FALSE; + return icon->selected; +} + /************************** * * Etk specific functions @@ -815,15 +950,14 @@ /* Draw the icons */ + l = grid->icon_objects; if (iconbox->current_model) { first_icon_id = (grid->yoffset / iconbox->current_model->height) * num_cols + (grid->xoffset / iconbox->current_model->width); for (i = 0, icon = iconbox->first_icon; i < first_icon_id && icon; i++, icon = icon->next); - l = grid->icon_objects; y = -(grid->yoffset % iconbox->current_model->height) + geometry.y; - for (i = 0; i < num_rows; i++) { x = -(grid->xoffset % iconbox->current_model->width) + geometry.x; @@ -950,24 +1084,46 @@ { Etk_Iconbox_Grid *grid; Etk_Iconbox *iconbox; + Etk_Iconbox_Icon *icon; Etk_Event_Mouse_Up_Down *down_event; + Etk_Bool ctrl_pressed; - if (!(grid = ETK_ICONBOX_GRID(object)) || !(down_event = event_info)) + if (!(grid = ETK_ICONBOX_GRID(object)) || !(down_event = event_info) || !(iconbox = grid->iconbox)) return; - grid->selection_started = ETK_TRUE; - grid->selection_orig_x = down_event->widget.x + grid->xoffset; - grid->selection_orig_y = down_event->widget.y + grid->yoffset; - grid->selection_mouse_x = grid->selection_orig_x; - grid->selection_mouse_y = grid->selection_orig_y; - grid->selection_first_col = 0; - grid->selection_last_col = 0; - grid->selection_first_row = 0; - grid->selection_last_row = 0; + if (down_event->button != 1) + return; - if ((iconbox = grid->iconbox)) + ctrl_pressed = evas_key_modifier_is_set(down_event->modifiers, "Control"); + if ((icon = etk_iconbox_icon_get_at_xy(iconbox, down_event->canvas.x, down_event->canvas.y, ETK_FALSE, ETK_TRUE, ETK_TRUE))) { - Etk_Iconbox_Icon *icon; + if (ctrl_pressed) + { + if (icon->selected) + etk_iconbox_icon_unselect(icon); + else + etk_iconbox_icon_select(icon); + } + else + { + etk_iconbox_unselect_all(iconbox); + etk_iconbox_icon_select(icon); + } + } + else + { + grid->selection_started = ETK_TRUE; + grid->selection_orig_x = down_event->widget.x + grid->xoffset; + grid->selection_orig_y = down_event->widget.y + grid->yoffset; + grid->selection_mouse_x = grid->selection_orig_x; + grid->selection_mouse_y = grid->selection_orig_y; + grid->selection_first_col = 0; + grid->selection_last_col = 0; + grid->selection_first_row = 0; + grid->selection_last_row = 0; + + if (!ctrl_pressed) + etk_iconbox_unselect_all(iconbox); for (icon = iconbox->first_icon; icon; icon = icon->next) icon->was_selected = icon->selected; } @@ -982,8 +1138,14 @@ if (!(grid = ETK_ICONBOX_GRID(object)) || !(up_event = event_info)) return; - grid->selection_started = ETK_FALSE; - evas_object_hide(grid->selection_rect); + if (up_event->button != 1) + return; + + if (grid->selection_started) + { + grid->selection_started = ETK_FALSE; + evas_object_hide(grid->selection_rect); + } } /* Called when the mouse moves over the iconbox */ @@ -1028,6 +1190,7 @@ icon_object = malloc(sizeof(Etk_Iconbox_Icon_Object)); icon_object->image = NULL; icon_object->label = etk_label_new(NULL); + etk_widget_repeat_mouse_events_set(icon_object->label, ETK_TRUE); icon_object->use_edje = ETK_FALSE; etk_label_alignment_set(ETK_LABEL(icon_object->label), 0.0, 0.0); @@ -1240,14 +1403,4 @@ evas_object_resize(grid->selection_rect, rect_geometry.w, rect_geometry.h); evas_object_show(grid->selection_rect); etk_widget_member_object_raise(ETK_WIDGET(grid), grid->selection_rect); -} - -/* Selects the icon */ -static void _etk_iconbox_icon_select(Etk_Iconbox_Icon *icon) -{ - if (!icon) - return; - icon->selected = ETK_TRUE; - /* TODO */ - etk_widget_redraw_queue(icon->iconbox->grid); } =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_iconbox.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_iconbox.h 9 Apr 2006 12:36:03 -0000 1.3 +++ etk_iconbox.h 10 Apr 2006 09:23:47 -0000 1.4 @@ -116,6 +116,7 @@ Etk_Iconbox_Icon *etk_iconbox_append(Etk_Iconbox *iconbox, const char *filename, const char *edje_group, const char *label); void etk_iconbox_icon_del(Etk_Iconbox_Icon *icon); void etk_iconbox_clear(Etk_Iconbox *iconbox); +Etk_Iconbox_Icon *etk_iconbox_icon_get_at_xy(Etk_Iconbox *iconbox, int x, int y, Etk_Bool over_cell, Etk_Bool over_icon, Etk_Bool over_label); void etk_iconbox_icon_file_set(Etk_Iconbox_Icon *icon, const char *filename, const char *edje_group); void etk_iconbox_icon_file_get(Etk_Iconbox_Icon *icon, const char **filename, const char **edje_group); @@ -125,6 +126,13 @@ void etk_iconbox_icon_data_set(Etk_Iconbox_Icon *icon, void *data); void etk_iconbox_icon_data_set_full(Etk_Iconbox_Icon *icon, void *data, void (*free_cb)(void *data)); void *etk_iconbox_icon_data_get(Etk_Iconbox_Icon *icon); + +void etk_iconbox_select_all(Etk_Iconbox *iconbox); +void etk_iconbox_unselect_all(Etk_Iconbox *iconbox); + +void etk_iconbox_icon_select(Etk_Iconbox_Icon *icon); +void etk_iconbox_icon_unselect(Etk_Iconbox_Icon *icon); +Etk_Bool etk_iconbox_is_selected(Etk_Iconbox_Icon *icon); /** @} */ =================================================================== RCS file: /cvs/e/e17/proto/etk/src/lib/etk_main.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- etk_main.c 7 Apr 2006 15:36:11 -0000 1.18 +++ etk_main.c 10 Apr 2006 09:23:47 -0000 1.19 @@ -163,9 +163,8 @@ */ void etk_main_iteration_queue() { - if (_etk_main_iterate_job) - ecore_job_del(_etk_main_iterate_job); - _etk_main_iterate_job = ecore_job_add(_etk_main_iterate_job_cb, NULL); + if (!_etk_main_iterate_job) + _etk_main_iterate_job = ecore_job_add(_etk_main_iterate_job_cb, NULL); } /** |
From: Enlightenment C. <no...@cv...> - 2006-04-10 09:24:15
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/src/bin Modified Files: etk_iconbox_test.c Log Message: * [Iconbox] More work on selection, and add some signals signals to know when an icon is selected. Also add etk_iconbox_icon_get_at_xy() to know what icon has been pressed, clicked, released... =================================================================== RCS file: /cvs/e/e17/proto/etk/src/bin/etk_iconbox_test.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- etk_iconbox_test.c 9 Apr 2006 12:36:03 -0000 1.3 +++ etk_iconbox_test.c 10 Apr 2006 09:23:47 -0000 1.4 @@ -5,9 +5,39 @@ #include <Ecore_Data.h> #include <Ecore_File.h> +typedef struct _Etk_Test_Iconbox_Types +{ + void *extension; + char *icon; +} Etk_Test_Iconbox_Types; + +static void _etk_test_iconbox_mouse_up_cb(Etk_Object *object, void *event_info, void *data); static void _etk_test_iconbox_folder_set(Etk_Iconbox *iconbox, const char *folder); -static char *_etk_test_iconbox_icon_filenames[] = +static Etk_Test_Iconbox_Types _etk_test_iconbox_types[] = +{ + { "jpg", "mimetypes/image-x-generic_48" }, + { "jpeg", "mimetypes/image-x-generic_48" }, + { "png", "mimetypes/image-x-generic_48" }, + { "bmp", "mimetypes/image-x-generic_48" }, + { "gif", "mimetypes/image-x-generic_48" }, + { "mp3", "mimetypes/audio-x-generic_48" }, + { "ogg", "mimetypes/audio-x-generic_48" }, + { "wav", "mimetypes/audio-x-generic_48" }, + { "avi", "mimetypes/video-x-generic_48" }, + { "mpg", "mimetypes/video-x-generic_48" }, + { "mpeg", "mimetypes/video-x-generic_48" }, + { "gz", "mimetypes/package-x-generic_48" }, + { "tgz", "mimetypes/package-x-generic_48" }, + { "bz2", "mimetypes/package-x-generic_48" }, + { "tbz2", "mimetypes/package-x-generic_48" }, + { "zip", "mimetypes/package-x-generic_48" }, + { "rar", "mimetypes/package-x-generic_48" }, +}; +static int _etk_test_iconbox_num_types = sizeof(_etk_test_iconbox_types) / sizeof (_etk_test_iconbox_types[0]); +static Etk_String *_etk_test_iconbox_current_folder = NULL; + +/*static char *_etk_test_iconbox_icon_filenames[] = { "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/audio-x-generic.png", "/home/simon/etk/data/icons/default/icons/48x48/mimetypes/image-x-generic.png", @@ -18,7 +48,7 @@ "/home/simon/etk/data/themes/default/images/scrollbar_button_up1.png", "/home/simon/etk/data/themes/default/images/scrollbar_vdrag2.png" }; -static int _etk_test_iconbox_num_icon_filenames = sizeof(_etk_test_iconbox_icon_filenames) / sizeof(char *); +static int _etk_test_iconbox_num_icon_filenames = sizeof(_etk_test_iconbox_icon_filenames) / sizeof(char *);*/ /* Creates the window for the iconbox test */ void etk_test_iconbox_window_create(void *data) @@ -26,7 +56,7 @@ static Etk_Widget *win = NULL; Etk_Widget *iconbox; Etk_Iconbox_Model *mini_model; - int i; + //int i; if (win) { @@ -41,6 +71,7 @@ iconbox = etk_iconbox_new(); etk_container_add(ETK_CONTAINER(win), iconbox); + etk_signal_connect("mouse_up", ETK_OBJECT(iconbox), ETK_CALLBACK(_etk_test_iconbox_mouse_up_cb), NULL); /* Create a new iconbox model: mini view */ mini_model = etk_iconbox_model_new(ETK_ICONBOX(iconbox)); @@ -56,6 +87,26 @@ etk_widget_show_all(win); } +/* Called when the iconbox is pressed by the mouse */ +static void _etk_test_iconbox_mouse_up_cb(Etk_Object *object, void *event_info, void *data) +{ + Etk_Iconbox *iconbox; + Etk_Iconbox_Icon *icon; + Etk_Event_Mouse_Up_Down *event; + Etk_String *new_folder; + + if (!(iconbox = ETK_ICONBOX(object)) || !(event = event_info)) + return; + if (event->button != 1) + return; + if (!(icon = etk_iconbox_icon_get_at_xy(iconbox, event->canvas.x, event->canvas.y, ETK_FALSE, ETK_TRUE, ETK_TRUE))) + return; + + new_folder = etk_string_new_printf("%s/%s", etk_string_get(_etk_test_iconbox_current_folder), etk_iconbox_icon_label_get(icon)); + _etk_test_iconbox_folder_set(iconbox, etk_string_get(new_folder)); + etk_object_destroy(ETK_OBJECT(new_folder)); +} + /* Sets the folder displayed in the iconbox */ static void _etk_test_iconbox_folder_set(Etk_Iconbox *iconbox, const char *folder) { @@ -71,7 +122,9 @@ return; etk_iconbox_clear(iconbox); + etk_iconbox_append(iconbox, etk_theme_icon_theme_get(), "actions/go-up_48", ".."); + /* First, add the folders */ ecore_list_goto_first(files); while ((filename = ecore_list_next(files))) { @@ -85,6 +138,7 @@ etk_iconbox_append(iconbox, etk_theme_icon_theme_get(), "places/folder_48", filename); } + /* Then the files */ ecore_list_goto_first(files); while ((filename = ecore_list_next(files))) { @@ -101,18 +155,22 @@ if ((ext = strrchr(filename, '.')) && (ext = ext + 1)) { - /*for (i = 0; i < _etk_filechooser_num_icons; i++) + for (i = 0; i < _etk_test_iconbox_num_types; i++) { - if (strcasecmp(ext, _etk_filechooser_icons[i].extension) == 0) + if (strcasecmp(ext, _etk_test_iconbox_types[i].extension) == 0) { - icon = _etk_filechooser_icons[i].icon; + icon = _etk_test_iconbox_types[i].icon; break; } - }*/ + } } - etk_iconbox_append(iconbox, etk_theme_icon_theme_get(), "mimetypes/audio-x-generic_48", filename); + etk_iconbox_append(iconbox, etk_theme_icon_theme_get(), icon ? icon : "mimetypes/text-x-generic_48", filename); } ecore_list_destroy(files); + + if (!_etk_test_iconbox_current_folder) + _etk_test_iconbox_current_folder = etk_string_new(NULL); + etk_string_set(_etk_test_iconbox_current_folder, folder); } |
From: Enlightenment C. <no...@cv...> - 2006-04-11 15:03:44
|
Enlightenment CVS committal Author : moom Project : e17 Module : proto Dir : e17/proto/etk/data/themes/default/widgets Modified Files: combobox.edc Log Message: * [Iconbox] Clip only the icons that are on the edges, it seems to improve perfs a bit =================================================================== RCS file: /cvs/e/e17/proto/etk/data/themes/default/widgets/combobox.edc,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- combobox.edc 7 Apr 2006 15:36:10 -0000 1.4 +++ combobox.edc 11 Apr 2006 15:03:12 -0000 1.5 @@ -1,9 +1,6 @@ group { name: "combobox/button"; min: 0 32; - data { - item: "inset" "8 8 8 8"; - } parts { part { name: "combo_button"; |