私は新しい Eclipse 4 RCP プラットフォームについて学んでいますが、興味深い問題に遭遇しました。
MPart
Application.e4xmi で定義された の Part クラスを設計しているとします。
public class SomePartView {
private Text someText;
private Button someButton;
@PostConstruct
public void createControls(Composite parent) {
parent.setLayout(new GridLayout(3, false));
someText = new Text(parent, SWT.BORDER);
someButton = new Button(parent, SWT.NONE);
someButton.setText("SomeButton");
}
@Focus
private void setFocus(IEclipseContext context) {
someText.setFocus();
}
// ... getters
}
WindowBuilder を使用して ui を作成していますが、動作コードがないようにしたいので、次のように相互作用を処理するクラスを作成します。
public class SomePartViewController {
@PostConstruct
public void addBehavior(SomePartView view) {
view.getSomeButton().addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
// do something
}
});
}
}
これは良い習慣ですか、それともここで車輪を再発明していて、e4 にはすでにこれに対する解決策がありますか? そうでない場合、これらのクラスを一緒に配線するにはどうすればよいですか? Eclipse コンテキスト外でインスタンスを作成することは避けたいと考えています。公式の e4 ドキュメントはかなりまばらなので、答えを見つけることができる完全な本またはリファレンス マニュアルを誰かが私にリンクしてくれたら、それもいいでしょう。