このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
メトリクス ダッシュボードでのウィジェットの並べ替えと削除
この例では、メトリクス API を使用してメトリクス ダッシュボードの既定のレイアウト内の既存のウィジェットを並べ替え、メトリクス ダッシュボードからウィジェットを削除する方法を説明します。
レイアウト内のウィジェットの並べ替え
たとえば、メトリクス ダッシュボードの既定のレイアウトを変更し、[実際の再利用] と [可能な再利用] の棒グラフを [アーキテクチャ] セクションの下に移動させる必要があるとします。
1.メトリクス ダッシュボードの既定の構成を開きます。
dashboardconfig = slmetric.dashboard.Configuration.openDefaultConfiguration();
2.構成からダッシュボード レイアウトを取得します。
layout = getDashboardLayout(dashboardconfig);
ダッシュボード レイアウトには、階層状に入れ子にされたオブジェクトが含まれています。関数 getWidgets
を使用して、レイアウトの次の階層のオブジェクトを取得できます。詳細については、getWidgets
を参照してください。
3.ダッシュボード レイアウトのセクションを返すには、関数 getWidgets
を使用します。
sections = getWidgets(layout)
sections=1×4 object
1×4 heterogeneous Container (Container, Group) array with properties:
ShowBorder
Type
ID
メトリクス ダッシュボードの既定のレイアウトには 4 つの主要セクションがあるため、sections
は 1x4 Container
です。
sections(1)
には、現在のモデルのシステム情報が含まれます。sections(2)
には、[サイズ] セクションに表示されるウィジェットが含まれます。これらのウィジェットは、モデル メトリクスのサイズ メトリクスを使用します。sections(3)
には、[モデリング ガイドラインの準拠] セクションに表示されるウィジェットが含まれます。これらのウィジェットは、モデル メトリクスの準拠メトリクスを使用します。sections(4)
には、[アーキテクチャ] セクションに表示されるウィジェットが含まれます。これらのウィジェットは、モデル メトリクスのアーキテクチャ メトリクスを使用します。
図の中で、赤の番号 1、2、3、4 は、メトリクス ダッシュボードの 4 つの主要セクションの位置を示しています。
4.[アーキテクチャ] セクションを変数 archSection
に保存します。[アーキテクチャ] セクションには、sections(4)
を使用してアクセスできます。
archSection = sections(4);
5.[アーキテクチャ] セクションに含まれているものを確認するには、関数 getWidgets
を使用します。
archSectionContents = getWidgets(archSection)
archSectionContents=1×2 object
1×2 heterogeneous WidgetBase (Widget, Container) array with properties:
Type
ID
[アーキテクチャ] セクションには、配列内に Widget
オブジェクトと Container
オブジェクトが含まれています。Widget
は配列の 1 番目の要素です。Container
は配列の 2 番目の要素です。
配列内のオブジェクトの順序は、ダッシュボード内でオブジェクトが表示される順番に対応しています。[アーキテクチャ] セクションでは、1 番目の要素がセクションの最上部に表示されます。2 番目の要素はセクションの最下部に表示されます。
既定の構成では、次のようになります。
配列の 1 番目の要素は、[実際の再利用] と [可能な再利用] の棒グラフを作成する
Widget
に相当します。配列の 2 番目の要素は、[モデルの複雑度] ウィジェット、[ブロック] ウィジェット、[Stateflow LOC] ウィジェット、[MATLAB LOC] ウィジェットの
Container
に相当します。"LOC" はコードの行数です。詳細については、モデル メトリクスを参照してください。
6.配列の 1 番目の要素を変数 reuseWidget
に保存します。
reuseWidget = archSectionContents(1) % widget
reuseWidget = Widget with properties: Title: 'Library Reuse' Type: 'LibraryReuse' ID: '94b6e8b1-c79a-43c6-9099-87a0fa1d7521'
reuseWidget
の Type
は 'LibraryReuse'
です。'LibraryReuse'
タイプのウィジェットは、[実際の再利用] と [可能な再利用] の棒グラフを作成します。
7.関数 getPosition
を使用して、reuseWidget
ウィジェットが現在 [アーキテクチャ] セクション内の 1 番目の位置にあることを確認します。
getPosition(reuseWidget)
ans = 1
8.reuseWidget
オブジェクトの位置を [アーキテクチャ] セクションのオブジェクトの配列の 2 番目の要素に設定して、reuseWidget
ウィジェットをセクションの最下部に移動します。
setPosition(reuseWidget,2);
9.更新された構成 dashboardconfig
を XML ファイルとして保存します。XML ファイルには、[アーキテクチャ] セクションの並べ替え済みの新レイアウトが含まれます。
save(dashboardconfig,'Filename','DashboardConfig.xml');
10.XML ファイルをメトリクス ダッシュボードのアクティブな構成として設定します。
slmetric.dashboard.setActiveConfiguration(fullfile(pwd,'DashboardConfig.xml'));
11.メトリクス ダッシュボードは、次にモデルでダッシュボードを開いたとき、アクティブな構成を使用します。
metricsdashboard vdp
Warning: The Metrics Dashboard and slmetric.Engine API will be removed in a future release. For size, architecture, and complexity metrics, use the Model Maintainability Dashboard and metric.Engine API instead. The Model Maintainability Dashboard and metric.Engine API can identify outdated metric results, analyze dependencies between files, and aggregate metrics across software units and components. For more information, see <a href="matlab:helpview([docroot '/slcheck/collect-model-metric-data-1.html'])">Collect Model and Testing Metrics</a>
reuseWidget
ウィジェットが 2 番目の位置に設定されているため、[実際の再利用] と [可能な再利用] の棒グラフは [アーキテクチャ] セクションの最下部に表示されるようになります。
12.メトリクス ダッシュボードを閉じます。
レイアウトからのウィジェットの削除
たとえば、メトリクス ダッシュボードの [アーキテクチャ] セクションから [Stateflow LOC] ウィジェットと [MATLAB LOC] ウィジェットを削除する必要があるとします。
1.前のセクションで更新した構成の新しいダッシュボード レイアウトを取得します。
layout = getDashboardLayout(dashboardconfig);
2.関数 getWidgets
を使用して、ダッシュボード レイアウトのセクションを返します。
sections = getWidgets(layout);
3.[アーキテクチャ] セクションを変数 archSection
に保存します。
archSection = sections(4);
4.関数 getWidgets
を使用して [アーキテクチャ] セクションに含まれている要素を確認します。
archSectionContents = getWidgets(archSection)
archSectionContents=1×2 object
1×2 heterogeneous WidgetBase (Container, Widget) array with properties:
Type
ID
前のセクションでウィジェットを並べ替えたため、Container
が配列の 1 番目の要素になっています。Container
には、[モデルの複雑度] ウィジェット、[ブロック] ウィジェット、[Stateflow LOC] ウィジェット、[MATLAB LOC] ウィジェットが含まれます。
5.Container
を変数 archContainer
に保存します。
archContainer = archSectionContents(1);
6.関数 getWidgets
を使用して、Container
内のウィジェットを取得します。
archContainerWidgets = getWidgets(archContainer);
archContainerWidgets
は、1x4 CustomWidget
配列です。ここで、
archContainerWidgets(1)
には、[モデルの複雑度] のウィジェットが含まれます。archContainerWidgets(2)
には、[ブロック] のウィジェットが含まれます。archContainerWidgets(3)
には、[Stateflow LOC] のウィジェットが含まれます。archContainerWidgets(4)
には、[MATLAB LOC] のウィジェットが含まれます。
7.[Stateflow LOC] ウィジェットを Container
から削除します。
removeWidget(archContainer,archContainerWidgets(3));
8.[MATLAB LOC] ウィジェットを Container
から削除します。
removeWidget(archContainer,archContainerWidgets(4));
9.更新された構成 dashboardconfig
を XML ファイルとして保存します。XML ファイルには、[アーキテクチャ] セクションの並べ替え済みの新レイアウトが含まれます。
save(dashboardconfig,'Filename','DashboardConfig.xml');
10.XML ファイルをメトリクス ダッシュボードのアクティブな構成として設定します。
slmetric.dashboard.setActiveConfiguration(fullfile(pwd,'DashboardConfig.xml'));
11.メトリクス ダッシュボードは、次にモデルでダッシュボードを開いたとき、アクティブな構成を使用します。
metricsdashboard vdp
Warning: The Metrics Dashboard and slmetric.Engine API will be removed in a future release. For size, architecture, and complexity metrics, use the Model Maintainability Dashboard and metric.Engine API instead. The Model Maintainability Dashboard and metric.Engine API can identify outdated metric results, analyze dependencies between files, and aggregate metrics across software units and components. For more information, see <a href="matlab:helpview([docroot '/slcheck/collect-model-metric-data-1.html'])">Collect Model and Testing Metrics</a>
[アーキテクチャ] セクションに [Stateflow LOC] ウィジェットと [MATLAB LOC] ウィジェットが表示されなくなります。
参考
getWidgets
| removeWidget
| slmetric.dashboard.Configuration