【问题标题】:ECLIPSE RCP app: toolbar implementationECLIPSE RCP 应用程序:工具栏实现
【发布时间】:2011-12-14 17:14:46
【问题描述】:

我有一个带有自定义工具栏的视图,其中包含第一条记录、下一条记录、上一条记录等按钮。 我想实现这个功能。我有工具栏按钮的命令对象。如何在表格查看器上传递有关哪一行是当前行的信息?如果我选择工具栏上的下一条记录按钮,如何将焦点移动到下一条记录?

【问题讨论】:

    标签: eclipse toolbar rcp tableviewer


    【解决方案1】:

    访问当前行:

    int currentSelectionPosition=tableViewer.getTable().getSelectionIndex();
    

    在下一行设置选择

    tableViewer.getTable().select(currentSelectionPosition+1);
    

    【讨论】:

      【解决方案2】:

      首先,您必须确保 TableViewer 是您的视图的选择提供程序:

      getSite().setSelectionProvider(tableViewer);
      

      这会在每次表格中选定的行发生更改时通知工作台窗口的选择服务。选择包含与所选行对应的模型对象。

      在您的命令处理程序中,您可以通过调用获取当前选择

      HandlerUtil.getCurrentSelectionChecked(executionEvent)
      

      要在按下下一个按钮时移动TableViewer 中的焦点,您必须在视图中实现一个公共方法,将底层Table 的选择索引增加一。要使您的命令处理程序能够调用此方法,您需要获取视图的实例。一个快速而肮脏的解决方案是通过调用来获取当前部分

      HandlerUtil.getActivePartChecked(executionEvent)
      

      并将返回的IWorkbenchPart 转换为您的视图类。

      【讨论】:

        猜你喜欢
        • 2014-11-23
        • 2013-09-29
        • 2015-07-07
        • 1970-01-01
        • 2017-12-26
        • 1970-01-01
        • 2017-10-29
        • 1970-01-01
        • 2013-11-04
        相关资源
        最近更新 更多