繁体   English   中英

ECLIPSE RCP应用程序:工具栏实施

[英]ECLIPSE RCP app: toolbar implementation

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

访问当前行:

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

在下一行设置选择

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

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

getSite().setSelectionProvider(tableViewer);

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

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

HandlerUtil.getCurrentSelectionChecked(executionEvent)

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

HandlerUtil.getActivePartChecked(executionEvent)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM