Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

uitree

ツリー コンポーネントの作成

説明

t = uitree は、ツリーを新しい Figure ウィンドウ内に作成し、Tree オブジェクトを返します。MATLAB® は関数 uifigure を呼び出してこの Figure を作成します。

t = uitree(Name,Value) は 1 つ以上の Name,Value のペアの引数を使用して、Tree のプロパティ値を指定します。

t = uitree(parent) は、指定した親コンテナーにツリーを作成します。親には、関数 uifigure を使用して作成された Figure か、またはその子コンテナーのいずれかを指定できます。

t = uitree(parent,Name,Value) は、指定したコンテナーにツリーを作成し、1 つ以上の Tree プロパティ値を設定します。

すべて折りたたむ

[Sample Data] という名前のノードを 1 つ含むツリーを作成します。

t = uitree('Position',[20 20 150 150]);
node = uitreenode(t,'Text','Sample Data');

ツリー、入れ子にされたツリー ノードのセット、およびツリーのコールバック関数を作成するための次のコマンドを含む mytreeapp.m というプログラム ファイルを作成します。SelectionChangedFcn プロパティは、ユーザーがツリーのノードをクリックしたときに実行する関数を指定します。

function mytreeapp
    f = uifigure;
    t = uitree(f,'Position',[20 20 150 150]);

    % Assign Tree callback in response to node selection
    t.SelectionChangedFcn = @nodechange;

    % First level nodes
    category1 = uitreenode(t,'Text','Runners','NodeData',[]);
    category2 = uitreenode(t,'Text','Cyclists','NodeData',[]);

    % Second level nodes.
    % Node data is age (y), height (m), weight (kg)
    p1 = uitreenode(category1,'Text','Joe','NodeData',[40 1.67 58] );
    p2 = uitreenode(category1,'Text','Linda','NodeData',[49 1.83 90]);
    p3 = uitreenode(category2,'Text','Rajeev','NodeData',[25 1.47 53]);
    p4 = uitreenode(category2,'Text','Anne','NodeData',[88 1.92 100]);

    % Expand the tree
    expand(t);
    
    function nodechange(src,event)
        node = event.SelectedNodes;
        display(node.NodeData);
    end
end

ユーザーが mytreeapp を実行してツリーのノードをクリックすると、MATLAB はそのノードの NodeData を表示します。

入力引数

すべて折りたたむ

親コンテナー。関数 uifigure を使用して作成された Figure オブジェクト、またはその子コンテナー (TabPanelButtonGroup または GridLayout) のいずれかとして指定します。親コンテナーを指定しない場合、MATLAB は関数 uifigure を呼び出し、親コンテナーとして機能する新しい Figure オブジェクトを作成します。

名前と値のペアの引数

例: t = uitree('Position',[100 100 150 150]) は特定の位置とサイズを指定してツリーを作成します。

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は一重引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を指定できます。

ここでは、プロパティの一部を紹介しています。完全な一覧については、Tree のプロパティ を参照してください。

選択されたノード。TreeNode オブジェクトまたは TreeNode オブジェクトの配列として指定します。ツリー内で選択されたノードを取得または設定するには、このプロパティを使用します。

ユーザーが複数のノードを選択できるようにするには、Multiselect プロパティを 'on' に設定します。MATLAB は、ツリーで複数のノードが選択されている場合、SelectedNodes を常に列ベクトルとして返します。

複数のノードの選択。'off' または 'on' として、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティを 'on' に設定すると、ユーザーは複数のノードを同時に選択できるようになります。

選択変更コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバック関数を使用して、ユーザーがツリー内で別のノードを選択したときにコマンドを実行します。

このコールバック関数は、ユーザーのツリー操作 (選択したノードなど) に関する特定の情報にアクセスできます。MATLAB は、この情報をコールバック関数の 2 番目の引数として SelectedNodesChangedData オブジェクトに渡します。App Designer では、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.SelectedNodes は選択されている TreeNode オブジェクトを返します。SelectedNodesChangedData オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、SelectedNodesChangedData オブジェクトのプロパティを示します。

プロパティ

説明

SelectedNodes

最後に選択された TreeNode オブジェクト

PreviousSelectedNodes

前回選択された TreeNode オブジェクト

Source

コールバックを実行するコンポーネント

EventName

'SelectionChanged'

コールバックの記述の詳細については、App Designer でコールバックを記述するを参照してください。

位置とサイズ。[left bottom width height] の形式の 4 要素ベクトルとして指定します。次の表で、ベクトルの各要素について説明します。すべての測定単位はピクセルです。

要素説明
left親コンテナーの内側左端からツリーを囲む境界ボックスの左端までの距離
bottom親コンテナーの内側下端からツリーを囲む境界ボックスの下端までの距離
width境界ボックスの右端と左端の間の距離
height境界ボックスの上端と下端の間の距離

R2017b で導入