Hello.
Since we are planning to rename/move elm_widgets to efl_ui_widgets,
and since widgets which inherits efl_ui_layout will have a resize_obj with
new edj group,
I think we finally get a chance to change edc group naming convention for
new efl_ui_widgets.

Current group name for default button is
"elm/button/base/default", which is
"elm/[klass]/[group]/[style]".

This naming rule works fine with a widgets which works independently,
but something bad happens when a widget has another widget as its component.

For example, below two groups are used in elm_colorselector.
1. "elm/colorselector/picker/default" ,
2. "elm/button/base/colorselector/left/default"

The first one is elm_layout set by "elm_layout_theme_set(layout,
"colorselector", "picker", [style])"
and the second one is elm_button set by "elm_object_style_set(button,
"colorselector/left/[style])".
So the button's style is "colorselector/left/default".

IMO, this is not desirable.
When I change colorselector's style into "dark", the button will be first
set to "elm/button/base/dark"
and then "elm/button/base/colorselector/left/dark.
Also, style name will be getting worse, if colorselector is used in another
widgets as a component.

So I want to keep the button's style as "default", which is the same with
that of colorselector,
and what's left we can change is "klass" and "group".

I think we have 2 options:

Rule 1. "klass" now refers to the class of "base" widget, and "group" is
role name of component.
    In this case, class name of the component(eg:button) will be omitted.
Rule 2. "klass" is a class name of the component, and "group" contains
class name of "base" widget
    and role name of component.

For example, elm_spinner has only 4 components: base, inc_btn, dec_btn, and
text_btn.

If I apply Rule 1., group names would be
   "spinner/base/default"
   "spinner/inc_btn/default"
   "spinner/dec_btn/default"
   "spinner/text_btn/default"

Rule 2 would be
   "spinner/base/default"
   "button/spinner_inc_btn/default"
   "button/spinner_dec_btn/default"
   "button/spinner_text_btn/default"

With these rules recursive cases works fine.
If efl_ui_clock uses spinner to choose date instead of diskselector (just
assumption)

Rule 1.
   "clock/date/default"
   "clock/date_inc_btn"
   "clock/date_dec_btn"
   "clock/date_text_btn"

Rule 2.
   "spinner/clock_date/default"
   "button/clock_date_inc_btn/default"
   "button/clock_date_dec_btn/default"
   "button/clock_date_text_btn/default"


I think whether 1 or 2 is just matter of personal preference.
Please share your opinion which looks better and feel free to present if
there is better idea.


PS. I just temporarily used separator '/' and '_' ,
       We can talk in another thread about which separator looks good.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to