08-26-2011, 10:39 AM,
|
|||||
|
|||||
VLE拡張機能 レイアウトコンテナについて
こんにちは。
VLE拡張機能を使って、カスタムクラスを自由に配置したいと思っています。 作ったカスタムクラスはCanvasを継承しており、レイアウトコンテナとして認識させたいのですが、 登録・配置など問題はなさそうなのですが、 レイアウトコンテナとして認識させることができていません。 なにか設定が必要ですか? よろしくお願いします。 |
|||||
08-26-2011, 03:36 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
okm 様
質問の意図に外れていましたらすみません。 私もVLEの機能拡張を利用していますが、 拡張化のためのファイル ****.scurl に存在する {register-palette-item DesignTime○○○} ○○○ = カスタム化されたクラス名 の継承クラスは、DesignTimeContainerGraphic でしょうか? TextField や TextArea などの コントロールは DesignTimeGraphic を継承しますが、 Box や Canvas などは DesignTimeContainerGraphic になるようです。 ちなみに \Curl Corporation\Surge\[ここはversionによって変わる 7 とか 8 とか]\ide\vle\editor に、拡張機能のためのクラスが存在します。 |
|||||
08-29-2011, 10:49 AM,
(This post was last modified: 08-29-2011, 10:50 AM by okm.)
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
onyoさま
ありがとうございます! おっしゃるとおり、継承クラスがDesignTimeContainerGraphicではありませんでした。 他にも、部品を乗っけられるようにするメソッド(でいいのでしょうか?)を足したりしました。 コントロール部品なら、VLE拡張機能エディタで簡単に作成できると思うのですが、 コンテナクラスは、手作業での修正が必要なんですね。 (それとも、自動で作成できるけど、勉強不足なだけかもしれませんが・・) 助かりました、ありがとうございました! |
|||||
08-29-2011, 01:46 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
okm 様
>他にも、部品を乗っけられるようにするメソッド(でいいのでしょうか?)を足したりしました。 拡張機能のためのクラスを参照されたのであれば 恐らくあっていると思います。 自分もツールでの対処がわからなかったので 手直しで対処しました。 コントロールの中でも CommandButton をカスタム化した場合 DesignTimeVersionedFrameContainer になるようです。 |
|||||
08-29-2011, 06:29 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
コンテナの場合は手作業必須な気がします。IDEがインストールされていれば、インストールディレクトリの ide/vle 以下でVLEのソースが見れるようなので、VBoxの実装等が参考にできると思います。
|
|||||
08-30-2011, 01:09 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
onyoさま >コントロールの中でも >CommandButton をカスタム化した場合 >DesignTimeVersionedFrameContainer になるようです。 そうなんですか!しりませんでした。 Curlのマニュアル等検索してもみつからなかったのですが、 DesignTimeVersionedFrameContainer とは、どういうものなんでしょうか? CommandButtonもカスタム化していますが、VLE拡張エディタで作成したものも DesignTimeGraphic を継承したものが作成されています。 なにか不都合があるのでしょうか? お分かりの範囲で教えていただけますか。 |
|||||
08-30-2011, 02:53 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
yosugaさま ありがとうございます。 やはり手作業が発生するんですね。 VBoxのソースもみてみました。 それにしても、CurlのDocは見づらいですよね。 JavaDocみたいにならないのでしょうか・・。 カスタムクラス作っても、Docまでは作れません><。 |
|||||
08-30-2011, 03:47 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
okmさま
Curlには、javadocみたいな感じで、docstringってのがあります。 たしか、Curlのヘルプそのものも、curlのdocstringを用いていたと思います。 |
|||||
08-30-2011, 03:49 PM,
(This post was last modified: 08-30-2011, 04:27 PM by onyo.)
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
okm 様
一応、Ver7.0のソースも見てみましたが、 なにぶん私が作成した VLE拡張機能の Version は 4.0ですから お使いの Version に適合するかはわかりませんので経験だけを語りますね。 登録、配置だけでしたら CommandButton や CheckBox の DesignTime○○○ クラスの継承先が DesignTimeGraphic でも問題ありません。 が・・・自分はコンパイルのときに問題が発生しました。 標準の CommandButton は VLE で配置すると layout-container なのですが カスタム化した CommandButton は layout-element になってしまい 実行コンパイル時にエラーとなりました。 そこで ide/vle/editor/standard-desgn-class.scurl の 仕組みを見てみることにしました。 カスタム化された全てのコントロール、コンテナ は DesignTimeGraphic を継承します。 DesignTimeVersionedFrameContainer は DesignTimeCommandButton の直接の親ですから カスタム化する場合もこのクラスを継承することで ほぼ全てを満たしてくれると思います。 先の container と element の問題は サブクラスの中の {new-element} メソッドのreturn値が LayoutElement なのか LayoutContainer なのかで変わるということが ソースを読み解くと判明しました。 要は、サブクラスの機能をVLE拡張で、どう使いたいのかで 自分なりに色々できますが、 めんどくさい場合、自分の作ったコントロールに 一番近いVLE標準のクラスを継承し、必要な部分だけを 改修していくのが近道だと自分は思っています。 DesignTimeGraphic ├DesignTimeContainerGraphic │├DesignTimeBaseFrameContainer ││├DesignTimeVersionedFrameContainer │││├DesignTimeCommandButton │││├DesignTimeCheckButton │││├DesignTimeRadioButton │││・ │││・ │││・ │││ ││├DesignTimeRadioFrame ││├DesignTimeDialog ││・ ││・ ││・ ││ │├DesignTimeCanvas │・ │・ │・ │ ├DesignTimeControl ・├DesignTimeTextField ・├DesignTimeTextDisplay ・├DesignTimePasswordField ├DesignTimeTextArea ├DesignTimeDropdownList ├DesignTimeComboBox ├DesignTimeListBox ・ ・ ・ |
|||||
09-01-2011, 12:07 PM,
|
|||||
|
|||||
RE: VLE拡張機能 レイアウトコンテナについて
kinoさま そのdocstring、読みにくいと思いませんか・・。 英語だからですかね。 英語の勉強しろ!という結論かもですね・・・・^^; onyoさま 詳しくありがとうございます! 当方はVer7で開発しております。(今日CDE8にアップデートしてみましたが・・) ただ、 'DesignTimeVersionedFrameContainer' は認識されません。 というエラーが発生してしまいます。 こちらのCommandButtonのカスタムクラスがよくないのでしょうか・・。 う~ん、、 ひまとまず、DesignTimeGraphic を継承することで期待する動きをしているようなので、このままにしてみます。 ありがとうございました。 |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread:
1 Guest(s)
1 Guest(s)