我有必要的扩展点,而我的Tab类正在扩展AbstractLaunchConfigurationTab.
我对示例没有任何不同,例如CommonTab
。在触发小部件事件时,我会调用updateLaunchConfigurationDialog()
。
编辑:我的小部件的监听器方法肯定被调用,并且正在调用performApply
方法。我正在做CommonTab
类使用其中一个单选按钮所做的事情,例如:
fSharedRadioButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent evt) {
handleSharedRadioButtonSelected();
}
});
/**
* handles the shared radio button being selected
*/
private void handleSharedRadioButtonSelected() {
setSharedEnabled(isShared());
updateLaunchConfigurationDialog();
}
唯一的区别是我的小部件是一个微调器:
executionsSpinner.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
updateLaunchConfigurationDialog();
}
});
答案 0 :(得分:0)
当updateLaunchConfigurationDialog
被调用时,框架会触发对您的标签performApply
方法的调用。
performApply
作为参数传递ILaunchConfigurationWorkingCopy
实例。当performApply
返回ILaunchConfigurationWorkingCopy
实例与原始未经修改的ILaunchConfiguration
进行比较时。如果存在任何差异,则启用应用按钮。
您必须对performApply
的参数进行一些修改才能启用 Apply ,就像Greg在评论中注意到一样。