rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=89a70c2e6d94dc46a4a6c77cbe1bba3039bd0d8a
commit 89a70c2e6d94dc46a4a6c77cbe1bba3039bd0d8a Author: Mykyta Biliavskyi <[email protected]> Date: Wed Jun 8 15:47:38 2016 +0300 Property textblock style manager: prepare infrastructure for tooltips. --- src/bin/ui/property/property_textblock.c | 107 ++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 36 deletions(-) diff --git a/src/bin/ui/property/property_textblock.c b/src/bin/ui/property/property_textblock.c index cb646aa..30fd6da 100644 --- a/src/bin/ui/property/property_textblock.c +++ b/src/bin/ui/property/property_textblock.c @@ -1116,13 +1116,15 @@ _init_cb(Property_Attribute *pa, Property_Action *action) /* blocks */ static inline void _action_internal(Property_Action *action, const char *name, const char *units, - Property_Control control_type, Attribute_Textblock_Item attribute) + Property_Control control_type, Attribute_Textblock_Item attribute, + const char *tooltip) { /* check that we haven't inited this action already */ assert(action->update_cb == NULL); action->name = name; action->units = units; + action->tooltip = eina_stringshare_add(tooltip); action->control_type = control_type; action->type.attribute_textblock = attribute; action->init_cb = _init_cb; @@ -1132,9 +1134,10 @@ _action_internal(Property_Action *action, const char *name, const char *units, static inline void _action1(Property_Attribute *pa, const char *name, const char *units, - Property_Control control_type, Attribute_Textblock_Item attribute) + Property_Control control_type, Attribute_Textblock_Item attribute, + const char *tooltip) { - _action_internal(&pa->action1, name, units, control_type, attribute); + _action_internal(&pa->action1, name, units, control_type, attribute, tooltip); assert(attribute_map[attribute].pa == NULL); assert(attribute_map[attribute].action == NULL); @@ -1145,9 +1148,10 @@ _action1(Property_Attribute *pa, const char *name, const char *units, static inline void _action2(Property_Attribute *pa, const char *name, const char *units, - Property_Control control_type, Attribute_Textblock_Item attribute) + Property_Control control_type, Attribute_Textblock_Item attribute, + const char *tooltip) { - _action_internal(&pa->action2, name, units, control_type, attribute); + _action_internal(&pa->action2, name, units, control_type, attribute, tooltip); assert(attribute_map[attribute].pa == NULL); assert(attribute_map[attribute].action == NULL); @@ -1217,23 +1221,28 @@ _init_items() break; case PROPERTY_TEXTBLOCK_ITEM_TEXT_FONT_NAME: IT.name = "Font name"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_ENTRY, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_NAME); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_ENTRY, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_NAME, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WEIGHT: IT.name = "Font style (weight)"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WEIGHT); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WEIGHT, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WIDTH: IT.name = "Font style (width)"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WIDTH); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_FONT_STYLE_WIDTH, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_TEXT_COLOR: IT.name = "Color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_COLOR, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_TEXT_SIZE: IT.name = "Size"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_SIZE); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_TEXT_SIZE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_POSITION_TITLE: @@ -1244,20 +1253,25 @@ _init_items() break; case PROPERTY_TEXTBLOCK_ITEM_POSITION_ALIGN_HOR: IT.name = "Horizontal align"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_ALIGN_HOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_ALIGN_HOR, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_POSITION_ALIGN_VER: IT.name = "Vertical align"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_ALIGN_VER); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_ALIGN_VER, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_POSITION_MARGIN: IT.name = "Margin"; - _action1(&IT, "left", "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_MARGIN_LEFT); - _action2(&IT, "right", "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_MARGIN_RIGHT); + _action1(&IT, "left", "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_MARGIN_LEFT, + _("")); + _action2(&IT, "right", "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_MARGIN_RIGHT, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_POSITION_WRAP: IT.name = "Wrap"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_WRAP); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_POSITION_WRAP, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_TITLE: @@ -1268,29 +1282,37 @@ _init_items() break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_TABSTOPS: IT.name = "Tabstops"; - _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_TABSTOPS); + _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_TABSTOPS, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_LINE_SIZE: IT.name = "Line size"; - _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_LINE_SIZE); + _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_LINE_SIZE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_BG_COLOR: IT.name = "Background color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_BG_COLOR_CHECK); - _action2(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_BG_COLOR_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_BG_COLOR_CHECK, + _("")); + _action2(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_BG_COLOR_COLOR, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_PASSWORD: IT.name = "Password field"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_PASSWORD); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_PASSWORD, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_ELLIPSIS: IT.name = "Ellipsis"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_ELLIPSIS_CHECK); - _action2(&IT, NULL, NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_ELLIPSIS_VALUE); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_ELLIPSIS_CHECK, + _("")); + _action2(&IT, NULL, NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_ELLIPSIS_VALUE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_FORMAT_LINE_RELATED_SIZE: IT.name = "Line related size"; - _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_LINE_RELATED_SIZE); + _action1(&IT, NULL, "px", PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_FORMAT_LINE_RELATED_SIZE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_TITLE: @@ -1301,26 +1323,31 @@ _init_items() break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_STYLE: IT.name = "Style"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_STYLE); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_STYLE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_COLOR: IT.name = "Color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_COLOR, + _("")); IT.filter_cb = _direction_filter_cb; break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_DIRECTION: IT.name = "Direction"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_DIRECTION); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_DIRECTION, + _("")); IT.filter_cb = _direction_filter_cb; break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_OUTER_COLOR: IT.name = "Outer glow color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_OUTER_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_OUTER_COLOR, + _("")); IT.filter_cb = _no_direction_filter_cb; break; case PROPERTY_TEXTBLOCK_ITEM_GLOW_SHADOW_INNER_COLOR: IT.name = "Inner glow color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_INNER_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_GLOW_SHADOW_INNER_COLOR, + _("")); IT.filter_cb = _no_direction_filter_cb; break; @@ -1332,33 +1359,41 @@ _init_items() break; case PROPERTY_TEXTBLOCK_ITEM_LINES_STRIKETHROUGH: IT.name = "Strikethrough color"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_STRIKETHROUGH_CHECK); - _action2(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_STRIKETHROUGH_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_CHECK, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_STRIKETHROUGH_CHECK, + _("")); + _action2(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_STRIKETHROUGH_COLOR, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LINES_UNDERLINE: IT.name = "Underline"; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COMBOBOX, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_ONE: IT.name = "Underline color one"; IT.filter_cb = _underline_filter_cb; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_ONE); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_ONE, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_TWO: IT.name = "Underline color two"; IT.filter_cb = _underline_filter_cb; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_TWO); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_COLOR_TWO, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH: IT.name = "Underline dash"; IT.filter_cb = _underline_filter_cb; - _action1(&IT, "width", NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_WIDTH); - _action2(&IT, "gap", NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_GAP); + _action1(&IT, "width", NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_WIDTH, + _("")); + _action2(&IT, "gap", NULL, PROPERTY_CONTROL_SPINNER, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_GAP, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_COLOR: IT.name = "Underline dash color"; IT.filter_cb = _underline_filter_cb; - _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_COLOR); + _action1(&IT, NULL, NULL, PROPERTY_CONTROL_COLOR, ATTRIBUTE_TEXTBLOCK_ITEM_LINES_UNDERLINE_DASH_COLOR, + _("")); break; case PROPERTY_TEXTBLOCK_ITEM_LAST: --
