【问题标题】:How to invoke Context Menu for empty selection?如何为空选择调用上下文菜单?
【发布时间】:2012-01-16 15:25:13
【问题描述】:

我的Tree结构是这样的,包含三个类Index,Key,Value

索引1

 |
  -- 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 仅被调用一次,然后通过右键单击空白区域,选择树中最后选择的节点并显示其各自的操作。

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

【问题讨论】:

    标签: eclipse-plugin jface


    【解决方案1】:

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

    这是你的问题,你无能为力。像这样清除选择是不可能的。您应该找到另一种方法使 addAction 可用。

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 2023-03-14
      • 2020-04-12
      • 1970-01-01
      • 2015-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多