WizardPageSupport and Eclipse UI Guideline 5.5 [message #844284] |
Fri, 13 April 2012 18:00  |
Eclipse User |
|
|
|
I'm working on a wizard within Eclipse that uses the JFace DataBindings and WizardPageSupport. For example, assume the wizard has two text boxes:
Field 1 [ ]
Field 2 [ ]
Both of these fields *must* have a non-empty value.
WizardPageSupport correctly implements UI guideline 5.3 (Start the wizard with a prompt, not an error message). However, I cannot find a convenient way to comply with guideline 5.5 ( Display a prompt when information is absent, and an error when information is invalid).
If my validators return IStatus.ERROR when the value is empty that I violate guideline 5.5. If my validators return IStatus.INFO instead, then the Finish button is enabled when the dialog still requires user input. If my validators return IStatus.CANCEL, then a real error (i.e. an invalid entry) is masked until all fields are filled in (i.e. a Cancel status is considered higher priority than and Error status).
Is their a proper way to use DataBindings and also comply with UI guidelines 5.5?
Thanks
~Michael
|
|
|
Re: WizardPageSupport and Eclipse UI Guideline 5.5 [message #846645 is a reply to message #844284] |
Mon, 16 April 2012 09:52  |
Eclipse User |
|
|
|
So here are a few ideas I've thought up.
1. Override WizardPage.setPageComplete(); the validators return OK status when the fields are absent and the setPageComplete() checks that all fields are filled in.
2. Create a custom WizardPageSupport that treats and non-OK status (i.e. INFO and WARNING) as reason to mark a page as incomplete.
3. Create a custom WizardPageSupport that uses an alternative to MaxSeverityValidationStatusProvider that would treat CANCEL status as a lower severity than INFO, WARNING, ERROR.
4. Change the severity of the CANCEL constant.
I'm leaning towards (1) for now...but it seems that Eclipse may wish to either change the UI guidelines or update WizardPageSupport to be compliant with the UI guidelines in some manner.
Thoughts?
~Michael
|
|
|
Powered by
FUDForum. Page generated in 0.04494 seconds