Main Content

getPropertyGroups

クラス: matlab.mixin.CustomDisplay
名前空間: matlab.mixin

カスタマイズしたプロパティ グループの配列の作成

構文

groups = getPropertyGroups(obj)

説明

groups = getPropertyGroups(obj) は、matlab.mixin.util.PropertyGroup オブジェクトの 1 行 N 列の配列を返します。ここで、N はグループ数です。MATLAB® は、プロパティ グループを空白で区切って表示します。既定の表示状態の各ハンドラー メソッドは、このメソッドを 1 回呼び出します。このメソッドをオーバーライドし、表示するプロパティのカスタマイズされたグループを 1 つまたは複数作成します。

既定の実装は、1 つのグループでプロパティを返します。これらのプロパティはパブリックの GetAccess をもたなければならず、Hidden として定義してはなりません。オブジェクトがスカラーの場合は、MATLAB に動的プロパティが含まれます。

各グループ オブジェクト配列は以下のフィールドをもちます。

  • Title — プロパティ グループのヘッダーとして使用されるテキスト。タイトルが使用されない場合は空の string です。

  • PropertyList — プロパティ リストは次のいずれかです。

    • プロパティ名と対応する値の 1 行 1 列の struct

    • プロパティ名の cell 配列

オブジェクトがスカラーであり、カスタム プロパティ値を割り当てる場合は、struct を使用します。それ以外の場合は、プロパティ名の cell 配列を使用します。オブジェクトがスカラーの場合、MATLAB は、オブジェクトから取得したプロパティ値を追加します。

入力引数

すべて展開する

カスタマイズしたプロパティ グループ形式を適用するオブジェクト配列。obj のクラスは、matlab.mixin.CustomDisplay から取得しなければなりません。

出力引数

すべて展開する

1 行 N 列の matlab.mixin.util.PropertyGroup オブジェクトの配列。ここで、N はグループ数です。

属性

Accessprotected

メソッドの属性の詳細については、メソッドの属性を参照してください。

すべて展開する

クラス表示用にプロパティ グループを 2 つ作成します。

EmployeeInfo クラスには、従業員について示す 5 つのプロパティがあります。スカラー オブジェクトの場合に 2 つの PropertyGroup オブジェクトを定義する getPropertyGroups メソッドを定義します。このメソッドは、Employee Bio および Contact Info というタイトルの 2 つのプロパティ グループを返します。

classdef EmployeeInfo < matlab.mixin.CustomDisplay
    properties
        Name = "Alex Doe"
        Department = "Development"
        JobTitle = "Engineer"
        Email = "alexdoe@notacompany.org"
        Phone = "(555) 555-555"
    end

    methods (Access = protected)
        function propgrp = getPropertyGroups(obj)
            if ~isscalar(obj)
                propgrp = getPropertyGroups@matlab.mixin.CustomDisplay(obj);
            else
                bioList = ["Name","Department","JobTitle"];
                bioTitle = "Employee Bio";
                bioGrp = matlab.mixin.util.PropertyGroup(bioList,bioTitle);
                contactList = ["Email","Phone"];
                contactTitle = "Contact Info";
                contactGrp = matlab.mixin.util.PropertyGroup(contactList,contactTitle);
                propgrp = [bioGrp,contactGrp];
            end
        end
    end
end

スカラー インスタンスを作成し、プロパティがどのように表示されるかを確認します。

a = EmployeeInfo
a = 

  EmployeeInfo with properties:

   Employee Bio
          Name: "Alex Doe"
    Department: "Development"
      JobTitle: "Engineer"

   Contact Info
         Email: "alexdoe@notacompany.org"
         Phone: "(555) 555-555"

バージョン履歴

R2013b で導入