我有一个Eclipse RCP应用程序。从视角来看,有四个视图,我想在每次点击时突出显示各自的视图。有可能吗? 我试过以下代码:
private void addFocusBackgroundOnSelectingView() {
viewer.getControl().addListener(SWT.MouseEnter, new Listener() {
@Override
public void handleEvent(Event event) {
viewer.getControl().setBackground(
PlatformUI.getWorkbench().getDisplay()
.getSystemColor(SWT.COLOR_GRAY));
}
});
viewer.getControl().addListener(SWT.MouseExit, new Listener() {
@Override
public void handleEvent(Event event) {
viewer.getControl().setBackground(
PlatformUI.getWorkbench().getDisplay()
.getSystemColor(SWT.COLOR_WHITE));
}
});
}
如果已经选择了该视图,即使我将鼠标悬停在外,我也想保存选择。
答案 0 :(得分:0)
Eclipse PartService会跟踪哪个部分(编辑器,视图等)当前处于活动状态。您可以通过PlatfomUI类向服务添加侦听器:
IPartListener partListener = ...;
IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService();
partService.addPartListener(listener);
IPartListener界面具有partActivated
和partDeactivated
方法,您可以在其中进行突出显示。