Eclipse/プラグイン開発のTIPS集/GooglePlugin/ポップアップメニューをエディタに実装
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
つぎは [[「検索ロジックをビューに実装」>Eclipse/プラグイ...
エディタのポップアップにプラグインする方法などは[[メニュ...
***plugin.xml [#w13e0f16]
<extension point="org.eclipse.ui.popupMenus">
<viewerContribution
targetID="#CompilationUnitEditorContext"
id="nu.mine.kino.plugin.google.ui.contributions.Comp...
<action
label="Googleで検索"
icon="icons/icon.gif"
class="nu.mine.kino.plugin.google.ui.popup.actions...
menubarPath="additions"
id="nu.mine.kino.plugin.google.ui.popup.actions.Co...
<selection
class="org.eclipse.jface.text.ITextSelection">
</selection>
</action>
</viewerContribution>
</extension>
これでJavaエディタのポップアップメニューに「Googleで検索...
***スクリーンショット [#x2bc6c02]
#ref(menu.png)
***ソースコード [#ce995de6]
ソースコードは以下のようになりました。
package nu.mine.kino.plugin.google.ui.popup.actions;
import nu.mine.kino.plugin.google.ui.views.GoogleResultV...
import org.apache.log4j.Logger;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.AbstractTextEditor;
/**
* @author Masatomi KINO
* @version $Revision$
*/
public class CompilationUnitEditorContextAction implements
IEditorActionDelegate {
private static final Logger logger = Logger
.getLogger(CompilationUnitEditorContextAction.clas...
private ISelection selection;
private IEditorPart editorPart;
public void setActiveEditor(IAction action, IEditorPar...
this.editorPart = targetEditor;
}
public void selectionChanged(IAction action, ISelectio...
this.selection = selection;
}
public void run(IAction action) {
logger.debug("run(IAction) - start");
AbstractTextEditor editor = (AbstractTextEditor) edi...
final ITextSelection textSelection = (ITextSelection...
logger.debug("選択されている文字列は" + textSelectio...
IWorkbenchPage workbenchPage = editor.getSite().getP...
try {
logger.debug("Viewを取得します");
final GoogleResultView view = (GoogleResultView) w...
.showView("nu.mine.kino.plugin.google.ui.views...
logger.debug("Viewを取得しました");
logger.debug(view);
view.search(textSelection.getText());
} catch (PartInitException e) {
logger.error(e);
}
logger.debug("run(IAction) - end");
}
}
これでJavaエディタのポップアップメニューから「Googleで検...
#ref(result.png)
まだ[[TableViewer:http://www.docjar.com/docs/api/org/ecli...
次はこの[[LabelProviderを設定して、TableViewに情報を表示>...
----
この記事は
#vote(おもしろかった[2],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
つぎは [[「検索ロジックをビューに実装」>Eclipse/プラグイ...
エディタのポップアップにプラグインする方法などは[[メニュ...
***plugin.xml [#w13e0f16]
<extension point="org.eclipse.ui.popupMenus">
<viewerContribution
targetID="#CompilationUnitEditorContext"
id="nu.mine.kino.plugin.google.ui.contributions.Comp...
<action
label="Googleで検索"
icon="icons/icon.gif"
class="nu.mine.kino.plugin.google.ui.popup.actions...
menubarPath="additions"
id="nu.mine.kino.plugin.google.ui.popup.actions.Co...
<selection
class="org.eclipse.jface.text.ITextSelection">
</selection>
</action>
</viewerContribution>
</extension>
これでJavaエディタのポップアップメニューに「Googleで検索...
***スクリーンショット [#x2bc6c02]
#ref(menu.png)
***ソースコード [#ce995de6]
ソースコードは以下のようになりました。
package nu.mine.kino.plugin.google.ui.popup.actions;
import nu.mine.kino.plugin.google.ui.views.GoogleResultV...
import org.apache.log4j.Logger;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IEditorActionDelegate;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.texteditor.AbstractTextEditor;
/**
* @author Masatomi KINO
* @version $Revision$
*/
public class CompilationUnitEditorContextAction implements
IEditorActionDelegate {
private static final Logger logger = Logger
.getLogger(CompilationUnitEditorContextAction.clas...
private ISelection selection;
private IEditorPart editorPart;
public void setActiveEditor(IAction action, IEditorPar...
this.editorPart = targetEditor;
}
public void selectionChanged(IAction action, ISelectio...
this.selection = selection;
}
public void run(IAction action) {
logger.debug("run(IAction) - start");
AbstractTextEditor editor = (AbstractTextEditor) edi...
final ITextSelection textSelection = (ITextSelection...
logger.debug("選択されている文字列は" + textSelectio...
IWorkbenchPage workbenchPage = editor.getSite().getP...
try {
logger.debug("Viewを取得します");
final GoogleResultView view = (GoogleResultView) w...
.showView("nu.mine.kino.plugin.google.ui.views...
logger.debug("Viewを取得しました");
logger.debug(view);
view.search(textSelection.getText());
} catch (PartInitException e) {
logger.error(e);
}
logger.debug("run(IAction) - end");
}
}
これでJavaエディタのポップアップメニューから「Googleで検...
#ref(result.png)
まだ[[TableViewer:http://www.docjar.com/docs/api/org/ecli...
次はこの[[LabelProviderを設定して、TableViewに情報を表示>...
----
この記事は
#vote(おもしろかった[2],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: