XML 構文のレイアウトと表示

 
 
 

レイアウトと表示は、XML ベースのフォーマットで定義されます。

テキスト エディタや XML エディタでレイアウトおよびビュー ファイルを編集して、Softimage インタフェースのレイアウト エディタまたは Relational View Editor からコントロールできないオプションを設定します。この方法で、以下の機能を設定できます。

その他の例として、出荷時の既定の位置にインストールされている.xsilyファイルを確認すると、ファイルがどのようにまとめられているかが分かります。また、SDKサンプルのワークグループにはいくつかのサンプル.xsivwファイルが含まれています(「SDK のサンプル ワークグループ」を参照)。

注:ここで説明していない規定のビューおよびレイアウトに追加のキーワードがある場合があります。それらは特定の状況で動作するものである可能性があり、全般的なテストは行われておらず、サポートもされていません。

フォーマットの概要

ここでは .xsily/.xsivw フォーマットの概要を紹介しますが、 実際の例ではなく、一部のエレメントや属性はレイアウトのみ、またはビューのみに有効です。各エレメント(タグ)およびエレメントの属性については、後述します。属性はすべて文字列であり、二重引用符で囲まれます。

<?xml version="1.0" encoding="iso-8859-1"?>
<xsi_file type="Layout" xsi_version="7.0" syntax_version="1.1">
	<relationalview clsid="{1ECE3500-ED3A-4A74-8999-0D301347AB5E}" name="Fluffy's Workspace" height="1141" width="3198" nbscreen="2">
		<definition maxinstances="10000" acceptfocus="true" private="false" defaultsize="100,100,500,500" cmdmap="{00000000-0000-0000-0000-000000000000}" supportedtypes="6" category="Fluffy"> </definition>
		<bitmaps>
			<bitmap name="fluffy" path="fluffy.bmp" highlightpath="fluffy_highlight.bmp"> </bitmap>
			<!-- Etc., etc., etc. -->
		</bitmaps>
		<relations>
			<relation driver="explorer1" driven="objview1" event="selectionproc" cmd="my_selproc"> </relation>
			<!-- Etc., etc., etc. -->
		</relations>
		<viewdefaultpos>
			<view type="Animation Editor" position="113,532,1137,859"> </view>
			<!-- Etc., etc., etc. -->
		</viewdefaultpos>
		<frameset orientation="horizontal" name="Frameset1" splitter="movable" sizechild="160,*">
			<frame name="explorer1" type="Explorer" primary="true" toolbar="own"> </frame>
			<frameset orientation="vertical" name="Frameset2" splitter="movable" sizechild="*,100">
				<switcher type="tray" buttonside="bottom" active="0" orientation="horizontal" name="Tray4" buttonsize="80,30" splitter="none" sizechild="*,*,*">
					<frameset orientation="vertical" name="Frameset3" bitmap="fluffy" splitter="movable" sizechild="*,50">
						<frame name="objview1" type="Object View" primary="false" toolbar="own">
							<properties>
								<displaymode>shaded</displaymode>
								<!-- Etc., etc., etc. -->
							</properties>
						</frame>
						<!-- Etc., etc., etc. -->
					</frameset>
					<frame name="rtree1" bitmap="rtree" type="Render Tree" primary="false" toolbar="own"> </frame>
					<!-- Etc., etc., etc. -->
				</switcher>
				<!-- Etc., etc., etc. -->
			</frameset>
		</frameset>
		<autohide>
			<section side="left" activation="10,0,50%;10,50%,100%">
				<view viewsize="105,0,100%">
					<frameset orientation="vertical" name="ah_frameset1" splitter="none" sizechild="30,*">
						<!-- Etc., etc., etc. -->
					</frameset>
				</view>
				<!-- Etc., etc., etc. -->
			</section>
			<!-- Etc., etc., etc. -->
		</autohide>
		<script language="JScript">
			<![CDATA[
			function RV_Init( in_rv)
			{
				AddProp("My_Custom_Property", "Scene_Root", "", "", null);
			}
	
			function RV_Term( in_rv)
			{
			DeleteObj("Scene_Root.My_Custom_Property");
			}
	
			function my_selproc( in_list, in_driverName, in_drivenName, in_rv )
			{
				// This example simply shows how to populate the driven pane.
				// It is equivalent to event="selection".
				in_rv.Views(in_drivenName).SetAttributeValue("targetcontent", in_list.GetAsText());
			}
			]]>
		</script>
		<floatingwindows>
			<view name="Explorer1" type="Explorer" position="128,81,500,563">
				<properties>
					<scope>Passes</scope>
					<!-- Etc., etc., etc. -->
				</properties>
			</view>
			<!-- Etc., etc., etc. -->
		</floatingwindows>
	</relationalview>
</xsi_file>

<?xml>

XML 宣言は XML パーサーで必要です。XML 宣言は常に最初の行に記述し、変更しないようにします。

例:

<?xml version="1.0" encoding="iso-8859-1"?>

適用先: レイアウトおよびビュー(必須)

親: なし

子: なし

<xsi_file>

<xsi_file>エレメントは、レイアウトおよびビューのルート エレメントです。このエレメントは、ファイルごとに 1 つ存在します。

例:

<xsi_file type="Layout" xsi_version="5.0" syntax_version="1.1">

適用先: レイアウトおよびビュー(必須)

親: なし

子: <relationalview>(必須、1 つのみ)

タイプ

ファイル タイプを識別します。

値(Value)

意味(Meaning)

レイアウト

Softimage のメイン ウィンドウに表示されるビューおよびパネル構成を定義します。

RelationalView

ペイン間の関係を含むことができるビューを定義します。

xsi_version

ビューやレイアウトが作成または変更されたアドオンを作成した Softimage のバージョン。この値は、下位互換性用として将来使用することができます。

syntax_version

xsi_file XML 構文が使用されているバージョン。この値は、下位互換性用として将来使用することができます。現在のバージョンは「1.1」です。

<relationalview>

レイアウトまたはビューの基本特性を定義し、すべてのコンポーネントを含みます。これは 1 つのみ必要です。

例:

<relationalview clsid="{1ECE3500-ED3A-4A74-8999-0D301347AB5E}" name="Fluffy's Workspace" height="1141" width="3198" nbscreen="2">

適用先: レイアウトおよびビュー(必須、1 つのみ)

親: <xsi_file>

子: <definition>(必須、ビュー用、1 つのみ)、<bitmaps>(オプション、1 つのみ)、<relations>(オプション、ビュー用、1 つのみ)、<viewdefaultpos>(オプション、レイアウト用、1 つのみ)、<frameset>(必須、<relationalview>の直属の子として 1 つのみ)、<autohide>(オプション、レイアウト用、1 つのみ)、<script>(オプション、ビュー用、1 つのみ)、<floatingwindows>(オプション、レイアウト用、1 つのみ)

clsid

レイアウトまたはビューの識別子。既存のすべてのレイアウトおよびビューにわたって固有な値を使用する必要があります。必要に応じて、GUID ジェネレータを使用します。

name

Softimage のインタフェースのメニューおよびその他の場所に表示されるレイアウトやビューの名前。この名前は、OpenView コマンドなどで使用するスクリプトやプラグインに使用することもできます。既存のすべてのレイアウトおよびビューにわたって固有な名前を使用する必要があります。

height

ビューの既定の高さ(ピクセル単位)。ビューのレイアウトは既定のサイズと位置の値で格納することもできます(下の「<viewdefaultpos>」を参照)。その場合は、ここで設定したレイアウトの値が上書きされます。

この属性は、レイアウトの定義では無視されます。レイアウトを最大化すると、ディスプレイ画面全体が使用されます。

width

ビューの既定の幅(ピクセル単位)。レイアウトには、ビューの既定サイズと位置の値を格納することができます(下の「<viewdefaultpos>」を参照)。その場合、レイアウトではここで設定した値が上書きされます。

この属性は、レイアウトの定義では無視されます。レイアウトを最大化すると、ディスプレイ画面全体が使用されます。

nbscreen

レイアウトが複数のスクリーンに表示されるかどうかを指定します。

  • この値を「1」に設定すると、Windows システムではレイアウトは 1 つのスクリーンにのみ表示されます。お使いのグラフィック カードによっては、これに対応しない場合があります。

  • この値を「1」以外に設定すると、レイアウトは最大化されると複数のスクリーン(使用可能な数)に表示されます。

この属性は、ビューでは無視されます。

<definition>

ビューの基本プロパティを定義します。

例:

<definition maxinstances="10000" acceptfocus="true" private="false" defaultsize="100,100,500,500" cmdmap="{00000000-0000-0000-0000-000000000000}" supportedtypes="6" category="Fluffy"> </definition>

適用先: ビューのみ(必須)

親: <relationalview>

子: なし

maxinstances

同時に開くことができるこのタイプのビューの最大数。

この属性を「1」に設定すると、ビューは単一インスタンスのビューとして表示されます。このようなビューがレイアウトに含まれていても、別のペインで表示されるスイッチャによって非表示になっている場合は、キーを押してビューを表示します。または、スイッチャの対応するペインが有効になります。

acceptfocus

定義済みビューによって内部的に使用されます。カスタム レイアウトおよびビューには使用されません。

private

メニューにビューを表示するか、非表示にするかを指定します。これにより、プログラムによって開いたり、別のビューやレイアウトの定義内でインスタンス化されるビューを定義することができます。ただし、メニューには表示されません。

値(Value)

意味(Meaning)

true

ビューはメニューに表示されません。

false

ビューはメニューに表示されます。

defaultsize

ビュー ウィンドウの既定の位置を定義します。この属性は、コンマで区切った 4 つの整数で示す文字列に設定してください。最初の 2 つの整数は、Softimage のメイン ウィンドウの左および最上部のビュー ウィンドウのオフセットです(ピクセル単位)。残りの 2 つの整数は使用されず、<relationalview>で定義された高さと幅が使用されます。

レイアウトには、ビューの既定サイズと位置の値を格納することができます(下の「<viewdefaultpos>」を参照)。その場合、レイアウトではここで設定した値が上書きされます。

cmdmap

定義済みビューによって内部的に使用されます。カスタム レイアウトおよびビューには使用されません。

supportedtypes

定義済みビューによって内部的に使用されます。カスタム レイアウトおよびビューには使用されません。

category

ビューが表示される[表示](View)メニューのサブメニュー。これを新しい文字列に設定して、独自のカスタム サブメニューにビューを表示させることができます。

この属性が存在しない場合や、空の文字列に設定されている場合は、[表示](View) [その他](Others)を選択してビューを表示させます。

<bitmaps>

スイッチャのボタンとして使用されるビットマップのリストが含まれます。

例:

<bitmaps>
	<bitmap name="fluffy" path="fluffy.bmp" highlightpath="fluffy_highlight.bmp"> </bitmap>
	<!-- Etc., etc., etc. -->
</bitmaps>

適用先: レイアウトおよびビュー(オプション)

親: <relationalview>

子: <bitmap>(オプション、1 つまたは複数)

<bitmap>

スイッチャのボタンとして使用されるビットマップを定義します。ボタンのイメージは、対応するイメージ形式で表示されます。

例:

<bitmap name="fluffy" path="fluffy.bmp" highlightpath="fluffy_highlight.bmp"> </bitmap>

適用先: レイアウトおよびビュー(オプション)

親: <bitmaps>

子: なし

name

スイッチャ ボタンのビットマップを指定するときに使用されるビットマップの名前。

path

無効な状態のボタンに使用するイメージ ファイルへのパス。

highlightpath

有効な状態のボタンに使用するイメージ ファイルへのパス。この属性はオプションです。この属性が定義されていない場合は、両方の状態のパス属性が使用されますが、ボタンの白い外枠は有効な状態のときに表示されます。

<relations>

ビュー内の区画間の駆動するもの([ドライバ])と駆動されるもの([Driven])の関係リストを含みます。

例:

<relations>
	<relation driver="explorer1" driven="objview1" event="selectionproc" cmd="my_selproc"> </relation>
	<!-- Etc., etc., etc. -->
</relations>

適用先: ビューのみ(オプション)

親: <relationalview>

子: <relation>(オプション、1 つまたは複数)

<relation>

ビュー内の区画間の駆動するもの([ドライバ])と駆動されるもの([Driven])の関係を定義します。駆動する区画でエレメントを選択すると、駆動される区画も更新されます。

例:

<relation driver="explorer1" driven="objview1" event="selectionproc" cmd="my_selproc"> </relation>

適用先: ビューのみ(オプション)

親: <relations>

子: なし

driver

関係を駆動する区画の名前。対応する<frame>エレメントで定義された名前。ここで選択した名前は Driven 区画にも影響します。

driven

関係が駆動される区画の名前。ここも、対応する<frame>エレメントで定義された名前。この区画の内容は駆動する区画で選択された名前に依存しますが、それ以外の場所で選択された内容には依存しません。

event

関係のタイプ。

値(Value)

意味(Meaning)

selection

ドライバ ペインで 1 つ以上のエレメントが選択された場合、選択内容はターゲットの操作対象ペインに直接送られます。[Driven]ペインには、選択されたエレメントだけが表示されます。

たとえば、駆動される区画が Explorer である場合、選択されたエレメントは選択スコープに表示されます。また、Object View の場合は、選択が選択内容が分離され、Render Tree の場合は、選択内容のマテリアルなどを表示します。

selectionfilter

[selection]オプションに似ていますが、選択した複数エレメントは操作対象ペインに送られる前にフィルタリングされます。

たとえば、フィルタとして PolygonMesh を使用した場合は、ドライバ ペインでどのようなタイプのオブジェクトが選択されても、操作対象ペインにはポリゴン メッシュのみが表示されます。

selectionfunc

このオプションを使用すると、操作対象ペインに表示されるエレメントをコントロールする独自の関数を記述できます。作成した関数では、[ドライバ]ペインで選択されたエレメントのコレクションを受け取ると、[Driven]ペインに送るエレメントのコレクションを返す必要があります。この関数は、シェルフのアクティブなタブをセットするなど、オブジェクト モデルを使用してビューを変更することもできます。

selectionproc

[selectionfunc]オプションに似ていますが、コレクションは返しません。代わりにオブジェクト モデルを使用して、「Driven」区画のターゲットとなるコンテンツをコントロールする必要があります。

cmd

関数を実行するフィルタまたはサブルーチン。

event が「selection」の場合は、この属性は無視されます。

event が「selectionfilter」の場合は、この属性は使用するフィルタ名となります。[Select]パネルまたは Explorer でフィルタ メニューに表示されるフィルタを使用できます。フィルタの名前が、スペースなどの文字を含む表示用の名前ではなくスクリプト名になっていることを確認してください。

event が「selectionfunc」または「selectionproc」の場合は、この属性は実行するサブルーチン名となります。サブルーチンは<script>ブロックで定義されます。

<viewdefaultpos>

レイアウトのフローティング ウィンドウの既定サイズおよび位置のリストを含みます。このリストにビューが表示される場合は、そのビューの .xsivw ファイルに設定されている既定値がここで設定した値に上書きされます。

このセクションは、フローティング ウィンドウを移動し、閉じ、レイアウトを保存した後に([表示](View) [レイアウト](Layouts) [レイアウトの保存](Save Layouts))、保存されます。

例:

<viewdefaultpos>
	<view type="Animation Editor" position="113,532,1137,859"> </view>
	<!-- Etc., etc., etc. -->
</viewdefaultpos>

適用先: レイアウトのみ(オプション)

親: <relationalview>

子: <view>(<viewdefaultpos>の子)(オプション、1 つまたは複数)

<view>(<viewdefaultpos>の子)

レイアウトのフローティング ビューのサイズおよび位置を定義します。

例:

<view type="Animation Editor" position="113,532,1137,859"> </view>

適用先: レイアウトのみ(オプション)

親: <viewdefaultpos>

子: なし

タイプ

.xsivw ファイルによって定義される既定のビューまたはカスタム ビューの名前。

位置

コンマで区切られた整数による文字列。スペースは入れません。これらの整数は、ウィンドウの左端、最上部、右端、最下部の位置をピクセルで指定します。(0, 0)はレイアウトの左上を意味します。

<frameset>

ペインを異なるビューを含むサブペインに分割する方法を定義します。フレームセットは、任意の深さにネストしてウィンドウを複雑に分割することができます。フレームセットには、1 つまたは複数の子のそれぞれをフレーム、スイッチャ、または別のフレームセットとして含めることができます。

例:

<frameset orientation="horizontal" name="Frameset1" splitter="movable" sizechild="160,*">
	<frame name="explorer1" type="Explorer" primary="true" toolbar="own"> </frame>
	<frameset orientation="vertical" name="Frameset2" splitter="movable" sizechild="*,100">
		<switcher type="tray" buttonside="bottom" active="0" orientation="horizontal" name="Tray4"buttonsize="80,30" splitter="none" sizechild="*,*,*">
			<frameset orientation="vertical" name="Frameset3" bitmap="fluffy" splitter="movable" sizechild="*,50">
				<frame name="objview1" type="Object View" primary="false" toolbar="own">
					<properties>
						<displaymode>shaded</displaymode>
						<!-- Etc., etc., etc. -->
					</properties>
				</frame>
				<!-- Etc., etc., etc. -->
			</frameset>
			<frame name="rtree1" bitmap="rtree" type="Render Tree" primary="false" toolbar="own"> </frame>
			<!-- Etc., etc., etc. -->
		</switcher>
		<!-- Etc., etc., etc. -->
	</frameset>
</frameset>

適用先: レイアウトおよびビュー(少なくとも 1 つが必要)

親: <relationalview>、<frameset>、<switcher><view>(<section>の子)

子: <frameset>、<switcher><frame>(少なくとも 1 つまたは自由に組み合わせた複数)

<frameset>は<switcher>と同じ属性を共有することに注意してください。なお、スイッチャ機能固有の属性はフレームセットでは無視されます。場合によっては、Softimage インタフェースでビューやレイアウトを編集するときに、<frameset>タグにスイッチャ固有の属性が表示されますが、これらの属性は無視したり削除してもかまいません。このセクションに説明されている属性のみが<frameset>に適用されます。

orientation

サブペインの配列方法を指定します。ウィンドウに水平および垂直に表示するには、1 つのフレームセットを別のフレームセットにネストします。

値(Value)

意味

horizontal

子ペインは左から右へ行として整列されます。スプリッタは垂直になります。

vertical

子ペインは上から下へ列として整列されます。スプリッタは水平になります。

name

フレームセットを識別する文字列。この属性はオプションです。これが存在する場合は、ビューまたはレイアウトで固有である必要があります。大文字と小文字は区別されません。フレームセットがスイッチャの子であり、表示名またはビットマップが指定されていない場合、この文字列はボタンに表示されます。また、オプションの属性が存在し、表示名は存在しない場合、この文字列は[表示](View) [オプションパネル](Optional Panels)でも使用されます。

optional

この属性はレイアウト内のペインにのみ適用されます。タグに表示される場合、ペインは[表示](View) [オプションパネル](Optional Panels)にも追加されます。オプションのペインが非表示になっている場合、親ペイン内の他の子のサイズを計算するため、サイズは「0」と見なされます。メニューでは、displayname が存在する場合はこの属性が使用され、存在しない場合は name が使用されます。

値(Value)

意味(Meaning)

可視

ペインは、レイアウトが最初に開いたときに表示されます。

hidden

ペインは、レイアウトが最初に開いたときに表示されません。

displayname

ビットマップ属性がない場合、文字列がスイッチャ ボタンに表示されます。これにより、ボタンに大文字/小文字の名前を表示できます。この属性もビットマップ属性も存在しない場合は、ボタンに名前属性が表示されます。また、オプションの属性が存在する場合、この値は[表示](View) [オプションパネル](Optional Panels)にも表示されます。

description

マウス ポインタをトレイ スイッチャのボタンの上に置くと、ツールチップとして表示される文字列。この属性が定義されていない場合、ツールチップには displayname、name が順に使用されます。この属性は、ペインがスイッチャの子である場合にのみ効果があります。

bitmap

<bitmaps>セクションに定義されているビットマップ名。これは、スイッチャ ボタンに使用されます。この属性は、ペインがスイッチャの子でない場合には効果がありません。この属性が存在しない場合、表示名または名前属性がスイッチャ ボタンに使用されます。

splitter

ペインを分割する分割バーの表示と動作をコントロールします。

値(Value)

意味(Meaning)

なし

子ペインの間に分割バーは表示されません。ペインのサイズを変更することはできません。

fixed

子ペインの間に分割バーが表示されますが、ペインのサイズを変更することはできません。

movable

子ペインの間に分割バーが表示され、ペインのサイズはクリック アンド ドラッグ操作で変更することができます。

sizechild

整列したサブペインのサイズ。これは、コンマで区切られた文字列で表示されます。スペースは入れません。サイズは、向きによって水平または垂直に整列します。文字列の項目数はサブペインの数を示し、子エレメントの数と同じです。文字列の各項目は次のとおりです。

  • 整数: 絶対サイズをピクセル単位で示します。この設定方法は、ツールバーのようにサイズを変更したくないウィンドウの部分に適しています。

  • パーセンテージ: ユーザがウィンドウのサイズを変更すると、ウィンドウのサイズに相対比例するペイン サイズが維持されます。

  • アスタリスク(*): ペインは空いている残りのすべてのスペースに表示されます。ウィンドウのサイズがどのように変更されても、フレームセットのすべてのペインのサイズを正しく加算させたい場合に便利です。通常は、「*」のサイズが付いているサブペインが 1 つ存在します。

ビューが表示された状態での移動可能なスピリッタ バーの位置に応じて、縦横いずれかのサイズを変更できるということに注意してください。

サイズ設定に関しては、さらに以下のような注意事項があります。

  • すべてを絶対サイズで使用する場合には、親フレームセットのサイズより小さい数値を指定すると、未使用のスペースまたは隠れた領域が残されてしまう場合があります。

  • 同一フレームセットにフリー スペース(*)を設定した複数のペインがある場合には、最も左または上にあるペインが余白をすべて利用します。

  • 絶対サイズ指定と相対値またはフリー サイズ指定を同時に使用した場合には、先に絶対サイズが考慮された後で、親フレームセットの余白に基づいて相対値を決定します。

  • 相対サイズ指定が 100% より少なく、フリー サイズ指定のペインが存在しない場合には、相対値がノーマライズされます。

<frame>

Explorer、Animation Editor、カスタム ビューなど、ペインに表示されるビューを指定します。

例:

<frame name="objview1" type="Object View" primary="false" toolbar="own">
	<properties>
		<displaymode>shaded</displaymode>
		<!-- Etc., etc., etc. -->
	</properties>
</frame>

適用先: レイアウトおよびビュー

親: <frameset><switcher><view>(<section>の子)

子: <properties>(オプション)

name

フレームに含まれるビューのインスタンスを示す識別子。レイアウトまたはビュー内で固有である必要があります。大文字と小文字は区別されません。これは、関係で使用される名前であり、ビュー属性を取得または設定するために対象となるビューへのポインタを取得する SDK に使用される名前でもあります。また、表示名またはビットマップ属性が存在しない場合、スイッチャ ボタンにも使用されます。また、オプションの属性が存在し、表示名は存在しない場合、この文字列は[表示](View) [オプションパネル](Optional Panels)でも使用されます。

optional

この属性はレイアウト内のペインにのみ適用されます。タグに表示される場合、ペインは[表示](View) [オプションパネル](Optional Panels)にも追加されます。オプションのペインが非表示になっている場合、親ペイン内の他の子のサイズを計算するため、サイズは「0」と見なされます。メニューでは、displayname が存在する場合はこの属性が使用され、存在しない場合は name が使用されます。

値(Value)

意味(Meaning)

可視

ペインは、レイアウトが最初に開いたときに表示されます。

hidden

ペインは、レイアウトが最初に開いたときに表示されません。

displayname

ビットマップ属性がない場合、文字列がスイッチャ ボタンに表示されます。これにより、ボタンに大文字/小文字の名前を表示できます。この属性もビットマップ属性も存在しない場合は、ボタンに名前属性が表示されます。また、オプションの属性が存在する場合、この値は[表示](View) [オプションパネル](Optional Panels)にも表示されます。

description

マウス ポインタをトレイ スイッチャのボタンの上に置くと、ツールチップとして表示される文字列。この属性が定義されていない場合、ツールチップには displayname、name が順に使用されます。この属性は、ペインがスイッチャの子である場合にのみ効果があります。

bitmap

<bitmaps>セクションに定義されているビットマップ名。これは、スイッチャ ボタンに使用されます。この属性は、ペインがスイッチャの子でない場合には効果がありません。この属性が存在しない場合、表示名または名前属性がスイッチャ ボタンに使用されます。

タイプ

ペイン コンテンツ。独自の .xsivw ファイルで定義される既定のビューまたはカスタム ビューの名前。

primary

これは古い属性です。

toolbar

ツールバーの表示方法をコントロールします。

値(Value)

意味(Meaning)

なし

ビューのツールバーを非表示にします。ビュー タイプによっては、対応しない場合があります。たとえば、設定が変更されないようにする場合などには、Object View のツールバーを非表示にし、<properties>タグの表示タイプを設定するか、SDK を使用してそれをコントロールします。

own

ビューのツールバーを正しく表示します。

shared

Relational View の最上部にわたる特別な領域にビューのツールバーを表示します。これは[Explorer]ビューでのみサポートされています。他のビューで使用すると望ましくない結果を生じる場合があります。

現在のバージョンでは機能しません。

timeline

同じファイル内に存在し、type="Timeline" を持つ<frame>の名前。設定したタイムラインで、対象となるペイン内のビューを同期および整列します。これは、Animation Mixer、Dopesheet、および Fcurve Editor で機能します。

<properties>

ビュー属性とその値のリストを含みます。設定する各ビュー属性はこのエレメントの子タグとなり、値は次のようにタグのコンテンツとなります。

<properties>
	<attributename>value</attributename>
	<!-- Etc., etc., etc. -->
</properties>

使用できるビュー属性は、データ タイプに応じて異なります。各エレメントのコンテンツは、対応するビュー属性の有効な値となります。各種のビューの属性と値のリストについては、ビューの属性『SDK ガイド』を参照してください。

例:

<frame name="pane5" type="Object View" primary="false" toolbar="own">
	<properties>
		<displaymode>shaded</displaymode>
		<localview>true</localview>
	</properties>
</frame>

適用先: レイアウトおよびビュー(オプション)

親: <frame><view>(<floatingwindows>の子)

子: サポートされているビュー タイプの属性。

<switcher>

ボタンを使用して子ペインを切り替えるペインを作成します。それぞれの子は、フレーム、フレームセット、または別のスイッチャになります。スイッチャは、任意の深さまでネストされます。

スイッチャのボタンは存在する場合にのみ表示され、存在しない場合は displayname、name が順に使用されます。マウス ポインタをボタンの上に移動すると、ツールチップが存在する場合はその説明が表示され、存在しない場合は displayname、name が順に使用されます。

例:

<switcher type="tray" buttonside="bottom" active="0" orientation="horizontal" name="Tray4" buttonsize="80,30" splitter="none" sizechild="*,*,*">
	<frameset orientation="vertical" name="Frameset3" bitmap="fluffy" splitter="movable" sizechild="*,50">
		<!-- Etc., etc., etc. -->
	</frameset>
	<frame name="rtree1" bitmap="rtree" type="Render Tree" primary="false" toolbar="own"> </frame>
	<!-- Etc., etc., etc. -->
</switcher>

適用先: レイアウトおよびビュー

親: <frameset>、<switcher>、<view>(<section>の子)

子: <frameset>、<switcher>、<frame>

タイプ

カスタム ビューおよびレイアウトに対応する値は「tray」のみです。トレイ スイッチャは、一度に子を 1 つずつ表示します。

buttonside

スイッチャ ボタンを表示する位置をコントロールします。表示できるのは、上、左、下、または右です。

active

ビューまたはレイアウトを初めて開くときに、子の数(0 ベースのインデックス)を指定する文字列。

orientation

トレイ スイッチャには適用できません。

name

スイッチャを識別する文字列。この属性はオプションです。これが存在する場合は、ビューまたはレイアウトで固有である必要があります。大文字と小文字は区別されません。フレームセットがスイッチャの子であり、表示名またはビットマップが指定されていない場合、この文字列はボタンに表示されます。また、オプションの属性が存在し、表示名は存在しない場合、この文字列は[表示](View) [オプションパネル](Optional Panels)でも使用されます。

optional

この属性はレイアウト内のペインにのみ適用されます。タグに表示される場合、ペインは[表示](View) [オプションパネル](Optional Panels)にも追加されます。オプションのペインが非表示になっている場合、親ペイン内の他の子のサイズを計算するため、サイズは「0」と見なされます。メニューでは、displayname が存在する場合はこの属性が使用され、存在しない場合は name が使用されます。

値(Value)

意味(Meaning)

可視

ペインは、レイアウトが最初に開いたときに表示されます。

hidden

ペインは、レイアウトが最初に開いたときに表示されません。

displayname

ビットマップ属性がない場合、文字列がスイッチャ ボタンに表示されます。これにより、ボタンに大文字/小文字の名前を表示できます。この属性もビットマップ属性も存在しない場合は、ボタンに名前属性が表示されます。また、オプションの属性が存在する場合、この値は[表示](View) [オプションパネル](Optional Panels)にも表示されます。

description

マウス ポインタをトレイ スイッチャのボタンの上に置くと、ツールチップとして表示される文字列。この属性が定義されていない場合、ツールチップには displayname、name が順に使用されます。この属性は、ペインがスイッチャの子である場合にのみ効果があります。

bitmap

<bitmaps>セクションに定義されているビットマップ名。これは、スイッチャ ボタンに使用されます。この属性は、ペインがスイッチャの子でない場合には効果がありません。この属性が存在しない場合、表示名または名前属性がスイッチャ ボタンに使用されます。

buttonsize

スイッチャ ボタンの幅および高さをピクセルで指定するため文字列。コンマで区切られ、スペースは不要。

splitter

トレイ スイッチャによって無視されます。

sizechild

トレイ スイッチャでは、この属性はコンマで区切られたアスタリスクの文字列で(スペースなし)あり、スイッチャの子と同じ数だけアスタリスクが表示されます。

<autohide>

レイアウトの自動非表示ペインのリストを含みます。

例:

<autohide>
	<section side="left" activation="10,0,50%;10,50%,100%">
		<view viewsize="105,0,100%">
			<frameset orientation="vertical" name="ah_frameset1" splitter="none" sizechild="30,*">
				<!-- Etc., etc., etc. -->
			</frameset>
		</view>
		<!-- Etc., etc., etc. -->
	</section>
	<!-- Etc., etc., etc. -->
</autohide>

適用先: レイアウトのみ(オプション)

親: <relationalview>

子: <section>(最大 4 まで)

<section>

レイアウトの 4 辺のうち 1 つで有効ゾーンを定義します。

例:

<section side="left" activation="10,0,50%;10,50%,100%">
	<view viewsize="105,0,100%">
		<frameset orientation="vertical" name="ah_frameset1" splitter="none" sizechild="30,*">
			<!-- Etc., etc., etc. -->
		</frameset>
	</view>
<!-- Etc., etc., etc. -->
	</section>

適用先: レイアウトのみ(オプション)

親: <autohide>

子: <view>(<section>の子)

side

レイアウトの 4 辺のうち 1 つを指定します。表示できるのは、上、左、下、または右です。

activation

レイアウトの 1 つの辺の有効ゾーン。マウス ポインタを有効ゾーン上に移動すると、ボタン自動非表示ペインが表示されます。複数の有効ゾーンが可能になります。個々の有効ゾーンは、<view>タグで定義された個別の自動非表示ペインに対応します。

この値はトリプレットのリストで示します。トリプレットはセミコロン(;)で区切られ、トリプレット内の数値はコンマで区切られます。スペースは入れません。<section>のそれぞれの子<view>には 1 つのトリプレットが含まれます。トリプレットの数値の順序は次のとおりです。

  • 有効ゾーンの幅(右または左の場合)、または高さ(上または下の場合)。

  • 有効ゾーンの上部(右または左の場合)、または左(上または下の場合)。

  • 有効ゾーンの下部(右または左の場合)、または右(上または下の場合)。

すべての数値は整数(ピクセル)またはパーセンテージで表示されます。(0, 0)はレイアウトの左上隅を示します。

2 つ以上の有効ゾーンが重なる場合は、最初に定義されたゾーンが優先されます。これは、重なる有効ゾーンが別の<section>エレメントで定義されている場合も同じです。

<view>(<section>の子)

自動非表示ペインが表示されるときにそのサイズと位置が定義されます。親<section>エレメントの有効属性には各トリプレットに 1 つのビューが含まれています。

例:

<view viewsize="105,0,100%">
	<frameset orientation="vertical" name="ah_frameset1" splitter="none" sizechild="30,*">
		<!-- Etc., etc., etc. -->
	</frameset>
</view>

適用先: レイアウトのみ(オプション)

親: <section>

子: <frameset><frame><switcher>(最大 1 つの直属の子)

viewsize

自動非表示ペインのサイズと位置を定義する 3 つの数値リスト。スペースなしで、コンマで区切られます。ペインは、マウス ポインタをこの領域以外に移動すると非表示になります。このため、ビュー サイズが対象となる有効サイズを完全に対応することが重要となります。対応しない場合は、ペインが表示されると同時に隠れてしまいます。

有効サイズの数値は次のように表示されます。

  • 自動非表示ペインの幅(右または左の場合)、または高さ(上または下の場合)。

  • 自動表示ペインの上部(右または左の場合)、または左(上または下の場合)。

  • 自動非表示ペインの下部(右または左の場合)、または右(上または下の場合)。

すべての数値は整数(ピクセル)またはパーセンテージで表示されます。

<script>

ビューで使用できるスクリプトを含みます。

このエレメントのコンテンツは、<![CDATA[…]]>セクション内に含まれる必要があります。このセクションに含まれない場合は、スクリプト内の<および>といった XML マークアップ文字によりファイルが正しく解析されない場合があります。

ここには 2 つの基本のスクリプト タイプを含むことができます。

  • ビューが初期化および終了するときに実行される Init および term コールバック。「RV_Init および RV_Term」を参照してください。

  • イベントが「selectionfunc」または「selectionproc」である場合、<relation>の cmd 属性として使用できるルーチン。「selectionfunc および selectionproc」を参照してください。

グローバル コード(関数またはプロシージャ内以外のコードなど)は、ビューが開いたときに自動的に実行されることに注意してください。これはスクリプトの解析による影響です。

例:

<script language="JScript">
	<![CDATA[
	function RV_Init( in_rv)
	{
		AddProp("My_Custom_Property", "Scene_Root", "", "", null);
	}
	
	function RV_Term( in_rv)
	{
		DeleteObj("Scene_Root.My_Custom_Property");
	}
	
	function my_selproc( in_list, in_driverName, in_drivenName, in_rv )
	{
		// This example simply shows how to populate the driven pane.
		// It is equivalent to event="selection".
		in_rv.Views(in_drivenName).SetAttributeValue("targetcontent", in_list.GetAsText());
	}
	]]>
</script>

適用先: ビューのみ(オプション)

親: <relationalview>

子: なし

language

<script>ブロックで使用されるスクリプト言語を指定します。"VBScript"、"JScript"および"Python"は、Softimage のすべてのインストールで使用できます。

RV_Init および RV_Term

RV_Init および RV_Term はそれぞれ、カスタム ビューが作成されたり閉じられたりするときに実行されるコールバックです。これらのコールバックにより、開始時の設定と終了時のクリーンアップが実行されます。

RV_Init と RV_Term の完全な名前を使用する必要があります。各関数は、ポインタをビュー オブジェクトへ渡します。

selectionfunc および selectionproc

<relation>のイベント パラメータを「selectionfunc」または「selectionproc」に設定する場合、cmd パラメータを使用してルーチン名を指定し、そのルーチンを<script>ブロックに作成する必要があります。

  • selectionfunc を使用する場合、指定したルーチンにより、[Driven]区画に送るエレメントのコレクションを返す必要があります。この関数は、シェルフにアクティブなタブをセットするなど、オブジェクト モデルを使用してビューを変更することもできます。

  • selectionproc を使用する場合、指定したルーチンにより、コレクションは返されず、 オブジェクト モデルを使用して、[Driven]区画の対象となる内容をコントロールします。

どちらの場合も、ルーチンにより、駆動するペインで選択されているオブジェクトのコレクション、駆動ペインの名前、駆動されているペインの名前、およびリレーショナル ビューへのポインタが返されます。

<floatingwindows>

Softimage セッションでレイアウトを最初に開いたときに自動的に開かれるフローティング ウィンドウのリストが含まれます。Softimage セッション中は、レイアウトを切り替えてもフローティング ウィンドウの状態は保持されます。

フローティング ウィンドウを開いているときにレイアウトを保存した場合([表示](View) [レイアウト](Layouts) [レイアウトの保存](Save Layouts))、このセクションが保存されます。

例:

<floatingwindows>
	<view name="Explorer1" type="Explorer" position="128,81,500,563">
		<!-- Etc., etc., etc. -->
	</view>
	<!-- Etc., etc., etc. -->
</floatingwindows>

適用先: レイアウトのみ(オプション)

親: <relationalview>

子: <view>(<floatingwindows>の子)(オプション、1 つまたは複数)

<view>(<floatingwindows>の子)

レイアウトを初めて開いたときに自動的に開くフローティング ウィンドウを定義します。

<view name="Explorer1" type="Explorer" position="128,81,500,563">
	<properties>
		<scope>Passes</scope>
		<!-- Etc., etc., etc. -->
	</properties>
</view>

適用先: レイアウトのみ(オプション)

親: <floatingwindows>

子: <properties>

name

自動作成されたフローティング ウィンドウのインスタンスを識別する文字列。この名前はレイアウトで固有である必要があります。SDK を使用してビューを操作するために使用できます。

タイプ

フローティング ウィンドウのタイプ。.xsivw ファイルで定義される既定のビューまたはカスタム ビューの名前。

位置

コンマで区切られた整数による文字列。スペースは入れません。これらの整数は、ウィンドウの左端、最上部、右端、最下部の位置をピクセルで指定します。(0, 0)はレイアウトの左上を意味します。

コメント

.xsily および .xsivw ファイルに標準 XML コメントを追加することができます。たとえば、一般的な説明や特定のセクションの説明を含むことができます。コメントは次のように入力します。

<!--

および

-->

コメントは、タグ(<および>)内には表示されません。また、コメントはネスティングできません。

<![CDATA[…]]>セクション内にコメントを入れる場合は、XML コメント構文ではなく、スクリプト言語のコメント構文を使用します。