Abstract Dialog
Abstract Dialog
Overview
AbstractEPDialog is meant to be used for all dialogs that have title bar area consisting of a title, description and image. It provides utility methods for creating the more commonly used buttons like OK, Save, Set, Confirm and Cancel. By default a combination of Save and Cancel buttons is configured.
How to use AbstractEPDialog
AbstractEPDialog should be extended and the following abstract methods implemented when necessary:
- /**
- * Populates the controls for the contents.
- */
- protected abstract void populateControls();
- /**
- * Binds the controls for the contents.
- */
- protected abstract void bindControls();
- /**
- * Creates the controls that have to be displayed in the client area of the dialog.
- *
- * @param dialogComposite the EP layout composite to be used
- */
...
Read more
For values that should not be displayed a simple return of null value will leave the title, image or description fields empty.
Creating a custom dialog implies the usage of the EP UI Framework as the main tool to create and manage the UI controls.
For creating custom buttons or to change the default buttons a specific method has to be overridden. The following is an example of creating a custom labeled OK button along with a Cancel one.
- protected void createButtonsForButtonBar(final Composite parent) {
- createEpOkButton(parent, "My Button", null);
- createEpCancelButton(parent);
- }
Hadling OK button click event is done in okPressed() method. Cancel button event closes the dialog by default but this behaviour can be changed by overriding cancelPressed() method.
For creating one of the predefined button sets you can do the following:
- protected void createButtonsForButtonBar(final Composite parent) {
- createEpButtonsForButtonsBar(ButtonsBarType.CONFIRM, parent);
- }
What not to use AbstractEpDialog for?
Do not use AbstractEpDialog for displaying dialogs that are a part of the standard SWT API:
- Errors, warnings, and informational messages
- Question/confirmation dialogs
All of these can be displayed using the MessageDialog API:
- MessageDialog.openError(...)
- MessageDialog.openWarning(...)
- MessageDialog.openInformation(...)
- MessageDialog.openQuestion(...)
- MessageDialog.openConfirm(...)