OperationResult

Объект результата операции

Описание

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

Создание

Создайте ReleaseCompatibilityResults объект для определенного номера версии тулбокса при помощи matlab.settings.loadSettingsCompatibilityResults функция. Доступ к Results свойство и полученный объект VersionChanges свойство получить массив 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"Операции пересылки
  • Обновленное дерево настроек уже содержит установку или группу с указанным именем.

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

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

Журнал исключений, которые произошли при выполнении операции обновления в виде массива объектов исключения совместимости версий. Если никакое исключение не происходит, MATLAB® возвращает 0- 0 массив.

Примеры

свернуть все

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

Создайте функциональный 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 с пустым объектом средства обновления файла настроек.

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 быть 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'); 
    upgraders.move('mytoolbox.font.MyFontSize','mytoolbox.font.FontSize'); 
    upgraders.move('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