« log |Main| 日記 »

« GRINEditのGoogleGroupを作りました | GRINEdit | findConnectedComponents »

GRINEditドキュメントの種

将来ドキュメントを書くときに使えそうな文章をためておく場所です。

GRINEdit用語集

  • MouseOperation:各種マウス操作を受け持つクラス、またはそのオブジェクト。MouseOperationクラスの子クラスである。

よくある失敗、FAQ

  • AddVertexではなくてaddVertex。基本的にメソッド(関数)の名前は頭が小文字、"CircleVertex"などのクラス(物の種類)の名前は頭が大文字
  • addVertexなどの1番目の引数は文字列。addVertex(CircleVertex, {})ではなくaddVertex("CircleVertex", {})

maven

IT-Walker on hatenaを参考にしてmavenのpom.xmlに<addClasspath>true</addClasspath>と書き足す。

試験管のなかのコード :: Maven2 で JAR の Manifest ファイルを設定する方法をメモを参考にして<classpathPrefix>dependency</classpathPrefix>と指定してやればよいようです。

Eclipseとの連携 Maven -TECHSCORE-を参考にしてM2_REPOに正しい値を入れたらEclipseでもビルドが通るようになりました。

コマンドラインで「mvn dependency:copy-dependencies」とやってみたらtargetフォルダの中にdependencyフォルダが生成され、中にはjarファイルが入っていました。うまく動いたようです。

SWTの新しいライブラリはmaven2のリポジトリに入っていないので、 SWTのサイトからダウンロードして展開し、jarはローカルリポジトリに、 dllは/src/main/resourceに入れる。 Eclipse側では/src/main/resourceを実行時の作業ディレクトリに指定する。

設計

grinedit_structure.png

左がGRINEdit0.10時点の設計、右がGRINEdit0.20で目指す設計です。 XML-RPCやJythonなどいろいろな方法でアクセスできるようにする上で、そのそれぞれに違う入り口を作っていたのでは大変なことになるので一つにまとめようという発想です。そうしておかないと「Jythonで頂点を追加するのは~~~だけど、これはまだXML-RPCではサポートされていないから古い~~を使ってね」なんていうダメダメな事態が発生しそうだからです。一方で、JavaやJythonなどの「Javaオブジェクトに直接さわれる方法」で操作したい人にとっては、間にクッションが入ってしまうともどかしいので、より直接的にいじることが出来る方法を提供します。

基本的にXML-RPCから追加できるすべてのオブジェクトは文字列型のnameというフィールドを持っています。addVertexなどのadd*系メソッドは新しいオブジェクトを作成してそのnameを返します。nameはシステム側が一意になるように振ります。ただし人間の可読性のためにプレフィクスをつけます。addVertexするとVertexというプレフィクスがつきます。

getObjects("Vertex")で頂点の一覧が名前とパラメータのマッピングとして取得できます

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/339

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.