拖放Eclipse Workbench标签 - 编程入门网
workbenchWindow.getActivePage().getActivePart();
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 };
}
}
限制 tab 文件夹的默认拖放监听器的行为 正如上面介绍的一样,编辑器标签有一种默认的拖放行为,它将进行重新排列和平铺操作,这可以使用拖放检测、鼠标移动 和鼠标释放 类型的事件的监听器实现。这些鼠标移动和鼠标释放的事件监听器的行为可能会与我们正在对编辑器实现的拖放行为冲突。例如,在将编辑器标签拖放到 Drop Window 上之后,如 图 2 所示,编辑器标签的重新排列和平铺会重新出现,这会导致在执行定制行为中产生意料不到的操作。(我们可以认为这是另外一次操作。)因此,限制默认监听器的行为是非常有必要的。 我们的想法是取消或忽略所发生的其他拖放操作。Eclipse 用户可以通过使用 Esc 键或右键点击鼠标来轻松实现这种功能。通过编程可以很容易实现这种功能:使用 event.button 值而不是 1 来执行触发鼠标释放事件,如下所示: 清单 5. 取消其他拖放操作
拖放Eclipse Workbench标签(5)时间:2011-01-11 IBM Shiva Kumar对视图标签的拖放行为进行定制 由于视图通常都存放在 CTabFolder 容器中,因此上面用来定制编辑器的拖放行为的方法也可以用来定制视图的拖放行为。要像上面的 图 1 和 图 2 中所显示的那样对视图的拖放行为进行定制,则需要执行以下操作:当用户拖动一个视图标签时,捕获底层视图的 view-id,并将其设置为拖放过程中正在转移的对象。下面黑色字体表示的代码是应该在上面 清单 3 和 清单 4 的基础上添加的代码。 清单 6. 定制编辑器和视图标签的拖放行为
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |