すべてのモデルビューの一つEditPartの(GMF / GEF中)
-
09-09-2019 - |
質問
私たちは、GMFのフレームワークやツールに基づいたモデリングツールの作成に取り組んでいます。私たちは、ユーザーが実行時にビュー(数値)を追加し、その図の中でそれらを使用することができるようにする必要があります。私たちは、数字を表現するためにSVGファイルを使用することになります。
このような場合のEditPartsおよびその他のGEF関連のクラスの正しい構造は何ですか?私たちはモデルに存在するパラメータ(SVGファイルへのパス)に基づいて適切な数字を作成し、単一のGEF EditPartのクラスを実装することを考えていました。これまでのところ、それが動作していないようです。
すでに前にこのような何かを行うの誰かがなければなりません。グーグルとEclipseのフォーラムは、これまで参考にされていなかった...
解決
さて、私たちは(部分的)解決策を見つけました。私たちは、一つの要素を持っている、と我々はSVGファイルを使用して内部の子の姿を、作成したパラメータに応じて、(パラメータに基づいて)ます。
以下のテストコードは、図のコンストラクタで呼び出されます:
ScalableImageFigureのSVG; URL URL; IF(タイプ== 1){URL = ArchitectureStudioDiagramEditorPlugin.getInstance()。getBundleの()。のgetEntry( "アイコン" + IPath.SEPARATOR + "影-box.svg"); }他{URL = ArchitectureStudioDiagramEditorPlugin.getInstance()。getBundleの()。のgetEntry( "アイコン" + IPath.SEPARATOR + "star.svg"); } SVG =新しいです ScalableImageFigure(RenderedImageFactory.getInstance(URL)、 、真真、真);
this.add(svg);
今、私たちは、パレット内の複数の要素を持っているか把握する必要があります。
他のヒント
正しい方法は図形とEditPartの間の一対一のマッピングを有することです。また、塗装作業を図にしておく必要があります。どのように画像をペイントするか、ロジックは、図内にないEditPartのでなければなりません。
おかげ