私はRCPに基づいたアプリケーションを開発しています。最近、RAPに移動しました。以前は、RCPで型指定されていないイベントを使用して、さまざまな目的で必要なデータを渡していました。たとえば、サーバーからデータを取得するための「データの取得」というボタンがあります。サーバーから受信したデータを保持するテーブルビューアーがあります。ユーザーがこのボタンをクリックすると、イベントが発生し、各テーブルでそのイベントがリッスンされます。私は次のようにしました:
//Part 1
Button btgetData=new Button(compositeLabels,SWT.PUSH);
btgetData.setText("Get Data");
btgetData.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
//raise event here
Event event =new Event();
event.detail=12345;
getRoot().getShell().notifyListeners(MYEVENTCONST, event);
}
});
//Part 2:
//In each composite that hold TableViewer , listen event
getShell().addListener(MYEVENTCONST, new Listener()
public void handleEvent(Event event) {
if(event.detail==12345)
doProcessing();
});
RCPでは、各TableViewerは、ユーザーが[データの取得]ボタンをクリックするたびにそのイベントを通常どおりリッスンします。しかし、それはRAPでは機能しませんでした。RAPがこの種の型指定されていないイベントをすでにサポートしているかどうかはわかりません。関数doProcessing()が呼び出されることはありません:(。
データを渡すときの方法を変えたくありません。昔ながらのやり方を続けられるかどうか教えてください。コメントありがとうございます。