ダイアグラムビューでのテキストの動的変更
本機能および本機能で利用する API は先行公開しているものです。 現時点で品質保証しておりませんので、ご利用される場合はユーザー様の責任でご利用ください。 また、これらの仕様は予告なく変更する場合がありますのでご了承ください。
概要
ダイアグラムビュー上のテキストとして表示する文字列を、文字列型フィールドの値ではなく、モデルの状態などに基づいて動的に決定される文字列に変更できます。また、ダイアグラムビュー上のテキストを編集時に、入力された文字列を解析してモデルのフィールド値を更新することもできます。
テキストの動的変更を実現するには次の実装が必要です。
- コールバック関数の実装
- コールバック関数の登録処理の実装
コールバック関数の実装
テキストの動的変更のコールバック関数を実装します。 コールバック関数には次の種類があります。
- テキスト値の取得コールバック関数
- テキスト値の設定コールバック関数
以下では、それぞれのコールバック関数の実装について説明します。
テキスト値の取得コールバック関数
テキスト値の取得コールバック関数のシグネチャは次の通りです。
詳細は IViewDefinitions.RegisterTextValueCallback メソッド の引数 getter の説明をご参照ください。
コールバック関数のシグネチャ
string get_TextValueFunction(IShape shape, TextTypes type, string textPath, IModel model)
- ダイアグラムビューを表示してテキストが表示される前に、本コールバック関数は呼び出されます。
コールバック関数の呼び出しタイミング
テキスト値の設定コールバック関数
テキスト値の設定コールバック関数のシグネチャは次の通りです。
詳細は IViewDefinitions.RegisterTextValueCallback メソッド の引数 setter の説明をご参照ください。
コールバック関数のシグネチャ
void set_TextValueFunction(IShape shape, TextTypes type, string textPath, IModel model, string value)
- ダイアグラムビューでテキスト編集を確定させた後に、本コールバック関数は呼び出されます。
テキスト値の設定コールバック関数(setter)を実装する際は、以下の2点に注意する必要があります。
-
引き渡されるテキスト値に対する考慮
引数: value には、ダイアグラムビューで表示されている文字列がそのまま引き渡されます。
テキスト値の取得コールバック関数を使用して表示されている文字列を変更している場合、変更後の文字列が引き渡 される点にご留意ください。 -
複数回の呼び出しに対する考慮
テキスト値の設定コールバック関数は、ダイアグラムビューでテキストの編集を確定するごとに呼び出されます。
複数回呼び出されても設定先のデータに不整合が発生しないように、コールバック関数を実装してください。
コールバック関数の登録処理の実装
IExtention を実装したメインクラスの公開メソッドである Activate
メソッドに、コールバック関数の登録処理を実装します。
詳細は IViewDefinitions インタフェース の各メソッドをご参照ください。
-
登録処理に使用するAPI
対象 コールバック関数の登録 API テキスト値(タイトル/ラベル) IViewDefinitions.RegisterTextValueCallback メソッド