TIP 555: Enable listing of layouts in ttk::Themes

Login
Bounty program for improvements to Tcl and certain Tcl packages.
Author:         Manfred Rosenberger<[email protected]>
State:          Draft
Type:           Project
Vote:           ...
Created:        19-Nov-2019
Tcl-Version:	8.6
Post-History:
Tcl-Branch:     tip-555

Abstract

This tip proposes listing of available layouts in ttk::theme

Rationale

inside a theme I can ask for known layouts but cannot ask for all other predefined layouts like I can ask for all predefined elements:

ttk::style element names

... Vertical.Scale.slider Horizontal.Scrollbar.thumb downarrow Combobox.field sizegrip ...

Inside a ttk::style I can add a new layout, e.g.:
ttk::style layout \
Left.Accordion {
Button.button -children {
Left.Accordion.focus -children {
Left.Accordion.padding -children {
Left.Accordion.label -sticky w
}}}}

I can test the layout in query this layout by its name:

ttk::style layout Left.Accordion
... Button.button -sticky nswe -children {Left.Accordion.focus -sticky nswe -children {Left.Accordion.padding -sticky nswe -children {Left.Accordion.label -sticky w}}}

or test it by using it in a ttk widget
ttk::button parent.bt -text "button" -style Left.AccordionButton

the issue:

Expected Feature

I want to check if my prefered theme does provide all the required layouts of my gui.

Proposal

I expect something like this
ttk::style layout names

Impact