This page describes how to work with the infusion Preferences Framework using schemas and the builder. It does NOT describe using the alternative technique, grades.
Creating a Preferences Editor using the Infusion Preferences Framework involves various pieces: schemas, Infusion components, templates, etc. This page describes what you need to do to connect all the parts together.
The Primary Schema defines a "name" for each preference. This is the name that will be used to store the preference in the settingsStore, so we recommend that your preference names be namespaced to your application, to avoid possible conflicts. The name is also used to tie together all the various bits:
typefor a preference block, associating the panel and the enactor with the preference;
preferenceMap, which tells the builder how to map the panel or enactor's the values in the primary schema into the panel or enactor.
The Auxiliary Schema defines all the information needed to build the preferences editor interface, including
The Auxiliary Schema links to the preferences specified in the Primary Schema using the preference name, which is used as the
type in a preferences block:
The Auxiliary Schema also specifies which components should be used for the panel and enactor for a given preference, through the
Each panel component must include a preference map option in its defaults, called
preferenceMap. The Preferences Framework uses the preference map to populate some of the panel's defaults using information in the Primary Schema.
Each enactor component must include a preference map option in its defaults, called
preferenceMap. As with the panels, the Preferences Framework uses the preference map to populate some of the enactor's defaults using information in the Primary Schema. The structure of the enactor's preference map is the same as that for the panel.