タグ

2011年9月18日のブックマーク (2件)

  • テキストエディタ上のカーソル位置の取得方法 - Eclipseプラグイン開発

    テキストエディタ上である機能が呼び出された時点でのカーソル(キャレット)位置の取得を行いたいときがある。カーソル位置から現在行を取得したり,カーソル位置がメソッド内かどうかを調べたり,などが例として考えられる。カーソル位置の取得なんて簡単にできそうな気がするが,実はそこには高い壁が存在している。 AbstractTextEditorクラスを基底クラスとするテキストエディタは,ViewのコンポーネントとしてSWTのStyledTextクラスを利用している。このStyledTextクラスのgetCaretOffsetメソッドを呼び出すことで,カーソル位置を取得することができる。「なんだ,それならStyleTextオブジェクトを取得できればいいだけだから簡単じゃん」と思ってしまうが,ここで落とし穴が待っている。 StyledTextオブジェクトを取得するためには,ISourceViewerインタ

    テキストエディタ上のカーソル位置の取得方法 - Eclipseプラグイン開発
    tc0527
    tc0527 2011/09/18
    0918
  • 辞書検索プラグインを作る

    入力領域にSWTのModifyListenerを登録し、ModifyTextイベントを拾って検索を行い、結果を表示するようにします。実装は以下のようになります。 package org.ocharake.matobaa.dictionary; import org.eclipse.swt.SWT; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; import org.eclipse.ui.part.ViewPart; import org.ocharake.matobaa.postal.ZipCode; /** * 辞書検索プラグインのためのビューを提供します。 * @see ViewPart */ public class ViewPar

    辞書検索プラグインを作る
    tc0527
    tc0527 2011/09/18
    editor 選択文字列 取得