<?xml version="1.0" encoding="UTF-8"?>

<!--

 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab

 * Copyright (C) INRIA - Djalel Abdemouche

 * Copyright (C) Digiteo - 2009 - Jean-Baptiste Silvy

 *


 * Copyright (C) 2012 - 2016 - Scilab Enterprises
 *
 * This file is hereby licensed under the terms of the GNU GPL v2.0,
 * pursuant to article 5.3.4 of the CeCILL v.2.1.
 * This file was originally licensed under the terms of the CeCILL v2.1,
 * and continues to be available under such terms.
 * For more information, see the COPYING file which you should have received
 * along with this program.

 *

 -->

<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="get">

    <refnamediv>

        <refname>get</refname>

        <refpurpose>グラフィックエンティティまたはユーザーインターフェイスオブジェクト

            からプロパティの値を取得する.

        </refpurpose>

    </refnamediv>

    <refsynopsisdiv>

        <title>呼び出し手順</title>

        <synopsis>h=get(prop)

            val=get(h,prop)

            val=get(handlePath,prop)

            val=h.prop

        </synopsis>

    </refsynopsisdiv>

    <refsection>

        <title>引数</title>

        <variablelist>

            <varlistentry>

                <term>h</term>

                <listitem>

                    <para>ハンドル, プロパティを取得するエンティティのハンドル.

                        <literal>h</literal> はハンドルのベクトルとすることができ,この場合,

                        h に含まれる全てのオブジェクトに関するプロパティの値を返します.

                        <literal>h</literal> に<emphasis>0</emphasis> を指定することができ,

                        この場合,ルートオブジェクトのプロパティが取得されます.

                        <literal>get(0)</literal> とコールすると,

                        設定<link linkend="console_properties">プロパティ</link>を有する

                        "Console"ハンドルが返されます.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>handlePath</term>

                <listitem>

                    <para>

                        グラフィックエンティティを指すパスを有する文字列.

                        このパスはグラフィックエンティティ<literal>"Tag"</literal>プロパティと

                        グラフィック階層におけるその親の<literal>"Tag"</literal>プロパティから,

                        <literal>"figuretag/entitytag"</literal>形式

                        (エンティティが図の子の場合)で作られます.

                    </para>

                    <para>

                        <literal>"figuretag/entity1tag/entity2tag/entitntag/entitytag"</literal>のように

                        より深い階層レベルも使用できます.

                        複数パス検索用にワイルドカードも使用できます.

                        パスにマッチした最初のエンティティが使用されます.

                        k
                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>prop</term>

                <listitem>

                    <para>プロパティ名を表す文字列.</para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>val</term>

                <listitem>

                    <para>プロパティの値.</para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection>

        <title>説明</title>

        <para>このルーチンはグラフィクエンティティまたはGUIオブジェクトから指定したプロパティの

            値を取得するために使用されます.

            この場合,ハンドルのドット演算子を使用することと等価です.

            例えば,  <literal>get(h,"background")</literal> は <literal>h.background</literal>と等価です.

        </para>

        <para>

            プロパティ名は文字列です.存在する全てのプロパティの一覧を得るには,

            <link linkend="graphics_entities">graphics_entities</link>,もしくは

            ユーザインターフェイスオブジェクトについては<link linkend="uicontrol">uicontrol</link>

            を参照ください.

        </para>

        <para>

            <literal>get</literal> 関数はプロパティのみを引数に指定してコールすることも

            可能です.この場合,そのプロパティは以下のどれかとする必要があります

            (他のプロパティ名を指定したコールした場合,

            <literal>get</literal> は<literal>[]</literal>を返します):

        </para>

        <variablelist>

            <varlistentry>

                <term>current_entity または hdl</term>

                <listitem>

                    <para>直近に作成された(そしてまだ存在する)エンティティのハンドルを返します.

                        <literal>get('current_entity')</literal> および <literal>get('hdl')</literal>

                        は<link linkend="gce">gce</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>current_figure</term>

                <listitem>

                    <para>カレントのグラフィック図のハンドルを返します.

                        <literal>get('current_figure')</literal> は <link linkend="gcf">gcf</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>current_axes</term>

                <listitem>

                    <para>カレントの軸のハンドルを返します.

                        <literal>get('current_axes')</literal> は <link linkend="gca">gca</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>default_figure</term>

                <listitem>

                    <para>デフォルトの図のエンティティのハンドルを返します.

                        <literal>get('default_figure')</literal> は <link linkend="gdf">gdf</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>default_axes</term>

                <listitem>

                    <para>デフォルトの軸のエンティティのハンドルを返します.

                        <literal>get('default_axes')</literal> は <link linkend="gda">gda</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

            <varlistentry>

                <term>figures_id</term>

                <listitem>

                    <para>オープンした全てのグラフィク図のIDを有する行ベクトルを返します.

                        <literal>get('figures_id')</literal> は <link linkend="winsid">winsid</link>と等価です.

                    </para>

                </listitem>

            </varlistentry>

        </variablelist>

    </refsection>

    <refsection>

        <title>例</title>

        <para>

            <programlisting role="example"><![CDATA[

// グラフィックエンティティ用

 clf()



// シンプルなグラフィックオブジェクト

subplot(121);

x=[-.2:0.1:2*%pi]';

plot2d(x-2,x.^2);

subplot(122);

xrect(.2,.7,.5,.2);

xrect(.3,.8,.3,.2);

xfarc(.25,.55,.1,.15,0,64*360);

xfarc(.55,.55,.1,.15,0,64*360);

xstring(0.2,.9,"Example <<A CAR>>");



h=get("current_entity") //新規に作成されたオブジェクトを取得

h.font_size=3;



f=get("current_figure") //カレントの図を取得

f.figure_size

f.figure_size=[700 500];

f.children

f.children(2).type

f.children(2).children

f.children(2).children.children.thickness=4;



a=get("current_axes") //カレントの軸を取得

a.children.type

a.children.foreground //グラフィックオブジェクトの集合の前景色を取得

a.children.foreground=9;



// ユーザーインターフェイスオブジェクト用

h=uicontrol('string', 'Button'); // ボタンを有するウインドウをオープン.

p=get(h,'position'); // ボタンの位置を取得

disp('Button width: ' + string(p(3))); // ボタンの幅を出力

close(); // 図を閉じる

 ]]></programlisting>

        </para>

        <para>

            <programlisting role="example"><![CDATA[

// Using path

f = figure("dockable", "off", "menubar", "none", "toolbar", "none", "infobar_visible", "off", "tag", "mainfig");

frameHandle = uicontrol("parent", f, "style", "frame", "position", [200 200 190 100], "tag", "myframe");

btnHandle = uicontrol("parent", frameHandle, "position", [20 20 150 30], "string", "button", "tag", "example");



set("mainfig/myframe/example", "string", "complete path");

get("mainfig/myframe/example", "string")

set("mainfig/*/example", "string", "wildcard path");

get("mainfig/*/example", "string")

set("myframe/example", "string", "partial path");

get("myframe/example", "string")

 ]]></programlisting>

        </para>

    </refsection>

    <refsection>

        <title>参考</title>

        <simplelist type="inline">

            <member>

                <link linkend="uicontrol">uicontrol</link>

            </member>

            <member>

                <link linkend="root_properties">root_properties</link>

            </member>

            <member>

                <link linkend="graphics_entities">graphics_entities</link>

            </member>

            <member>

                <link linkend="set">set</link>

            </member>

        </simplelist>

    </refsection>

</refentry>

