Unnamed Fossil Project

Artifact [72e3d37381]
Login

Artifact [72e3d37381]

Artifact 72e3d37381ff7da7d0d09c123d8501f8b904bf2747a6bc1d9b8d55f1af3a7e83:



@@@ [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.