掲示板一覧   -   トピック一覧
   EA API
     コンポーネント要素へのデコレーション定義は可能ですか?


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-7-4 12:52

コンポーネント要素へのデコレーション定義は可能ですか?

コンポーネント要素には,最初から要素の右肩にアイコンが付いていますが,
このアイコンを,デコレーションを定義することで,ステレオタイプに
よって異なる外見にしようと思いました.

しかし,実際にデコレーションの描画スクリプトを定義しても
右肩のアイコンが変わりません.(詳細は後述)

以下のように,いろいろ試してみたのですが,どうもうまくいきません.
コンポーネント要素の右肩のアイコンを変更することは不可能なのでしょうか.

(そもそもアイコンを変えたら,コンポーネントじゃなくなるだろ,という指摘は置いといて)

①普通にやってみる⇒変化なし(デコレーション定義が無視される)
--------------------------
decoration dot
{
orientation="NE";
rectangle(10,10,90,90);
}
--------------------------

②要素のデフォルトの描画スクリプトも定義⇒アイコンが重なって表示される…
--------------------------
shape main
{
drawnativeshape();
}

decoration dot
{
orientation="NE";
rectangle(10,10,90,90);
}
--------------------------

③要素の描画スクリプトを自作⇒見た目がイマイチ…(要素名がショボイ)
※フォントの種類やサイズは変更できないようなので.
--------------------------
shape main
{
rectangle(0,0,100,100);
addsubshape("namecompartment", 100, 40);
shape namecompartment
{
h_align = "center";
v_align = "center";
editablefield = "name";
println("#name#");
}
}

decoration dot
{
orientation="NE";
rectangle(10,10,90,90);
}
--------------------------
tkouno
投稿日時: 2008-7-4 13:10
EA Administrator
投稿: 3939

Re: コンポーネント要素へのデコレーション定義は可能ですか?

ご指摘の件、現状の動作はすべてご指摘の内容通りです。

コンポーネントなど内部的に「デコレーション」がある要素は
無視されてしまいます。

対処法としては、3番目の方法で自作する方法しか
ないかと思います。

「見た目がイマイチ」の件は、名前が表示される位置を
調整することも可能です。addsubshapeで別の領域を
前に追加すると 名前が中央付近に表示されます。

例:

addsubshape("padding",100,20);
addsubshape("namecompartment",100,50);

shape padding {
}

ご参考になれば幸いです。


未登録ゲスト
投稿日時: 2008-7-8 10:10

Re: コンポーネント要素へのデコレーション定義は可能ですか?

ご提示いただいた方法で,要素名の位置を調整することができました.
ありがとうございます.

ただ,他のコンポーネント要素は名前が太字なのに,
今回,定義したコンポーネント要素だけ名前が貧弱(?)な感じがしますね..

描画スクリプトのラベルに対するフォント設定機能を
お待ちしております.
(もしくはデフォルトのデコレーションを変更できる機能)
tkouno
投稿日時: 2008-7-8 11:04
EA Administrator
投稿: 3939

Re: コンポーネント要素へのデコレーション定義は可能ですか?

フォント設定については確認しました。
(普段は要素の名前を太文字表示にしていなかったので
気づきませんでした。)

これは、オプション設定にあわせて自動的に太文字に
なるのが適切な挙動のように思いますので、開発元に連絡し
改善できるかどうか(改善した方が良いのか)調整します。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ