OperationResult

Состояние индивидуальной операции при обновлении тулбокса

Описание

Система координат OperationResult объект представляет состояние отдельной операции при обновлении личных настроек тулбокса.

Создание

Создайте ReleaseCompatibilityResults объект для определенного номера версии тулбокса при помощи matlab.settings.loadSettingsCompatibilityResults функция. The Results свойство ReleaseCompatibilityResults объект содержит VersionResults объект. The VersionChanges свойство этого VersionResults объект содержит массив OperationResult объекты.

Для примера этот код получает массив OperationResult объекты для 2 версий набора тулбоксов mytoolbox.

myCompatibilityResults = matlab.settings.loadSettingsCompatibilityResults('mytoolbox','Version2');
myCompatibilityResults.Results.VersionChanges
ans = 
  1×2 OperationResult array with properties:
    Operation
    Status
    ExceptionLog

Свойства

расширить все

Выполнена операция обновления, заданная как строковый скаляр.

Пример: "move mytoolbox.font.MyFontSize mytoolbox.font.FontSize"

Состояние операции обновления, заданное как "Succeeded", "Skipped", или "Failed". В этой таблице описываются каждое состояние и возможные причины.

СтатусПричина
"Succeeded"Н/Д
"Skipped"Настройка или группа параметров, заданная в операции, не существует в личных параметрах, подлежащих обновлению.
"Failed"Операции перемещения
  • Обновленное дерево параметров уже содержит параметр или группу с заданным именем.

  • Указанный путь к группе параметров является недопустимым.

Удаление операций
  • Указанный путь к группе параметров является недопустимым.

Первое исключение обновления, которое происходит при выполнении операции обновления, заданное как ReleaseCompatibilityException объект. Если исключения не происходит, ExceptionLog массив 0 на 0 из ReleaseCompatibilityException объекты.

Примеры

свернуть все

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

Функция 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 с пустым matlab.settings.SettingsFileUpgrader объект.

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.

compatibilityResults.matlab.settings.loadSettingsCompatibilityResults("mytoolbox","Version2");
compatibilityResults.Results.VersionChanges(1)
ans = 
  OperationResult with properties:
       Operation: "move mytoolbox.font.MyFontSize mytoolbox.font.FontSize"
          Status: "Succeeded"
    ExceptionLog: [0×0 matlab.settings.ReleaseCompatibilityException]
Введенный в R2019b