在action中获得shell

今天要用到点右键的时候弹出一个向导窗口(WizardDialog),向导窗口的构造函数里有需要传个Shell,而在action里我不知道怎么得到Shell,所以小小研究一下.

先把我的扩展点贴出来

   <extension point="org.eclipse.ui.popupMenus">
      <objectContribution
         id="com.xyz.C3"
         objectClass="org.eclipse.core.resources.IFile"
         nameFilter="struts-config-*">
         <action
            id="com.xyz.runXYZ"
            label="properties tool"
            class="chinese2pingyin.actions.TransformAction">
         </action>
      </objectContribution>
   </extension>

所以我的TransformAction需要实现org.eclipse.ui.IObjectActionDelegate接口,所以需要实现setActivePart(IAction action, IWorkbenchPart targetPart)方法

这里我在TransformAction定义一个成员变量

private IWorkbenchPart fWorkbenchPart= null;

在setActivePart方法里

 public void setActivePart(IAction action, IWorkbenchPart targetPart) {
  fWorkbenchPart = targetPart;
 }

这时候就可以在run方法里

final IWorkbenchWindow window= fWorkbenchPart.getSite().getWorkbenchWindow();

Shell shell = window.getShell();

这样就得到Shell 了!

没有技术含量,但希望能为和我有一样问题的人节省点时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值