メインコンテンツ

matlab.settings.loadSettingsCompatibilityResults

特定のバージョンのツールボックスにおける個人用設定のアップグレード結果

説明

results = matlab.settings.loadSettingsCompatibilityResults(toolboxName,version) は、指定されたツールボックスとバージョンの個人用設定のアップグレード結果を取得し、ReleaseCompatibilityResults オブジェクトとして返します。この関数はデバッグ専用であり、提供するツールボックスのコードに含めてはなりません。

matlab.settings.loadSettingsCompatibilityResults の実行後、結果のログを削除してからこの関数を再実行します。ログを削除することで、正しいアップグレード結果が常に読み込まれるようになります。ログは設定フォルダーの toolboxname フォルダー内にあります。

すべて折りたたむ

ツールボックスの出荷時のツリーを作成してからアップグレードし、アップグレードが正常に完了することをテストします。

ツールボックス mytoolbox の出荷時の設定ツリーを作成する関数 createMyToolboxFactoryTree を作成します。

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 の設定名を MyFontSizeMyFontColor から FontSizeFontColor に変更します。

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

2 つの設定の名前変更を、mytoolbox Version 2 の設定ツリーへの変更として関数 createMyToolboxSettingsFileUpgraders に記録します。

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

mytoolbox の Version 2 のアップグレード結果を取得して、アップグレード時に例外が発生していないかどうか、およびすべてのアップグレード操作が正常に実行されたかどうかを確認します。

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

入力引数

すべて折りたたむ

アップグレード結果を取得する対象のツールボックスの名前。文字ベクトルまたは string として指定します。

例: "mytoolbox"

アップグレード結果を取得する対象のツールボックスのバージョン。文字ベクトルまたは string として指定します。

例: "version2"

バージョン履歴

R2019b で導入