Anatomy of a Widget (2)

Widgets do not "have" attributes

Attributes are either:

default values defined in UStyle specifications

inherited from the instance graph

(dynamically) added as children

Generic controller

common to all Containers

parameterized by widgets

ex: UMode::CanArm, UMode::CanSelectText

can cooperate with sub-controllers

ex: ubutton( uedit() + str + ... )