At the present moment, Substance APIs are scattered across multiple places.
SubstanceLookAndFeel class methods (static)
SubstanceLookAndFeel string constants that are used as UIManager keys
SubstanceLookAndFeel string constants that are used as component client property keys
Implicit scanning of META-INF/substance-plugin.xml to find and instantiate plugins
Implicit scanning of META-INF/lafwidget.properties to find and instantiate widgets
The plan is to unify all the APIs into a single tiered structure, where each tier explicitly specifies what is the scope of the specific API. The proposed tiers are:
Global
Root pane - all views in the specific root pane
Component and children - applies to the component and its immediate children
Component and descendants - applies to the component and all of its child hierarchy
(note that 2 is a special case of 4)
Each tier will expose APIs that are relevant to that tier. This means that there will be some duplication across tiers - such as setting focus kind on component and descendants (4), as well as globally (1).
At the present moment, Substance APIs are scattered across multiple places.
The plan is to unify all the APIs into a single tiered structure, where each tier explicitly specifies what is the scope of the specific API. The proposed tiers are:
(note that 2 is a special case of 4)
Each tier will expose APIs that are relevant to that tier. This means that there will be some duplication across tiers - such as setting focus kind on component and descendants (4), as well as globally (1).