File Presets.lua
Functions
Preset:initPref (name, dflt, values, presetName) | Sets preference based on property name. |
Preset:savePrefInBackingFile (prefName, prefValue) | Save pref in backing file. |
Presets:assurePreset (sheetName, presetName) | Create or assure preset. |
Presets:deletePreset (props) | Delete active named set. |
Presets:getGlobalKey (name) | Get actual preference key corresponding to managed global preference name. |
Presets:getGlobalPref (name) | Get global preference value. |
Presets:getGlobalPrefPairs (sortFunc) | Get global preference pair iterator. |
Presets:getPref (propName, presetName, name) | Gets pref value corresponding to prop name. |
Presets:getPrefSupportFile () | Gets path to preference support file. |
Presets:getPreset (presetName, reload) | Get object that represents settings associated with specified preset. |
Presets:getPresetNames (sheetName) | Gets list of saved (registered) presets. |
Presets:initGlobalPref (name, dflt, values) | Initialize global preference value. |
Presets:initPref (name, dflt, presetName, values) | Sets preference based on property name. |
Presets:isBackedByFile () | Determine if preference file backing is supported by this plugin. |
Presets:isPresetExisting (_setName) | Checks if specified named set exists - case insensitive: for checking if duplicate before adding. |
Presets:loadDefaults (props) | Load defaults into properties. |
Presets:loadGlobalDefaults () | Load defaults into properties. |
Presets:loadPrefFile (file) | Load preference "backing" file. |
Presets:loadProps (props) | Load properties from preset. |
Presets:new (t) | Constructs a new preference manager. |
Presets:newClass (t) | Constructor for extending class. |
Presets:registerPreset (presetName, presetNumber) | Register a preset. |
Presets:saveProps (props) | Save propertiesavings into named or unamed set. |
Presets:setGlobalPref (name, val) | Set global preference value. |
Presets:setPref (name, value, presetName) | Sets global preference based on property name. |
Functions
- Preset:initPref (name, dflt, values, presetName)
-
Sets preference based on property name.
Named or unamed.
Is should not be necessary to init props to match here, provided props are loaded from prefs afterward.
Parameters:
-
name
: (string, required) preference name. -
dflt
: (any simple type, required) preference default value. -
values
: (array, optional) initial "pointer" values for table prefs, in case not only value is important, but pointer to value is too (e.g. popup). -
presetName
: (string, default = current preset) preset name.
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Preset:savePrefInBackingFile (prefName, prefValue)
-
Save pref in backing file.
Parameters:
-
prefName
: -
prefValue
:
Usage:
Note: this is different than the pref-mgr version, since it's intended to set persistent prefs in backing file.
If that's not what you want, then use the preference manager version, which is intended to set prefs in lr-prefs, thus masking the value in the backing file.Return values:
- status - t/f
- message - errm.
-
- Presets:assurePreset (sheetName, presetName)
-
Create or assure preset.
Parameters:
-
sheetName
: -
presetName
:
-
- Presets:deletePreset (props)
-
Delete active named set.
Parameters:
-
props
: Properties to load from some other set (presently the default/un-named set) once present set is deleted.
Usage:
Throws error if active set is unamed, so check first.
-
- Presets:getGlobalKey (name)
-
Get actual preference key corresponding to managed global preference name.
Parameters:
-
name
:
Return value:
- key suitable for binding.
-
- Presets:getGlobalPref (name)
-
Get global preference value.
Parameters:
-
name
:
Usage:
key is name prefixed by _global_ in the interest of keeping a clear separation,
between managed preference globals and unmanaged, and also preset preferences.Return value:
- the value - may be nil.
-
- Presets:getGlobalPrefPairs (sortFunc)
-
Get global preference pair iterator.
Parameters:
-
sortFunc
: (boolean or function, default false) pass true for default name sort, or function for custom name sort.
Usage:
for iterating global preferences, without having to wade through non-globals.
Return value:
- iterator function that returns name, value pairs, in preferred name sort order.
Note: the name returned is not a key. to translate to a key, call get-global-pref-key and pass the name. -
- Presets:getPref (propName, presetName, name)
-
Gets pref value corresponding to prop name.
Named or unamed.
Parameters:
-
propName
: -
presetName
: (string, default = current preset) preset name. -
name
: (string, required) preference name.
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Presets:getPrefSupportFile ()
-
Gets path to preference support file.
Return values:
- full path
- filename
- Presets:getPreset (presetName, reload)
-
Get object that represents settings associated with specified preset.
Parameters:
-
presetName
: -
reload
:
-
- Presets:getPresetNames (sheetName)
-
Gets list of saved (registered) presets.
Parameters:
-
sheetName
:
Return value:
- Array of strings suitable for combo box.
-
- Presets:initGlobalPref (name, dflt, values)
-
Initialize global preference value.
Parameters:
-
name
: -
dflt
: -
values
:
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Presets:initPref (name, dflt, presetName, values)
-
Sets preference based on property name.
Named or unamed.
Is should not be necessary to init props to match here, provided props are loaded from prefs afterward.
Parameters:
-
name
: (string, required) preference name. -
dflt
: (any simple type, required) preference default value. -
presetName
: (string, default = current preset) preset name. -
values
: (array, optional) initial "pointer" values for table prefs, in case not only value is important, but pointer to value is too (e.g. popup).
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Presets:isBackedByFile ()
- Determine if preference file backing is supported by this plugin.
- Presets:isPresetExisting (_setName)
-
Checks if specified named set exists - case insensitive: for checking if duplicate before adding.
Parameters:
-
_setName
:
Usage:
@2010-11-22 - only called within pref mngr proper.
-
- Presets:loadDefaults (props)
-
Load defaults into properties.
Parameters:
-
props
:
Usage:
defaults come from init-pref calls.
-
- Presets:loadGlobalDefaults ()
-
Load defaults into properties.
Usage:
defaults come from init-pref calls.
- Presets:loadPrefFile (file)
-
Load preference "backing" file.
Presets not in lr-pref table, are looked for in preference backing file, if available.
Parameters:
-
file
: The path to the file.
Usage:
Up until 5/Aug/2011 this used to log errors instead of throwing them - not good enough (errors in backers not being detected).
Now calling context must take care to handle thrown errors to handle more gracefully if necessary. -
- Presets:loadProps (props)
-
Load properties from preset.
Default set is handled like any other: properties are loaded whether set is registered or not.
Parameters:
-
props
:
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Presets:new (t)
-
Constructs a new preference manager.
Installation procedure is going to have to be smart enough to deal with pre-existing directory upgrade.
This object manages named preference sets. Exclude and you just have the reglar set of unnamed (un-prefixed) prefs...
Param Table In:
- name(id): set name. if missing, then default set.
- file-essential boolean.Object Table Out:
- friendlyName: same as name/id except for default.
- file (path)
- prefs (name-val table)Parameters:
-
t
: input parameter table.
Usage:
Subdirectory for supplemental files is 'Presets' in plugin directory.
See app class pref methods for more info.
Return value:
- Preference manager object.
-
- Presets:newClass (t)
-
Constructor for extending class.
Parameters:
-
t
:
-
- Presets:registerPreset (presetName, presetNumber)
-
Register a preset.
Typically called in init-prefs to register a preset to be subsequently initialized, for when plugin is including built-in presets, in which case backing file if any, is explicitly provided in 'Presets' folder.
Parameters:
-
presetName
: - Any name that can be used as part of a pref key. -
presetNumber
: - Ordinal number defining sequence in plugin manager.
Usage:
Un-registering presets is done in the course of deleting a preset - no need for independent unreg method.
-
- Presets:saveProps (props)
-
Save propertiesavings into named or unamed set.
If named, sets 'name-existing' indicator into prefs.
Parameters:
-
props
:
Usage:
Like all preference methods, this method is wrapped by app object - see App class for more info.
-
- Presets:setGlobalPref (name, val)
-
Set global preference value.
Parameters:
-
name
: (string, required) name of pref (actual key is a derivation). -
val
: (any non-table value, default nil) simple value for pref, nil to clear.
Usage:
key is name prefixed by _global_ in the interest of keeping a clear separation,
between managed preference globals and unmanaged, and also preset preferences. -
- Presets:setPref (name, value, presetName)
-
Sets global preference based on property name.
Named or unamed.
Parameters:
-
name
: (string, required) preference name. -
value
: (any simple type, required) preference value. -
presetName
: (string, default = current preset) preset name.
Usage:
like all preference methods, this method is wrapped by app object - see App class for more info.
-