拖放Eclipse Workbench标签 - 编程入门网
EditorPart)
transferTypes = new Transfer[] {EditorInputTransfer.getInstance()};
else
transferTypes = new Transfer[] {TextTransfer.getInstance()};
dragSource.setTransfer(transferTypes);
dragSource.addDragListener(new DragSourceListener()
{
public void dragStart(DragSourceEvent dsEvent) { }
public void dragSetData(DragSourceEvent dsEvent)
{
if(workbenchPartBeingDragged instanceof IEditorPart)
{
String editorId = workbenchPartBeingDragged.getSite().getId();
IEditorInput editorInput =
((IEditorPart)workbenchPartBeingDragged).getEditorInput();
EditorInputTransfer.EditorInputData data =
EditorInputTransfer.createEditorInputData(editorId, editorInput);
dsEvent.data = new EditorInputTransfer.EditorInputData[] { data };
}
else if(workbenchPartBeingDragged instanceof IViewPart)
{
String viewId = workbenchPartBeingDragged.getSite().getId();
dsEvent.data = viewId;
}
}
public void dragFinished(DragSourceEvent dsEvent)
{
dragSource.dispose();
// inhibit the action of CTabFolder''s default drag-detect-listeners
draggedFolder.notifyListeners(SWT.MouseUp, null);
}
});
}
});
运行这个示例 这个 DragDropWorkbenchParts 插件在 Window 菜单中增加了一个菜单项 Enable Drag-n-Drop of Editor/View Parts。它在工具条中添加了一个相应的触发按钮。当用户选择这个菜单项或触发按钮时,就会有一个如 清单 6 所示的过滤器 被添加到 Display 中,从而启用编辑器和视图标签的拖放操作。当没有选择这个操作时,就会从 Display 中删除这个过滤器,恢复编辑器和视图标签的默认拖放行为(这意味着又可以进行重新排列和平铺操作了)。 该插件还定义了一个标题为 Drop Window 的视图,它有一个支持 EditorInputTransfer 和 TextTransfer 的拖放目标,允许将编辑器和视图标签拖放到此窗口中。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |