Skip to content

ATF Circuit Editor Sample_j

Gary edited this page Mar 17, 2015 · 3 revisions

Table of Contents

説明

CircuitEditor は、入力ピンと出力ピンを持つモジュールとモジュール間の接続で構成される回路用のサンプルエディターです。データファイル形式の定義に XML スキーマを使用し、XML 回路ファイルの読み込みと書き込みを行います。また、モジュールと接続を視覚的に表示して回路を編集できるようにします。AdaptableControl を使用して、回路を表示および編集します。同時に複数のドキュメントを編集できます。CircuitEditor では標準の編集コマンドの実装に、ATF Editor コンポーネントがいくつか使用されています。CircuitEditor には、次の機能も含まれています。

  • プロトタイピング: ドキュメントに挿入可能な回路フラグメントのカスタムセットを作成できます。
  • レイヤー化: オン/オフ (表示/非表示) にできるレイヤーに図コンポーネントを割り当てることができます。
  • 回路グループおよび回路テンプレート
サンプルのプログラム方法に関する詳細は、Circuit Editor Programming Discussion をご覧ください。ATF での一般的なグラフの処理に関する情報は、Graphs in ATF を参照してください。

CircuitEditor が示す ATF の機能

  • Circuit.xsd XML スキーマを使用するデータモデルを定義する。
  • DOM を使用してメモリ内にデータモデルを格納。
  • アダプターを使用して、Circuit データモデルを作成するために DOM を装飾する。
  • ContextRegistry を使用して、アクティブな編集コンテキストを追跡し、編集している場所にアプリケーションコンポーネントが常に適用されるようにする。
  • AdaptableControl を使用して、グラフ抽象化を使い回路を表示および編集する。
  • TransformAdapter、CanvasAdapter、および ViewingAdapter を使用して、Circuit キャンバスを実装する。
  • ScrollbarAdapter、AutoTranslateAdapter、MouseTransformManipulator、および MouseWheelManipulator を使用して、Circuit キャンバスをパンおよびズームできるようにする。
  • D2dGraphAdapter、D2dGraphNodeEditAdapter、および D2dGraphEdgeEditAdapter を使用して、回路モジュールと接続を表示し編集可能にする。
  • HoverAdapter を使用して、回路モジュールアイテム上にマウスポインタを移動したときに情報を表示する。
  • D2dAnnotationAdapter を使用して、キャンバス上に注釈を表示しそのテキストを編集する。
  • 別の ATF 回路図エディターのサンプルにコピー/貼り付けをするための、グローバル (Windows®) クリップボードの使用法を示す。
  • PropertyEditor コンポーネントおよび GridPropertyEditor コンポーネントを使用して、リストおよびグリッドプロパティコントロールのプロパティを編集可能にする。
  • 回路グループおよび回路テンプレート。詳細は、こちらを参照してください。

モジュール

  • Editor.cs が IDocumentClient を実装し、ドキュメントフレームワークを使用して複数のドキュメントを管理する。起動時に、[ファイル] メニューコマンドの、複数ドキュメント自動作成および複数ドキュメントの自動オープンを実装する。
  • ModulePlugin.cs は、IPaletteClient の実装方法を示し、回路モジュールパーツパレットの作成に IPaletteService を使用する。
  • PrototypingContext.cs は、IPrototypingContext の実装方法を示し、プロトタイピングを可能にするために PrototypeLister コンポーネントを使用する。
  • LayeringContext.cs は、ILayeringContext の実装方法を示し、レイヤーの編集や表示/非表示を可能するために LayerLister コンポーネントを使用する。
  • GroupingCommands.cs は、グループ化/グループ化解除コマンドの実装方法を示す。これは、選択したモジュールを元のモジュールを含みすべての接続を維持する 1 つのモジュールに置き換える、またはその逆のプロセス。

CircuitEditor の実行

  1. \bin\wws_atf\Release にある CircuitEditor.exe をダブルクリックします。
  2. [CircuitEditor] ウィンドウが表示されます。
  3. CircuitEditor プロジェクトファイルのサンプルファイル data\Example.circuit を開きます。

CircuitEditor には以下のペインがあります。

  • [パレット]: 回路パーツパレット: [コメント]、[ボタン]、[ライト]、[スピーカー]、[AND]、[OR]、および [サウンド]。
  • キャンバス: 回路を定義、表示、および編集する場所です。
  • [プロパティエディター]: 選択したモジュールのプロパティをリストコントロールで編集します。
  • [グリッドプロパティエディター]: 選択したモジュールのプロパティをグリッドコントロールで編集します。
  • [プロトタイプ]: 回路で使用するために定義する、カスタムの回路フラグメントを一覧表示します。
  • [レイヤー]: レイヤーとその回路モジュールを一覧表示します。
ツールバーに含まれるボタンは、ファイル管理用が、保存、名前を付けて保存、すべて保存。位置合わせ用が、左揃え、上揃え、右揃え、中央揃え、下揃え、上下中央揃え。フレーム用が、選択したもののみ、すべて。編集用が、切り取り、コピー、貼り付け、削除、元に戻す/やり直し、グループ化/グループ化解除です。

メニューバーには次の項目があります。

  • [ファイル]: [回路を新規作成]、[回路を開く]、[保存]、[名前を付けて保存]、[すべて保存]、[閉じる]、[最近使用したファイル]、および [終了]。
  • [編集]: 標準の編集機能 ([元に戻す]/[やり直し]、[切り取り]、[コピー]、[貼り付け]、[削除]) のほかに、次の項目があります。
    • 選択: [すべて選択]、[すべて選択解除]、[選択を切り替え]。
    • [グループ化]/[グループ化解除]: 回路モジュールグループを作成/分解します。
    • [キーボードショートカット]: [キーボードショートカットをカスタマイズ] ウィンドウを使用して、キーボードショートカットを設定します。
    • [設定を読み込み/保存]: 現在の設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
    • [基本設定]: コマンドアイコンのサイズや最後にアクティブになったドキュメントの自動読み込みなど、アプリケーションやドキュメントを設定します。
  • [表示]: [選択範囲を最大表示] または [全体を最大表示] を選択します。
  • [フォーマット]: ステート要素の配置とサイズを指定します。
  • [ウィンドウ]: レイアウト、ペインの配置、ペインの表示と非表示を設定します。
  • [ヘルプ]: [バージョン情報] ダイアログにアプリケーションの情報を表示します。

CircuitEditor の使用法

CircuitEditor を開くと空のキャンバスグリッドが表示されます。

回路の作成

  • [パレット] からグリッドに回路モジュール要素をドラッグアンドドロップします。
  • モジュールを選択してドラッグし、グリッド上に配置します。
パンとズーム
  • Alt キーとマウスの左ボタンを押したまま、キャンバス上をドラッグしてパンします。
  • Alt キーを押したままマウスホイールを回転させて、表示を縮小または拡大します。
回路モジュールを接続するには、次の手順でモジュール間に接続を描きます。
  1. 出力ピンの近くのモジュールの端に、上矢印が表示されるようにカーソルを置き、マウスの左ボタンを押したままにします。
  2. 他方のモジュールにドラッグし、入力ピンの近くでカーソルが再び上矢印になったらドロップします。ドラッグしている時は、接続先に適した要素のみが表示され、接続不可のものは白抜き表示になります。
以下の方法での接続も可能です。
  1. 出力ピン上でマウスの左ボタンをクリックします。
  2. 接続先の入力ピン上でもう一度クリックします。
この方法では、ユーザーは 1 回目と 2 回目のクリックの間にキャンバスをパンまたはズームすることができます。

要素は次のようにいくつかの方法で選択できます。

  • アイテムをクリックして選択する。
  • Shift を押しながら要素をクリックして選択に加える。
  • Ctrl を押しながら要素をクリックして、選択に追加または選択から削除する。
  • 一組の要素の周囲に矩形をドラッグして選択する。
  • 矢印キーを使って選択を変更する。この方法では、選択した要素が表示されるように画面がスクロールします。
要素プロパティを変更する方法を次に示します。
  1. 要素を選択して、そのプロパティを表示します。
  2. リストビューまたはグリッドプロパティエディターでプロパティを変更します。
レイヤーを作成する手順を次に示します。
  1. レイヤーに含める回路モジュールを選択します。
  2. 選択した回路モジュールをクリップボードにコピーします。
  3. [レイヤー] ペインに回路モジュールを貼り付けます。
  4. [新規レイヤー] フィールドをクリックし、レイヤー名を入力します。
[レイヤー] ペインのツリービューに回路レイヤーが表示されます。「+」または「-」をクリックしてツリービューを展開または折りたたみます。レイヤーまたはそのコンポーネントの横のボックスをオン/オフにして、レイヤーまたはその要素を表示/非表示にします。

グループを作成する手順を次に示します。

  1. グループ化する回路モジュールを選択します。
  2. [編集] > [グループ] をクリックするか、またはツールバーの [グループ] ボタンをクリックします。
回路がグループにまとめられます。グループをコピーしてほかの回路ドキュメントに貼り付けることができます。回路のプロトタイプとして使用するには [プロトタイプ] ペインに、レイヤーとして使用するには [レイヤー] ペインに貼り付けます。

要素のグループを解除する手順を次に示します。

  1. グループを選択します。
  2. ツールバーの [グループ化解除] ボタンをクリックします。
プロトタイプを作成する手順を次に示します。
  1. グループを含む回路要素を選択します。
  2. 選択した要素を [プロトタイプ] ペインに貼り付けます。
  3. [プロトタイプ] ラベルをクリックし、プロトタイプ名を入力します。
  4. プロトタイプをキャンバスにドラッグして、プロトタイプから新しい要素をインスタンス化します。

このセクションのトピック一覧

Clone this wiki locally