Visual Editorでダイアログを作る

VE上で直接、ダイアログのGUIを編集はできないみたいだが(ViewPartのように)、Compositeを介して、間接的にGUI編集できる。

(一例)

1.Compositeを継承したクラスを作成(VEの「Composite Visual Class」)。例えばHogeCompositeというクラスを作ったとする。


2.Dialogを継承したクラスを作成。例えばHogeDialogというクラスを作ったとする(ここではjfaceのDialog)。このダイアログの中で上のクラスを利用

public class HogeDialog extends Dialog{

    public HogeDialog(Shell parentShell) {
        super(parentShell);
    }
	
	
    protected Control createDialogArea(Composite parent) {
        Composite composite = (Composite)super.createDialogArea(parent);
        HogeComposite hoge = new HogeComposite(composite, SWT.NULL);
        return composite;
    }

    protected void okPressed() {
        //...
        super.okPressed();				
    }

}

3.クライアントコードから上で作ったDialogを利用

HogeDialog dialog = new HogeDialog(shell);
int ret = dialog.open();