/** * Contains components that allow for the editing of {@link au.gov.ga.earthsci.bookmark.model.IBookmark} * instances and their associated {@link au.gov.ga.earthsci.bookmark.model.IBookmarkProperty}s. * * <p/> * * The primary component is the {@link au.gov.ga.earthsci.bookmark.ui.editor.BookmarkEditorDialog}, * which provides a dialog box similar in nature to the Eclipse preferences dialog. * * This dialog is associated with a single {@link au.gov.ga.earthsci.bookmark.model.IBookmark} instance, * and gives access to all available {@link au.gov.ga.earthsci.bookmark.model.IBookmarkProperty}s. * * To launch the editor dialog, first create a new instance with an * {@link au.gov.ga.earthsci.bookmark.model.IBookmark} to edit, and then open the dialog * with {@link au.gov.ga.earthsci.bookmark.ui.editor.BookmarkEditorDialog#open()}. * * <pre> * Display.getDefault().asyncExec(new Runnable() { * @Override * public void run() * { * BookmarkEditorDialog dialog = new BookmarkEditorDialog(bookmark, * Display.getDefault().getActiveShell()); * dialog.open(); * } * }); * </pre> * * <p/> * * Individual {@link au.gov.ga.earthsci.bookmark.model.IBookmarkProperty}s are edited with associated * {@link au.gov.ga.earthsci.bookmark.ui.editor.IBookmarkPropertyEditor} instances. Subclasses should * consider extending the convenience base class * {@link au.gov.ga.earthsci.bookmark.ui.editor.AbstractBookmarkPropertyEditor}, * which has sensible default implementations for several methods. * * <p/> * * {@link au.gov.ga.earthsci.bookmark.ui.editor.IBookmarkPropertyEditor}s instances can be * retrieved from the {@link au.gov.ga.earthsci.bookmark.ui.editor.BookmarkPropertyEditorFactory}. * This factory has methods for creating an editor suitable for a given * {@link au.gov.ga.earthsci.bookmark.model.IBookmarkProperty} type, and for retrieving all types * for which an editor exists. * * Editors can be registered on the {@link au.gov.ga.earthsci.bookmark.ui.editor.BookmarkPropertyEditorFactory} * directly via the {@link au.gov.ga.earthsci.bookmark.ui.editor.BookmarkPropertyEditorFactory#registerEditor(String, Class)} * method, or (more flexibly) using the Eclipse extension point * {@code au.gov.ga.earthsci.application.bookmarkPropertyEditor} * */ package au.gov.ga.earthsci.bookmark.ui.editor;