Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ptp-dev] Question about AbstractRMLaunchConfigurationDynamicTab.performApply

I've changed my implementation of AbstractRMLaunchConfigurationDynamicTab 
to register a ModifyListener on my Text and Combo widgets instead of using 
a FocusListener, and think I have it working correctly. I've noticed some 
behavior I wasn't expecting, and just want to be sure that I have things 
working correctly.

My main validation method gets called in response to a ModifyEvent. It 
validates all fields and calls fireContentsChanged() once validation is 
complete, in order to ensure any error message gets displayed. This seems 
to invoke some internal Eclipse processing which invokes my performApply() 
method, where, following the ORTE implementation's model, I store all 
attribute values into the launch configuration. So the result is that, 
since fireContentsChanged() is invoked on every keystoke, I'm saving 
launch configuration values at every keystroke, even when fields have 
invalid contents. I can see where this might be required so that if I 
switch from the parallel tab to another tab, then come back to the 
parallel tab, the values that were last entered in the parallel tab are 
still there.

I also noticed that if I call setText() on a Text or Combo widget that has 
a ModifyListener registered, that the ModifyListener gets invoked as a 
result of the setText() call. Is that expected SWT behavior?

Thanks

Dave


Back to the top