GRINEditのマウス制御部分…
GRINEditのインタラクティブ性をライブラリとして再利用できるようにするためには、物理演算による整形だけではなく、マウス制御部分もライブラリとして簡単に再利用できるようにする必要がある。 しかしマウス制御はSWTと密結合だし、現状ではJython.jarも使っている。 切り離せるだろうか?
とりあえずMouseMediatorやMouseOperationがPyObjectを継承していが、これは必要ない。 Mediatorへの参照をコンストラクタが受け取っているのも Mediatorがシングルトンになっていなかった昔の名残だから除去できる。 PyListを返しているMouseMediator#getNames()はMediator#getMouseOperationNames()に移動しても構わないだろう。
とりあえずマウス制御部分のJythonへの依存性は取り除いたが、ViewportTransformerだとかにもアクセスしているから切り出すのは難しそうだなぁ…。うーん。
うーん、ViewportTransformerごと切り出すってのも考えたけども、anchorTableとかとも結合しているから切り出すのはやっぱり難しそうだなぁ。うーん。
やはりNarVisualizerをもう一度作るか…。NarVisualizeがさくっと作れるライブラリというのが一つの目標としていいかもしれない。アレは独自の形のVertexがあり、名前頂点だけ左端に張り付いたり、と制約も入っているし。