public abstract class RelationEditor extends ExtendedDialog implements IRelationEditor
javax.swing.JDialog.AccessibleJDialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
private static java.util.List<java.lang.Class<RelationEditor>> |
editors
the list of registered relation editor classes
|
private OsmDataLayer |
layer
The data layer the relation belongs to
|
private Relation |
relation
The relation that this editor is working on.
|
static java.lang.String |
RELATION_PROP
the property name for the current relation.
|
static java.lang.String |
RELATION_SNAPSHOT_PROP
the property name for the current relation snapshot
|
private Relation |
relationSnapshot
The version of the relation when editing is started.
|
private java.beans.PropertyChangeSupport |
support |
buttons, contentInsets, defaultButton, DialogClosedOtherwise
accessibleContext, rootPane, rootPaneCheckingEnabled
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Modifier | Constructor and Description |
---|---|
protected |
RelationEditor(OsmDataLayer layer,
Relation relation)
Creates a new relation editor
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener) |
void |
dispose() |
static RelationEditor |
getEditor(OsmDataLayer layer,
Relation r,
java.util.Collection<RelationMember> selectedMembers)
This is a factory method that creates an appropriate RelationEditor instance suitable for editing the relation
that was passed in as an argument.
|
protected OsmDataLayer |
getLayer()
Replies the
OsmDataLayer in whose context this relation editor is open |
Relation |
getRelation()
Replies the currently edited relation
|
Relation |
getRelationSnapshot()
Replies the state of the edited relation when the editor has been launched.
|
boolean |
isDirtyRelation()
Replies true if the currently edited relation has been changed elsewhere.
|
void |
registerRelationEditor(java.lang.Class<RelationEditor> clazz)
Registers a relation editor class.
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener) |
void |
setRelation(Relation relation)
Sets the currently edited relation.
|
protected void |
setRelationSnapshot(Relation snapshot) |
protected void |
updateTitle()
updates the title of the relation editor
|
buttonAction, configureContextsensitiveHelp, findMaxDialogSize, getValue, initWindowGeometry, rememberWindowGeometry, setButtonIcons, setButtonIcons, setCancelButton, setContent, setContent, setContent, setDefaultButton, setFocusOnDefaultButton, setIcon, setIcon, setRememberWindowGeometry, setToolTipTexts, setupDialog, setVisible, showDialog, toggleCheckState, toggleDisable, toggleEnable, toggleSaveState
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
reloadDataFromRelation
public static final java.lang.String RELATION_PROP
setRelation(Relation)
,
getRelation()
public static final java.lang.String RELATION_SNAPSHOT_PROP
getRelationSnapshot()
private static java.util.List<java.lang.Class<RelationEditor>> editors
private transient Relation relationSnapshot
private final transient OsmDataLayer layer
private final java.beans.PropertyChangeSupport support
protected RelationEditor(OsmDataLayer layer, Relation relation)
layer
- the OsmDataLayer
in whose context a relation is edited. Must not be null.relation
- the relation. Can be null if a new relation is to be edited.java.lang.IllegalArgumentException
- if layer is nullpublic void registerRelationEditor(java.lang.Class<RelationEditor> clazz)
getEditor(OsmDataLayer, Relation, Collection)
will create an instance of
this class.clazz
- the classpublic static RelationEditor getEditor(OsmDataLayer layer, Relation r, java.util.Collection<RelationMember> selectedMembers)
layer
- the data layer the relation is a member ofr
- the relation to be editedselectedMembers
- a collection of relation members which shall be selected when the editor is first launchedprotected void updateTitle()
public final Relation getRelation()
IRelationEditor
getRelation
in interface IRelationEditor
public final void setRelation(Relation relation)
IRelationEditor
IRelationEditor.getRelationSnapshot()
setRelation
in interface IRelationEditor
relation
- the relationprotected final OsmDataLayer getLayer()
OsmDataLayer
in whose context this relation editor is openOsmDataLayer
in whose context this relation editor is openpublic final Relation getRelationSnapshot()
IRelationEditor
getRelationSnapshot
in interface IRelationEditor
protected final void setRelationSnapshot(Relation snapshot)
public final boolean isDirtyRelation()
IRelationEditor
isDirtyRelation
in interface IRelationEditor
public final void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
addPropertyChangeListener
in class java.awt.Window
public final void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
removePropertyChangeListener
in class java.awt.Component
public void dispose()
dispose
in class java.awt.Window