http://www.vainolo.com/tutorials/のチュートリアルでは、モデルの位置がモデルに保存されています。すべてのデータをファイルに保存し、ファイルをロードするときに同じビューを取得したい。
この質問に対する答えを探していると、もう1つ重要な質問があります。それ
は、GEFは本当にMVCフレームワークなのかということです。
GEFコントローラーは、MVCコントローラーの役割がEditPartから取得されることを通知します。指定されたオブジェクトを作成します。例
に関しては、コントローラーはビューパーツを保持しますが、mvcパターンは、コントローラーがユーザーの操作にのみ反応してビューに通知することを示しています。更新する必要があります。EditPartの一部であり、変更
されるため、次のコードは間違っています。
public void refreshVisuals(){
IPersonFigure figure = (IPersonFigure)getFigure();
Person model = (Person)getModel();
figure.setName(model.getName());
figure.setSurname(model.getSurname());
}
ウィキペディアに関しては、ビューにはモデルのオブザーバーが含まれているため、GEFからの次の文は間違っていますね。EditPartは、実際のモデルの状態をビューに同期し、オブザーバーを実装します
。
MVCパターンでは、コントローラーはモデルの変更をリッスンする必要があります。GEFでは、EditPartsはコントローラーであるため、モデルをリッスンして、モデルの新しい状態に従ってビューを更新する必要があります。
では、何が正しいのでしょうか?
クロスポストを防ぐには、http://www.eclipse.org/forums/index.php/m/755178/を参照してください。