Eclipse/プラグイン開発のTIPS集/GooglePlugin/ドラッグアンドドロップを実装する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
[[ツールバーにいろいろな機能を実装>Eclipse/プラグイン開発...
-ドラッグしてデスクトップにショートカットを作成する
を実装したいと思います。つまりドラッグの始点側の実装です。
JFaceのビューワにはすでにドラッグ機能を実装するための便利...
それが
int dragOption = DND.DROP_COPY | DND.DROP_MOVE;
Transfer[] transfers = new Transfer[] { TextTransfer.get...
FileTransfer.getInstance() };
viewer.addDragSupport(dragOption, transfers, new DragSou...
です。この記述をすることで、
-このviewerはドラッグのcopyとMoveが対応
-TransferはTextTransferとFileTransfer
-ドラッグしたときの処理((持ち上げた瞬間、落とした瞬間など...
という意味になります。さてあとはDragSourceAdapterImplの記...
private class DragSourceAdapterImpl extends DragSourceAd...
private StructuredViewer viewer;
public DragSourceAdapterImpl(StructuredViewer viewer) {
this.viewer = viewer;
}
/**
* ドラッグしたデータからeventに値をセットするためのメ...
* Method declared on DragSourceListener
*/
public void dragSetData(DragSourceEvent event) {
logger.debug("dragSetData(DragSourceEvent) - start");
// viewerからResultElementを取り出す。
IStructuredSelection selection = (IStructuredSelecti...
.getSelection();
Object obj = ((IStructuredSelection) selection).getF...
ResultElement element = (ResultElement) obj;
// 自分でイベントを作っていく感じ?
if (FileTransfer.getInstance().isSupportedType(event...
logger.debug("FileTransfer event.dataType");
// FileTransferだったら、ファイルクラスを作成して
// ファイルのパスの配列をeventにセットする。
// (こうすれば、eventで指定された場所のファイルが...
try {
File resultFile = createFileFromResultElement(el...
event.data = new String[] { resultFile.getAbsolu...
} catch (IOException e) {
logger.error(e);
GooglePlugin.log(e);
}
// これでこのファイルがコピーされる。
} else if (TextTransfer.getInstance().isSupportedType(
event.dataType)) {
// TextTransferだったら、検索結果のサイトのタイト...
logger.debug("TextTransfer event.dataType");
event.data = element.getTitle();
} else if (PluginTransfer.getInstance().isSupportedT...
event.dataType)) {
logger.debug("PluginTransfer event.dataType");
}
logger.debug(event);
logger.debug("dragSetData(DragSourceEvent) - end");
}
}
他にも整理をしましたが、追加の前と後では[[これくらい>http...
***リンク [#g80f99af]
ドラッグアンドドロップに関してはhttp://cutie.dip.jp/pc/ja...
次はいよいよ公開に向けてやっていきます。まずは[[Featureを...
----
この記事は
#vote(おもしろかった[2],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
[[ツールバーにいろいろな機能を実装>Eclipse/プラグイン開発...
-ドラッグしてデスクトップにショートカットを作成する
を実装したいと思います。つまりドラッグの始点側の実装です。
JFaceのビューワにはすでにドラッグ機能を実装するための便利...
それが
int dragOption = DND.DROP_COPY | DND.DROP_MOVE;
Transfer[] transfers = new Transfer[] { TextTransfer.get...
FileTransfer.getInstance() };
viewer.addDragSupport(dragOption, transfers, new DragSou...
です。この記述をすることで、
-このviewerはドラッグのcopyとMoveが対応
-TransferはTextTransferとFileTransfer
-ドラッグしたときの処理((持ち上げた瞬間、落とした瞬間など...
という意味になります。さてあとはDragSourceAdapterImplの記...
private class DragSourceAdapterImpl extends DragSourceAd...
private StructuredViewer viewer;
public DragSourceAdapterImpl(StructuredViewer viewer) {
this.viewer = viewer;
}
/**
* ドラッグしたデータからeventに値をセットするためのメ...
* Method declared on DragSourceListener
*/
public void dragSetData(DragSourceEvent event) {
logger.debug("dragSetData(DragSourceEvent) - start");
// viewerからResultElementを取り出す。
IStructuredSelection selection = (IStructuredSelecti...
.getSelection();
Object obj = ((IStructuredSelection) selection).getF...
ResultElement element = (ResultElement) obj;
// 自分でイベントを作っていく感じ?
if (FileTransfer.getInstance().isSupportedType(event...
logger.debug("FileTransfer event.dataType");
// FileTransferだったら、ファイルクラスを作成して
// ファイルのパスの配列をeventにセットする。
// (こうすれば、eventで指定された場所のファイルが...
try {
File resultFile = createFileFromResultElement(el...
event.data = new String[] { resultFile.getAbsolu...
} catch (IOException e) {
logger.error(e);
GooglePlugin.log(e);
}
// これでこのファイルがコピーされる。
} else if (TextTransfer.getInstance().isSupportedType(
event.dataType)) {
// TextTransferだったら、検索結果のサイトのタイト...
logger.debug("TextTransfer event.dataType");
event.data = element.getTitle();
} else if (PluginTransfer.getInstance().isSupportedT...
event.dataType)) {
logger.debug("PluginTransfer event.dataType");
}
logger.debug(event);
logger.debug("dragSetData(DragSourceEvent) - end");
}
}
他にも整理をしましたが、追加の前と後では[[これくらい>http...
***リンク [#g80f99af]
ドラッグアンドドロップに関してはhttp://cutie.dip.jp/pc/ja...
次はいよいよ公開に向けてやっていきます。まずは[[Featureを...
----
この記事は
#vote(おもしろかった[2],そうでもない[1])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: