(Style) Property review



I took some time last night to look over the impressive list of
properties of all widgets. Here are some cleanups that we might
consider for GTK3:

1) GtkDialog::has-separator
    GtkMessageDialog::use-separator

We should just remove these, I think. Dialogs don't need separators.

2) GtkStatusIcon::blinking

This is just a bad idea and should be killed.

3) GtkIconView::orientation
    GtkCellRendererProgress::orientation
    GtkProgressBar::orientation

These conflict with GtkOrientable::orientation, and should be renamed.
For the icon view, I propose to rename to ::item-orientation. The
progress orientation properties could also be split into an
orientable-compatible orientation
and an 'inverted' property.

There are several cases where we seem to have a mixup between style
and non-style properties:

4) We have a shadow-type property in GtkEntry, GtkFrame,
GtkScrolledWindow, GtkArrow, GtkHandleBox and GtkViewport.  But we
have a shadow-type style property in GtkStatusbar, GtkSpinButton,
GtkMenuBar, GtkToolbar and GtkComboBox. Not sure what the best way
forward is here.

5) We have an indicator-size property in GtkCellRendererToggle , but
indicator-size style-property in GtkCheckButton and GtkCheckMenuItem.
This was unavoidable, since cell renderers are not widgets and can't
have style properties. Maybe the style-context work will let us fix
that.

'opt-in' style properties: These were added over time to let themes
opt-in to some new GTK feature, typically more detailed detail
strings.

6) GtkEntry::state-hint
    GtkTreeView::row-ending-details
    GtkRange::activate-slider
    GtkRange::stepper-position-details
    GtkRange::trough-side-details
    GtkWidget::wide-separators

I think all of these should be removed, and themes will be expected to
handle the richer details.

7) There's a whole zoo of layout (padding, spacing) related properties
and style properties. I haven't had the time to sort those out yet.


Comments ?


Matthias


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]