Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

メトリクス ダッシュボードでのウィジェットの並べ替えと削除

この例では、メトリクス 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 つの主要セクションがあるため、sections1x4 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: '006e5f20-5400-4fbf-add9-80ed1be98d2f'

reuseWidgetType'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>

12.[すべてのメトリクス] をクリックしてダッシュボードで各メトリクスを収集します。

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] ウィジェットが表示されなくなります。

参考

| |

関連するトピック