matlab.settings.loadSettingsCompatibilityResults

Результаты обновления личных настроек тулбокса для конкретной версии

Описание

пример

results = matlab.settings.loadSettingsCompatibilityResults(toolboxName,version) получает результаты обновления личных настроек указанного тулбокса и версии и возвращает их как ReleaseCompatibilityResults объект. Эта функция предназначена только для отладки и не должна включаться в код тулбокса доставки.

После выполнения matlab.settings.loadSettingsCompatibilityResultsудалите журнал результатов перед повторным запуском функции. Удаление журнала обеспечивает постоянную загрузку правильных результатов обновления. Журнал расположен в папке preferences, в toolboxname папка.

Примеры

свернуть все

Создайте, а затем обновите заводское дерево тулбокса, а затем проверьте, что обновление успешно завершено.

Создайте функцию createMyToolboxFactoryTree который создает дерево заводских настроек для тулбокса mytoolbox.

function myToolboxFactoryTree = createMyToolboxFactoryTree()
    myToolboxFactoryTree = matlab.settings.FactoryGroup.createToolboxGroup('mytoolbox', ...
        'Hidden',false);

    toolboxFontGroup = addGroup(myToolboxFactoryTree,'font','Hidden',false)
    addSetting(toolboxFontGroup,'MyFontSize','FactoryValue',11,'Hidden',false, ...
        'ValidationFcn',@matlab.settings.mustBeNumericScalar)    
    addSetting(toolboxFontGroup,'MyFontColor','FactoryValue','Black', ...
        'Hidden',false,'ValidationFcn',@matlab.settings.mustBeStringScalar);
end

Создайте функцию createMyToolboxSettingsFileUpgraders с пустым объектом upgrader файла параметров.

function upgraders = createMyToolboxSettingsFileUpgraders()
    upgraders = matlab.settings.SettingsFileUpgrader.empty;
end

Создайте settingsInfo.json файл тулбокса. Задайте mytoolbox как имя корневой группы параметров, createMyToolboxFactoryTree как функцию создания дерева настроек, и createMyToolboxSettingsFileUpgraders как функцию обновления дерева настроек. Размещение settingsInfo.json в тулбоксе resources папка.

{
"ToolboxGroupName" : "mytoolbox",
"Hidden" : false,
"CreateTreeFcn" : "createMyToolboxFactoryTree",
"CreateUpgradersFcn" : "createMyToolboxSettingsFileUpgraders"
}

Добавьте папку, которая содержит функцию создания дерева настроек и папку ресурсов тулбокса в MATLAB® путь. Затем загрузите дерево заводских настроек для mytoolbox.

matlab.settings.reloadFactoryFile('mytoolbox');

Используйте settings функция для доступа к корню дерева настроек и установки личного значения MyFontSize настройка.

s = settings;
s.mytoolbox.font.MyFontSize.PersonalValue = 15;

Измените имена настроек в createMyToolboxFactoryTree от MyFontSize и MyFontColor на FontSize и FontColor.

function myToolboxFactoryTree = createMyToolboxFactoryTree()
    myToolboxFactoryTree = matlab.settings.FactoryGroup.createToolboxGroup('mytoolbox', ...
        'Hidden',false);

    toolboxFontGroup = addGroup(myToolboxFactoryTree,'font','Hidden',false)
    addSetting(toolboxFontGroup,'FontSize','FactoryValue',11,'Hidden',false, ...
        'ValidationFcn',@matlab.settings.mustBeNumericScalar)    
    addSetting(toolboxFontGroup,'FontColor','FactoryValue','Black', ...
        'Hidden',false,'ValidationFcn',@matlab.settings.mustBeStringScalar);
end

Запись переименования двух настроек в createMyToolboxSettingsFileUpgraders функции как изменения в дереве настроек для версии 2 от mytoolbox.

function upgraders = createMyToolboxSettingsFileUpgraders()
    upgraders = matlab.settings.SettingsFileUpgrader('Version2'); 
    move(upgraders,'mytoolbox.font.MyFontSize','mytoolbox.font.FontSize'); 
    move(upgraders,'mytoolbox.font.MyFontColor','mytoolbox.font.FontColor');
end

Перезагрузите дерево заводских настроек для mytoolbox.

matlab.settings.reloadFactoryFile('mytoolbox');

Используйте settings функция для доступа к корню дерева настроек и проверки, что личное значение для FontSize настройка была правильно перемещена из MyFontSize настройка.

s = settings;
s.mytoolbox.font.FontSize
ans = 
  Setting 'mytoolbox.font.FontSize' with properties:
       ActiveValue: 15
    TemporaryValue: <no value>
     PersonalValue: 15
      FactoryValue: 11

Получите результаты обновления для версии 2 от mytoolbox чтобы определить, имели ли место какие-либо исключения во время обновления и все ли операции обновления выполнены успешно.

matlab.settings.loadSettingsCompatibilityResults('mytoolbox','Version2')
ans = 
  ReleaseCompatibilityResults with properties:
               VersionLabel: "Version2"
    PreValidationExceptions: [0×0 matlab.settings.ReleaseCompatibilityException]
                    Results: [1×1 matlab.settings.VersionResults]

Входные параметры

свернуть все

Имя тулбокса, для которого нужно получить результаты обновления, заданное как вектор символов или строка.

Пример: 'mytoolbox'

Версия тулбокса для получения результатов обновления, заданных как вектор символов или строка.

Пример: 'version2'

Введенный в R2019b