ユーザーインターフェイス記述リファレンス

ユーザーインターフェイス記述の名前空間の概要や、要素・属性を解説します。

1. 概要

ユーザーインターフェイス記述の名前空間の概要を説明します。

1.1. 用途・役割

キャンバスでXML文書を編集するために、メインメニューやコンテキストメニュー、ツールバーといったユーザーインターフェイスを記述する名前空間です。

1.2. 名前空間URI参照

ユーザーインターフェイス記述の名前空間URI参照は http://xmlns.xfytec.com/ui です。 以下の説明で、ユーザーインターフェイス記述の要素を記述するときは、ui:という名前空間プレフィックスを使用します。

このほか、以下の説明中に出現する名前空間と、その名前空間に使用している名前空間プレフィックスは次のとおりです。

  • VC中核
    名前空間プレフィックスは xvcd: を使用します。
    詳細は、VC中核リファレンスをご覧ください。

2. ユーザーインターフェイス記述名前空間で定義されている要素・属性

ユーザーインターフェイス記述名前空間で定義されている要素・属性を解説します。

2.1. ルート要素

ユーザーインターフェイス記述名前空間のルート要素は、ui:ui要素です。

ui:ui 要素

ユーザーインターフェイスを記述するときのルート要素です。 xvcd:vocabulary要素内に1つだけ記述できます。省略も可能です。この要素内に、ボキャブラリに対応するメニューやツールボックスの設定を記述します。

属性:
version (必須)

ユーザーインターフェイス記述名前空間のバージョン番号を設定する属性です。必ず1.0を設定します。

内容:

ui:ui要素内には、以下の要素から必ず1つ以上を任意の組み合わせで記述します。

2.2. メニュー

メニューの記述に使用される要素・属性は以下のとおりです。

ui:context-menu 要素

コンテキストメニューの内容を記述するときに使用する要素です。

属性:

属性はありません。

内容:

ui:context-menu要素内には、以下の要素から必ず1つ以上を任意の組み合わせで記述します。

2.3. ツールバー

ツールバーの記述に使用される要素・属性は以下のとおりです。

ui:tool-bar 要素

ツールバーの内容を記述する要素です。

属性:

属性はありません。

内容:

ui:tool-bar要素内には、以下の要素から必ず1つ以上を任意の組み合わせで記述します。

ui:tool-list 要素

1つのボタン領域で複数のボタンを保持し、その中から1つを選択して実行するリストボックス形式のボタンを記述するときに使用する要素です。 このリストボックスで表示されるアイコン及びテキストは保持しているボタンのものを使用します。

属性:
label

リストボックス形式のボタンのラベル文字列を指定する属性です。任意の文字列で記述します。ただし、#ではじまる文字列は内部的に予約されています。そのため、#ではじまる文字列を記述するときは、最初の###と記述します。このラベル文字列は、リストボックス形式のボタンのツールチップなどに利用されます。

label属性とresource-key属性のどちらかは、必ず設定しなければなりません。両方とも設定された場合は、resource-key属性が優先されます。

省略された場合、resource-key属性で指定した文字列リソースが使われます。

resource-key

リストボックス形式のボタンのラベル文字列を文字列リソースから取得する場合、取得する文字列のリソースキーを指定する属性です。任意の文字列で記述します。

label属性とresource-key属性のどちらかは、必ず設定しなければなりません。両方とも設定された場合は、resource-key属性が優先されます。

省略された場合、 label 属性で指定した文字列が使われます。

内容:

ui:tool-list要素内に記述できる要素は、以下のとおりです。

ui:tool-button 要素

ツールバーのボタンを記述するときに使用する要素です。

属性:
label

ツールバーのラベル文字列を指定する属性です。任意の文字列で記述します。 ただし、#ではじまる文字列は内部的に予約されています。そのため、#ではじまる文字列を記述するときは、最初の###と記述します。

label属性とresource-key属性のどちらかは、必ず設定しなければなりません。両方とも設定された場合は、resource-key属性が優先されます。

省略された場合、resource-key属性で指定した文字列リソースが使われます。

resource-key

ツールバーのラベル文字列を文字列リソースから取得する場合、取得する文字列のリソースキーを指定する属性です。

label属性とresource-key属性のどちらかは、必ず設定しなければなりません。両方とも設定された場合は、resource-key属性が優先されます。

省略された場合、label属性で指定した文字列が使われます。

command

ボタンをクリックされたときに実行するコマンドを指定する属性です。 xvcd:command要素で定義したコマンド名やプラットフォームが提供するコマンド名をQNameで指定します。

省略された場合、要素内に記述されたコマンドインストラクション列を実行します。 command属性とコマンドインストラクション列が同時に記述された場合は、command属性の指定が優先され、コマンドインストラクション列は無視されます。

icon

ボタンに表示するアイコンを指定する属性です。URL文字列で記述します。

省略された場合、resource-key属性またはlabel属性で指定した文字列が表示されたボタンが作成されます。

内容:

ui:tool-button要素内に記述できる内容は、以下のとおりです。

  • ui:with-param要素
    コマンドへ渡すパラメータを記述できます。 必要に応じて、任意の数だけ記述できます。 省略可能です。
  • コマンドインストラクション列
    XML文書編集用のコマンドインストラクション要素や、プラットフォームコマンドインストラクションを記述できます。 XML文書編集用のコマンドインストラクション要素の詳細は、XML文書編集用のコマンドインストラクションをご覧ください。 また、プラットフォームコマンドインストラクションの詳細は、プラットフォームコマンドインストラクションリファレンスをご覧ください。

2.4. セパレータ

メニューやツールバーには、区切り線(セパレータ)を挿入できます。

ui:separator 要素

メニューやツールバーに区切り線(セパレータ)を挿入するときに使用する要素です。

属性:

属性はありません。

内容:

ui:separator要素は空要素です。

2.5. キーアクセラレータ

キーアクセラレータの設定を変更します。

ui:accelerators 要素

ui:accelerators要素は、ui:accelerator要素のコンテナとなる要素です。

属性:

属性はありません。

内容:

ui:accelerators要素内に記述できる要素は、以下のとおりです。

  • ui:accelerator要素
    キーアクセラレータの設定を記述できます。必要に応じて、任意の数だけ記述できます。省略可能です。

ui:accelerator 要素

キーアクセラレータの設定を表す要素です。キーの組み合わせと、実行されるコマンドを記述できます。

属性:
key-sequence (必須)

キャンバスでの編集中のキー操作でコマンドを呼び出すときの、アクセラレータキーを指定する属性です。キーの組み合わせを表現する文字列で記述します。 キーの組み合わせは、 ui:menu-item要素accelerator属性と同じ書式で指定します。

command

key-sequence属性で指定したキー操作が行われたときに実行するコマンドを指定する属性です。 xvcd:command要素で定義したコマンド名や、プラットフォームが提供するコマンド名をQNameで指定します。

省略された場合、要素内に記述されたコマンドインストラクション列を実行します。command属性とコマンドインストラクション列が同時に記述された場合は、command属性の指定が優先され、コマンドインストラクション列は無視されます。

内容:

ui:accelerator要素内に記述できる内容は、以下のとおりです。

  • ui:with-param要素
    コマンドへ渡すパラメータを記述できます。 必要に応じて、任意の数だけ記述できます。 省略可能です。
  • コマンドインストラクション列
    XML文書編集用のコマンドインストラクション要素や、プラットフォームコマンドインストラクションを記述できます。 XML文書編集用のコマンドインストラクション要素の詳細は、XML文書編集用のコマンドインストラクションをご覧ください。 また、プラットフォームコマンドインストラクションの詳細は、プラットフォームコマンドインストラクションリファレンスをご覧ください。

2.6. ユーザーインターフェイス記述の取り込み

ほかのファイルに記述されたユーザーインターフェイスの定義を取り込むことができます。

ui:import 要素

ほかのファイルに記述されたユーザーインターフェイスの定義を取り込むときに使用する要素です。

属性:
href (必須)

取り込みたいユーザーインターフェイスの定義が記述されているファイルを指定する属性です。URL文字列で記述します。

内容:

ui:import要素は空要素です。

2.7. 追加するユーザーインターフェイス項目の指定

ユーザーインターフェイス項目を必要に応じて追加することができます。

ui:mount 要素

ユーザーエージェントがメニューやツールバーが追加できるように作成されているときに、ユーザーインターフェイス項目を追加する要素です。

属性:
name (必須)

ユーザーエージェントのユーザーインターフェイス項目を追加する位置に設定されている名前を記述する属性です。QNameで記述します。

内容:

ui:mount要素内には、以下の要素から必ず1つ以上を任意の組み合わせで記述します。

2.7.1. 定義済みマウントポイント一覧

XVCDで記述可能な定義済みのマウントポイントは、以下の表のとおりです。

名前 場所 追加可能なUI項目
ui:main-menu-file メインメニューの[ファイル] ui:menu, ui:menu-item, ui:separator
ui:main-menu-edit メインメニューの[編集] ui:menu, ui:menu-item, ui:separator
ui:main-menu-view メインメニューの[表示] ui:menu, ui:menu-item, ui:separator
ui:main-menu メインメニューの最上位階層 ui:menu, ui:menu-item, ui:separator
ui:main-menu-tools メインメニューの[ツール] ui:menu, ui:menu-item, ui:separator
ui:main-menu-help メインメニューの[ヘルプ] ui:menu, ui:menu-item, ui:separator
ui:tool-bar ツールバー ui:tool-list, ui:tool-button, ui:separator
ui:context-menu コンテキストメニュー ui:menu, ui:menu-item, ui:separator

2.8. コマンドパラメータの指定

コマンドパラメータを指定することができます。

ui:with-param 要素

コマンドに渡すパラメータを指定するときに使用する要素です。

属性:
name (必須)

パラメータ名を指定する属性です。QNameで記述します。 指定するパラメータ名は、 xvcd:command要素内に記述されている instruction:param要素name属性に設定された名前を記述します。

内容:

ui:with-param要素内には、コマンドにパラメータとして渡す内容を記述できます。 PCDATA文字列で記述します。