ATF State Chart Editor Sample_j - kaisu1986/ATF GitHub Wiki
StatechartEditor はステートチャート用のサンプルエディタです。データファイル形式の定義に XML スキーマを使用し、XML ステートチャートファイルの読み込みと書き込みを行います。また、ステートと遷移を視覚的に表示して編集できるようにします。AdaptableControl を使用して、ステートチャートを表示および編集します。ドキュメントキャンバス上の付箋紙のような役割を果たす注釈を追加できます。同時に複数のドキュメントを編集できます。標準の編集コマンドの実装には多くの ATF Editor コンポーネントが使用されています。 StatechartEditor には、プロトタイピングの実例も含まれており、ドキュメントに挿入可能なステートチャートフラグメントのカスタムセットを作成する方法が示されています。
このサンプルの内容は、State Chart Editor Programming Discussion を参照してください。
- Statechart.xsd 内でデータモデルを定義する方法。
- DOM を使用してメモリ内にデータモデルを格納。
- アダプタを使用して、ステートチャートデータモデルを作成するために DOM を装飾する。
- Editor.cs は IDocumentClient を実装してドキュメントフレームワークを使用する方法を示す。これにより、複数のドキュメントの管理、[File] メニューコマンドの実装、起動時にドキュメントを自動新規作成したり開いたりすることが可能。
- PaletteClient.cs は、IPaletteClient の実装方法を示し、Statechart パーツパレットの作成に IPaletteService を使用する。
- ContextRegistry を使用して、アクティブな編集コンテキストを追跡し、編集している場所にアプリケーションコンポーネントが常に適用されるようにする。
- AdaptableControl を使用して、グラフ抽象化を使いステートチャートを表示および編集する。
- TransformAdapter、CanvasAdapter、および ViewingAdapter を使用して、ステートチャートキャンバスを実装する。
- ScrollbarAdapter、AutoTranslateAdapter、MouseTransformManipulater、および MouseWheelManipulator を使用して、ステートチャートキャンバスをパンおよびズームできるようにする。
- GraphAdapter、GraphNodeEditAdapter、および GraphEdgeEditAdapter を使用して、ステートチャートのステートと遷移を表示し編集可能にする。
- IHierarchicalNode インタフェースを使用して、ステート内のステートを許可する。
- HoverAdapter を使用して、ステートチャートアイテム上にマウスポインタを移動したときに情報を表示する。
- Use of AnnotationAdapter to display annotations and edit their text on the statechart canvas.
- PrototypingContext.cs は、IPrototypingContext の実装方法を示し、プロトタイピングを可能にするために PrototypeLister を使用する。
- ATF\Samples\StatechartEditor\bin\Release にある StatechartEditor.exe をダブルクリックします。
- [StatechartEditor] ウィンドウが表示されます。
- [Palette]: [Statecharts] パーツパレット: [Comment]、[State]、[Start]、[Final]、[History]、[Conditional]
- [Property]: 選択したステートチャート要素のプロパティをリストコントロールで編集します。
- [Grid]: 選択したステートチャート要素のプロパティをグリッドコントロールで編集します。
- [Prototypes]: ステートチャートで使用するように定義したカスタムステートチャートフラグメントを一覧表示します。
- キャンバス: ステートチャートを定義、表示、および編集します。ツールバーに含まれるボタンは、ファイル管理用が、保存、名前を付けて保存、すべて保存、印刷、ページ設定、印刷プレビューで、編集用が、切り取り、コピー、貼り付け、削除、元に戻す/やり直し、すべて選択、ロック/ロックの解除です。
- [File]: [New] (ステートチャートの新規作成)、[Open] (既存のステートチャートを開く、[Save] (保存)、[Save] (名前を付けて保存)、[Save] (すべて保存)、[Close] (閉じる)、[Page] (ページ設定)、[Print] (印刷プレビュー)、[Print] (印刷) および [Exit] (Statechart の終了)。
- [Edit]: 標準の編集機能 ([Undo]/[Redo] (元に戻す/やり直し)、[Cut] (切り取り)、[Copy] (コピー)、[Paste] (貼り付け)、[Delete] (削除)、[Select]/[Deselect] (すべて選択/選択解除)、[Invert] (選択対象を反転する) など) のほかに、次の項目があります。
- [Keyboard] (キーボードショートカット): [Customize] ウィンドウを使用して、キーボードショートカットを設定します。
- [Load] (設定の読み込み/保存): [Load] ウィンドウを使用して、現在の StatechartEditor の設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
- [Preferences] (設定): コマンドアイコンのサイズや最後にアクティブになったドキュメントの自動読み込みなど、アプリケーションやドキュメントを設定します。
- [View]: [Frame] または [Frame] を選択します。
- [Format]: ステート要素の配置とサイズを指定します。
- [Window]: ペインの表示/非表示を切り替え、ドキュメントペインを整理します。
StatechartEditor を開くと空のキャンバスグリッドが表示されます。[Palette] から使用するステートチャート要素をキャンバスにドラッグします。各ペインのタブをクリックして、ステートチャートとステートチャート要素プロパティを表示し編集します。