カスタム UI の組み込み
本機能および本機能で利用する API は先行公開しているものです。 現時点で品質保証しておりませんので、ご利用される場合はユーザー様の責任でご利用ください。 また、これらの仕様は予告なく変更する場合がありますのでご了承ください。
概要
Next Design に標準搭載されている UI 以外に、ユーザーが独自に開発した UI を次の部分に組み 込んでモデル編集機能を拡張できます。
- エディタ
- ナビゲータ
- インスペクタ
カスタム UI を組み込むには次の実装と手順が必要です。
- カスタム UI のユーザコントロールの実装
- カスタム UI のインタフェースの実装
- カスタム UI の登録処理と登録解除処理の実装
- カスタム UI の利用方法
カスタム UI は、MVVM モデル(Model-View-ViewModel)のアーキテクチャにしたがって実装します。
カスタム UI のユーザコントロールの実装
View クラスで、UI として表示するユーザコントロールを WPF で実装します。
本機能では、独自 UI を組み込むための手段を提供しています。
ユーザコントロール自体の作成を支援する機能は提供していない点にご注意ください。
カスタム UI のインタフェースの実装
ViewModel クラスで、UI の種類に応じてインタフェースを実装します。
UI の種類に応じたインタフェースを実装することで、Next Design のモデルと ViewModel クラスを繋ぐことができます。
-
UI の種類と実装するインタフェース
UI 種類 ViewModel で実装するインタフェース 実装が必要なプロパティ/メソッド カスタムエディタ ICustomEditorView Descriptor プロパティ
OnInitialized メソッド
OnBeforeDispose メソッド
ViewDefinitionId プロパティ
SelectedItem プロパティ
SelectedItems プロパティ
SetModel メソッド
GetDocumentContent メソッド(※)カスタムナビゲータ ICustomNavigator Descriptor プロパティ
OnInitialized メソッド
OnBeforeDispose メソッド
SelectedItem プロパティ
SelectedItems プロパティ
OnShow メソッド
OnHide メソッドカスタムインスペクタ ICustomInspector Descriptor プロパティ
OnInitialized メソッド
OnBeforeDispose メソッド
SetModel メソッド※:GetDocumentContent メソッドは、将来の機能拡張のために用意した API です。現行バージョンでは、null を返すのみとしてください。
カスタム UI の登録処理と登録解除処理の実装
IExtention を実装したメインクラスの公開メソッドである Activate
メソッドにカスタム UI の登録処理を実装します。そして、メインクラスの公開メソッドである Deactviate
メソッドにカスタム UI の登録解除処理を実装します。
-
登録処理に使用するAPI
対象 カスタム UI登録のAPI カスタムエディタ RegisterCustomEditor カスタムナビゲータ RegisterCustomNavigator カスタムインスペクタ RegisterCustomInspector -
登録時に指定するタイプ記述子
タイプ記述子では、カスタムUI の静的な情報を定義します。
カスタムUI タイプ記述子 定義する情報 カスタムエディタ CustomEditorDescriptor ID
CustomEditorDefinitionDescriptorCustomEditorDefinitionDescriptor ID
アクセスキー
表示名
グループ名
アイコンカスタムナビゲータ CustomNavigatorDescriptor ID
表示名
表示位置
アイコンカスタムインスペクタ CustomInspectorDescriptor ID
表示名
表示位置
カスタム UI の利用方法
エディタ
カス タム UI の種類がエディタの場合は、次の手順で対象モデルのビューにカスタム UI を追加します。
- モデルナビゲータで カスタム UI の対象モデルを選択します。
- コンテキストメニューの [ビューの追加] を実行します。
- 組み込んだカスタム UI のエディタ名を選択し、ビューを追加します。
- 追加されたビューに切り替えると、組み込んだカスタム UI で対象モデルを表示・編集できます。
ナビゲータ、インスペクタ
カスタム UI の種類がナビゲータ、インスペクタの場合は、それぞれ対応するウィンドウに UI が表示されるので直接操作します。