@@@ [style configure] -- make sure changes get propagated to ElementImpl's.
@@@ change TTK_LAYOUT_AROUND to TTK_LAYOUT_BORDER; update WidgetGeometry()
to use TTK_LAYOUT_BORDER-tagged element to set internal padding.
@@@ Layout engine BUG: TTK_LAYOUT_INSIDE, TTK_LAYOUT_BORDER nodes
must be the sole children of their parent node, otherwise
reqsize calculation is wrong. (probable cause of problem:
INSIDE/BORDER flags lack a packing specification).
@@@ TTK_LayoutFindNode, [$sb identify], &c -- need a way to identify
nodes by name instead of class.
VERY IMPORTANT: error-checking in AllocateResources(), DeallocateResources().
This is a sure-fire way to crash.
~~ Layout engine:
+ Reimplement; the current design is subtly but fatally flawed.
+ Change ElementSpec draw procedure to take a TTK_Box * instead
of separate x, y, width, height arguments.
~~ General:
+ add fallback fallback "null" element
+ Need per-engine cleanup procedures.
+ Rethink resource allocation (AllocateResource,DeallocateResources)
+ Provide for drawing by parent style engine. In the XP theme, if
themeing is disabled then we need to revert to win32 compatible
drawing (eg: alt theme).
+ [style configure] should schedule a WorldChanged call
+ WorldChanged handler should reload all elements
+ Need: windows-native theme (use native (non-XP-theme) widgets)
+ Need: MacOSX-native theme (ditto).
~~ Buttons, checkbuttons, radiobuttons:
+ rename 'compound' element to 'label', 'label' => 'text'
+ add -width resource to text element; negative -width => minimum.
+ [$checkbutton configure -variable foo] does not set state
+ [$label configure -textvariable foo] does not update -text
+ alt theme: focus ring should go around text (in check/radio buttons)
(maybe we can get away with not doing this...)
~~ Scrollbars:
+ Need a way to specify per-element state, so arrows press, etc&
(@@@ done; need a _different_ way)
(@@@ found a different way, still doesn't work right)
+ minimum width/height for thumb element.
(Problem: this should really be determined by the theme,
but the scrollbar widget itself needs to know this value).
(Finally fixed, 4 Jan 2004)
+ classic theme: scrollbar arrows don't look quite right.
+ alt theme: scrollbar arrows don't look quite right.
+ scrollbar elements don't activate/prelight on hover.
~~ Windows:
+ XPTheme: draw focus ring
+ AltTheme: focus ring looks wrong on Windows
~ Eventually:
+ Make 'alt' theme the default (or something even simpler),
move Motif L&F to "classic" theme.
~ Suggested changes to Tk:
+ Need TK_OPTION_IMAGE resource type
+ Expose some of Tk's internals (esp. Windows-specific stuff):
++ TkWinGetDrawableDC
++ TkGetOptionSpec
+ Some way to invoke WorldChanged class proc of all widgets.