要約すると、新しいコンポーネントのサポートでは、このコンポーネントをGWT Designerに特別に追加する必要があります。これはまだコンポジットであるあなたはデザイナーの視点から見ているとき
public class CustomPanel extends Composite implements HasWidgets{
private VerticalPanel panel = new VerticalPanel();
public CustomPanel() {
initWidget(panel);
}
@Override
public void add(Widget w) {panel.add(w);}
@Override
public void clear() {panel.clear();}
@Override
public Iterator<Widget> iterator() {return panel.iterator();}
@Override
public boolean remove(Widget w) {return panel.remove(w);}
}
これはVerticalPanelとして動作しますが、私は、私はそれがVerticalPanelのように行動したいカスタムコンポーネントを持っていますが、どのInfactは複合型であると仮定。その結果、内部にウィジェットをドロップすることはできません。最も単純なケースでは、デザイナーにやさしくするために何をすべきかは、指定された名前規則に従ってCustomPanelの同じパッケージにCustomPanel.wbp-component.xmlを作成することです。ウィジェットが動作を追加のような流れを与えるために簡単なものは、あなたの複合体は、同様GWT設計者(サポート内のウィジェットをドロップする)垂直パネルのように扱われるべきで、このステップを追加した後、
<?xml version="1.0" encoding="UTF-8"?>
<component xmlns="http://www.eclipse.org/wb/WBPComponent">
<description>This is a simple Composite acting like VerticalPanel</description>
<!-- CREATION -->
<creation>
<source><![CDATA[new org.test.client.CustomPanel()]]></source>
</creation>
<parameters>
<parameter name="flowContainer">true</parameter>
<parameter name="flowContainer.horizontal">false</parameter>
<parameter name="flowContainer.association">%parent%.add(%child%)</parameter>
</parameters>
</component>
だろう。このXMLだけでは不十分な場合、より複雑な性質の動作が必要な場合は、コンポーネントのカスタム動作を定義するJavaモデルクラスを作成し、<model>
タグを使用してコンポーネントxmlで参照する必要があります。この場合、モデルとポリシーをホストするプラグインを作成する必要があります。ここで
は、この概要と便利なリンクについては言及されている:
ありがとうございましたが、残念ながら私は何を見つけることができません私はそれらのリンクを探しています。私はGWT VerticalPanelクラスとそのすべての親をWidgetクラスまで別のパッケージの別の名前でコピー貼り付けました。私はそれがVerticalPanelと同じ機能を持つことを期待しています。実際には同じ機能を持ちますが、デザイナーはパネルとして扱わないため、ウィジェットをドラッグ&ドロップすることはできません。ですから、GWT Designerはその違いをどのように知っていますか? – pistolPanties