I’ve always started with the premise, dialogs are bad, especially if they’re modal. Are they really so important they need to grab 100% of the users attention and not let go until it’s satisfied? Some are, yes, but not many IMHO.
Non-modal dialogs starts you down the path of having a multi-window application. At one point in history, we decided that was bad. Is that still true? Or are non-modal dialogs different enough to escape that criticism.
Are there alternative approaches to dialogs, especially the complex dialog case, that we could use instead?
Doug.
Hi,
In addition to the wizard ui blocking discussion:
Users are often irritated by the modality of the wizard (blocking the underlying window). They are not able to navigate around for additional info whilst in the middle of a complex wizard. What I do is override the WizardDialog class to disable modality
which is set in the constructor of WizardDialog. Something like:
WizardDialog wd = new WizardDialog(composite.getShell(), myWizard){
@Override
protected void configureShell(Shell newShell) {
// TODO Auto-generated method stub
super.configureShell(newShell);
setShellStyle(SWT.CLOSE | SWT.MAX | SWT.MIN | SWT.TITLE | SWT.BORDER | SWT.RESIZE | getDefaultOrientation());
}
};
I'm not sure if there is a pressing reason for making wizards modal. It would be nice if we could control this from the outside instead of creating an anonymous class like I did above.
Cheers,
Wim