addSetting - Add new setting - MATLAB (original) (raw)
Syntax
Description
s = addSetting([parentgroup](#mw%5F121c909a-a893-4ff0-8e7c-f5181bf21e80),[name](#mw%5F651f0771-dd97-48b4-a1e7-d9fd0c5d3a71))
adds a new setting to the specified parent settings group and returns aSetting
object containing the new setting. By default, settings are not hidden, which means that they display in the parent settings group.
s = addSetting(___,[Name,Value](#namevaluepairarguments))
specifies setting properties using one or more name-value pair arguments. For example, 'PersonalValue',10
adds a new setting with a personal value of 10
. Specify name-value pairs after all other input arguments.
Examples
Create a settings group and add a new setting to the group. Use the value of the setting in your code.
Create the settings group mysettings
.
s = settings; addGroup(s,"mysettings");
Add the setting MyWorkAddress
to mysettings
and assign it a value.
addSetting(s.mysettings,"MyWorkAddress"); s.mysettings.MyWorkAddress.PersonalValue = "3 Apple Hill Drive"; s.mysettings.MyWorkAddress
ans = Setting 'mysettings.MyWorkAddress' with properties:
ActiveValue: "3 Apple Hill Drive"
TemporaryValue: <no value>
PersonalValue: "3 Apple Hill Drive"
InstallationValue: <no value>
FactoryValue: <no value>
Display the value of the setting.
fprintf("Work address: %s.\n", s.mysettings.MyWorkAddress.ActiveValue)
Work address: 3 Apple Hill Drive.
Use removeGroup
to remove mysettings
.
removeGroup(s,"mysettings");
Use the settings
function to access the root of the settings tree. Create a settings group, add a new hidden setting to the group, and use the value of the setting in your code.
Create the hidden settings group myhiddensettings
.
s = settings; newHiddenGroup = addGroup(s,"myhiddensettings",Hidden=true);
Add the setting MyHiddenWorkAddress
to myhiddensettings
and give it a value. Notice that the new setting does not appear when you display the parent settings group.
addSetting(newHiddenGroup,"MyHiddenWorkAddress",Hidden=true, ... PersonalValue="1 Lakeside Campus Drive"); s.myhiddensettings
ans = SettingsGroup 'myhiddensettings' with no properties.
Display the value of the hidden setting.
fprintf("Work address: %s.\n", newHiddenGroup.MyHiddenWorkAddress.ActiveValue)
Work address: 1 Lakeside Campus Drive.
You can remove the hidden group in the same way you would a visible group.
removeGroup(s,"myhiddensettings")
Create a settings group and specify a default validation function for the group. This function validates the values of all settings within the group that do not have their own validation functions defined.
Create a validation function numericValidationFcn
that throws an error when the input is not numeric.
function numericValidationFcn(x) errorMsg = "Value must be numeric."; assert(isnumeric(x),errorMsg); end
Use the settings
function to access the root of the settings tree and then create the settings group myNumericSettings
. Specify the validation function.
s = settings; newNumericGroup = addGroup(s,"myNumericSettings",... ValidationFcn=@numericValidationFcn);
If you create a new setting in the myNumericSettings
group and attempt to set the value of the setting to a nonnumeric value, MATLAB errors. For example, MATLAB errors if you run this statement, which attempts to set PersonalValue
to a string instead of a numeric value.
addSetting(newNumericGroup,"mySetting",PersonalValue="Hello")
Use removeGroup
to remove myNumericSettings
.
removeGroup(s,"myNumericSettings");
Input Arguments
Parent settings group to add setting to, specified as aSettingsGroup
object. Use the settings function to access the root settings group object and all the available settings groups.
Name of setting to add, specified as a character vector or string scalar. If name
already exists in the specified settings group, MATLABĀ® throws an error.
Name-Value Arguments
Specify optional pairs of arguments asName1=Value1,...,NameN=ValueN
, where Name
is the argument name and Value
is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose Name
in quotes.
Example: addSetting(a,'mySetting','PersonalValue',10,'Hidden',true)
adds a new hidden setting with a personal value of 10
to the specified parent settings group.
Personal value of setting, specified as MATLAB data of any type except for handle types. Data containers such as cell arrays, structs, and objects that include handles are also not supported. This argument is required when creating read-only settings.
Hidden state, specified as true
orfalse
.
When set to true
, the settings groups and settings within the group do not display, although they remain accessible.
Read-only state, specified as true
orfalse
. When true
, the personal or temporary value of the setting cannot be changed. ThePersonalValue argument is required when creating read-only settings.
Function to validate setting, specified as a function handle. When specified, the function is used to validate the value of the setting.
The function handle must be associated with a function that accepts the potential setting value as an input argument, has no output arguments, and throws an error if the validation fails.
The function handle must point to a function on the MATLAB path. Anonymous or nested function handles are not supported.
Version History
Introduced in R2019b