如何为空选择调用上下文菜单?

时间:2012-01-15 18:00:45

标签: eclipse-plugin jface

My Tree结构如下所示,包含三个类Index,Key,Value

的Index1

 |
  -- Key1

 |
   -- Value1

索引2

 |
  -- Key2

 |
   -- Value2

我正在为索引条目创建一个上下文菜单,它应该有三个动作(newKeyAction,newValueAction,removeAction)

并右键单击空白区域,应弹出addAction。

这是负责的代码:

 protected void fillContextMenu( IMenuManager manager )
 {
    ITreeSelection mySelection = (ITreeSelection) viewer.getSelection();
    if(mySelection.size() == 1)
        {   
        if(mySelection.getFirstElement() instanceof Index)
        {
            manager.add( newKeyAction );

            manager.add( newValueAction );

            manager.add( removeAction );

    }
       }
   else
   {
        manager.add( addAction);

   }

}

一切正常,但是当treeViewer为空时,只调用一次addAction,然后通过右键单击空白区域,选择树中最后选择的节点并显示其各自的操作。

请让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:0)

  

通过右键单击空白区域后,正在选择树中最后选择的节点并显示其各自的操作。

这是你的问题,你无法做任何事情。这是不可能清除这样的选择。您应该找到另一种方法使 addAction 可用。