谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

Eclipse

TableViewerの値を編集(入力)した時に、勝手にソートされてしまう場合

TableViewerのセルの値を更新した際に、 勝手に別の行のセルが更新されてしまうなど、おかしな挙動をする場合。 TableViewerにバインドしているオブジェクトのequalsメソッドが怪しい。 「別インスタンスでも、値が全て一致したらequalsでtrueを返す」ような…

ViewPartを他のペインに移動させない(独立させる)方法

ちょっとハマったので、メモ。 plugin.xmlのviewの属性定義で「standalone="true"」になっていると そのビューは他のビューと同じペインに入れることが出来なくなる。

1つのViewPartクラスを複数開く方法

Eclipseプラグインで、同じViewPartを(エディタのように)何枚も開けるようにする方法。 1. plugin.xmlで、対象のview定義に「allowMultiple="true"」属性を定義する。 2. ViewPartを開く際に、IWorkbenchPage#showView(String viewId, String secondaryId,…

拡張可能なMultiPageEditorを作ってみた。

まずはスクリーンショットだけ。1つのMultiPageEditorの中で、 HTMLをEclipseHTMLEditorで開き、 MayaaをMatatabiで開き、 JavaをJavaEditor(EclipseのJavaエディタ)で開いています。 しかも、バンドルIDとクラス名を使って動的にエディタクラスを呼んでい…

他のプラグインと動的に連携する方法。

Eclipseプラグインを開発する際に、 既存の(別の)プラグインと動的に連携する方法。 Bundle bundle = Platform.getBundle(PLUGIN_ID); Class loadClass = bundle.loadClass(PLUGIN_CLASS); こうやれば、別のプラグインで使っているクラスが取得できる。

Eclipse3.3のテーブル回りのサンプル

http://wiki.eclipse.org/index.php/JFaceSnippets#Snippet040TableViewerSortingとても参考になる。

org.eclipse.jface.viewers.ColumnLabelProvider

いいねぇ。 Eclipseのテーブル回りって、ホントAPIがショボくて、 セルの値を表示するためには、ITableLabelProviderを使って 「0番目ならこれ、1番目ならこれ、2番目なら・・・」なんて 実装しなきゃいけなかったんだけど ColumnLabelProviderを使えば、列…

org.eclipse.jface.viewers.TableViewerEditor

Eclipse3.3から、こんな名前のクラスができてた。 名前の通り、セル編集が可能なテーブル。 これは(たぶん)便利だ。

Seasar Eclipse CommonのTableProviderが便利すぎる件について。

最近Eclipseプラグインを作っているわけですが、 TableViewerを編集可能にするAPIってイマイチ という意見に激しく同意。 ナンダカナーと思って、Seasar Eclipse Commonを覗いたら 上記のソースがコミットされていました。 早速、利用。 バッチリ使えてます…