向Eclipse中的现有gui组件添加功能

问题描述 投票:0回答:1

因此,我目前正在开发一种可用于工作集的Eclipse插件。这些自定义工作集是通过向导创建的,该向导还将创建具有所有必需设置的.properties文件。可以通过Eclipse项目资源管理器中的Select Working Sets...> Remove删除这些工作集,但是该按钮仅删除工作集本身,而不删除文件。

我已经实现了可以删除文件的处理程序,但是我想问是否有任何方法可以将该函数绑定到Select Working Set...对话框的“删除”按钮。我已经发现,WorkingSetSelectionDialog实现了删除功能,但是我有点卡在了那里。

是否有扩展点或类似的地方,我可以在其中添加该功能?

java eclipse-plugin swt working-set
1个回答
0
投票

该对话框上的“删除”按钮仅标记要删除的工作集,只有在按下“确定”按钮后才能真正删除它,这样“取消”才能起作用。

通过调用工作集管理器来完成删除。您可以使用IWorkingSetManager.addPropertyChangeListener侦听器侦听管理器所做的工作集更改:

IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();

manager.addPropertyChangeListener(listener);

侦听器实现IPropertyChangeListener。事件参数告诉您更改了什么属性。要删除的属性是IWorkingSetManager.CHANGE_WORKING_SET_REMOVE

所以类似:

public void propertyChange(PropertyChangeEvent event)
{
  if (event.getProperty().equals(IWorkingSetManager.CHANGE_WORKING_SET_REMOVE)) {
    IWorkingSet removed = (IWorkingSet)event.getOldValue();

    ...
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.