3

私たちはそれをコンパイルする方法を知っているので、そのデモを見て気に入りました。これに基づいた実際のオープンソース プロジェクトは、おそらく 1 つしか見たことがありません。そのため、サンプルを調べたところ、興味をそそる非常に長い C++ アプリケーションが 3 つしかありませんでしたASL\test\adam_tutorial\, ASL\test\adam_smoke\, ASL\test\eve_smoke\. しかし、単純な Eve ファイルを次のように htving する方法がまだわかりません。

dialog(name: "Clipping Path")
{
 column(child_horizontal: align_fill)
 {
   popup(name: "Path:", bind: @path, items:
     [
     { name: "None", value: empty },
     { name: "Path 1", value: 1 },
     { name: "Path 2", value: 2 }
     ]);
   edit_number(name: "Flatness:", digits: 9, bind: @flatness);
  }
 button(name: "OK", default: true, bind: @result);
}

その中で、それにバインドされたAdamファイル(理論的には、イブをアダムにバインドする方法がよくわからず、これを行う方法に関するチュートリアルが表示されないため)、

sheet clipping_path
{
output:
result          <== { path: path, flatness: flatness };

interface:
unlink flatness : 0.0 <== (path == empty) ? 0.0 : flatness;
path            : 1;
}

その中で、変数が変更されるたびに、私のいくつかのC++関数が呼び出されるようにします(たとえば、新しい値をflatness カウントする単純なもの)flatness

では、Adobe Adam と Eve と Boost でそのようなことを実装するにはどうすればよいでしょうか?

アップデート

私たちはここでそれをやろうとしましたが、うまくいきましたが、ライブフィードバックの方法ではなく、ダイアログを閉じるアクションでのみ. そして、ここよりも、Linux でのコンパイルを怠ったため、ASL プログラミングの開発を一時停止し、Linux OS での ASL コンパイルに時間を投資し始めました。

4

1 に答える 1

4

ASL に関する質問は、ASL 開発者のメーリング リスト ( http://sourceforge.net/mail/?group_id=132417 ) で行うとよいでしょう。

"Begin" test app を見たいと思うかもしれません。これは Mac と Win のみを実行しますが、接続方法を示しています。

基本的な考え方は、レイアウトの説明 (Eve) が解析されるときに add_view_proc http://stlab.adobe.com/structadobe_1_1eve__callback__suite__t.html#a964b55af7417ae24aacbf552d1efbda4を引数式で呼び出すというものです。通常、引数の評価を処理するコールバックに bind_layout_proc を使用し、引数で辞書を取る単純化されたコールバックを呼び出します。

コールバックが呼び出されると、通常は適切なウィジェットを作成して辞書をウィジェットに関連付けるか、辞書から目的の引数を抽出して構造体に格納します。bind 引数を使用すると、sheet_t で monitor_xxxx 関数を使用して、関連付けられたシート (Adam) でコールバックをセットアップできます。通常は、monitor_value と monitor_enabled を使用します。呼び出されると、ウィジェットに値または有効な状態を設定します。ウィジェットの値がユーザーによって変更され、ウィジェットが呼び出されると (イベント ハンドラー、コールバック、または UI ツールキットがサポートするメカニズムを介して)、sheet_t::set() を呼び出してセルの値を設定します。次に sheet_t::update() でシートを再計算します。

それだけです - Adam/Eve を新しい UI フレームワークに取り込もうとするときは、小さなことから始めてください。私は通常、2 つのチェックボックスを含むウィンドウだけから始めて、最初に Eve を配線します。それができたら、Adam と 2 つのブール値セルを接続する単純なシートを追加して、物事が正しく行われているかどうかを確認します。それができれば、はるかに複雑な UI を接続するのは非常に簡単であることがわかるでしょう。

于 2011-11-11T08:00:14.543 に答える