Class RelationEditor
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- org.openstreetmap.josm.gui.ExtendedDialog
-
- org.openstreetmap.josm.gui.dialogs.relation.RelationEditor
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
,IRelationEditor
,IExtendedDialog
- Direct Known Subclasses:
GenericRelationEditor
public abstract class RelationEditor extends ExtendedDialog implements IRelationEditor
Abstract relation editor.- Since:
- 1599
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description private OsmDataLayer
layer
The data layer the relation belongs toprivate 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 snapshotprivate Relation
relationSnapshot
The version of the relation when editing is started.private static long
serialVersionUID
private java.beans.PropertyChangeSupport
support
-
Fields inherited from class org.openstreetmap.josm.gui.ExtendedDialog
buttons, contentInsets, defaultButton, DialogClosedOtherwise
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RelationEditor(OsmDataLayer layer, Relation relation)
Creates a new relation editor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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.OsmDataLayer
getLayer()
Replies theOsmDataLayer
in whose context this relation editor is openRelation
getRelation()
Replies the currently edited relationRelation
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.boolean
isDirtyRelation(boolean ignoreUninterestingTags)
Replies true if the currently edited relation has been changed elsewhere.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-
Methods inherited from class org.openstreetmap.josm.gui.ExtendedDialog
buttonAction, configureContextsensitiveHelp, createButtonAction, findMaxDialogSize, getValue, initWindowGeometry, rememberWindowGeometry, setButtonIcons, setButtonIcons, setCancelButton, setContent, setContent, setContent, setDefaultButton, setFocusOnDefaultButton, setIcon, setIcon, setRememberWindowGeometry, setToolTipTexts, setupDialog, setVisible, showDialog, toggleCheckState, toggleEnable, toggleSaveState
-
Methods inherited from class javax.swing.JDialog
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
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
-
Methods inherited from class java.awt.Window
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
-
Methods inherited from class java.awt.Container
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
-
Methods inherited from class java.awt.Component
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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor
isDirtyEditor, reloadDataFromRelation
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
RELATION_PROP
public static final java.lang.String RELATION_PROP
the property name for the current relation.- See Also:
setRelation(Relation)
,getRelation()
-
RELATION_SNAPSHOT_PROP
public static final java.lang.String RELATION_SNAPSHOT_PROP
the property name for the current relation snapshot- See Also:
getRelationSnapshot()
-
relationSnapshot
private transient Relation relationSnapshot
The version of the relation when editing is started. This is null if a new relation is created.
-
layer
private final transient OsmDataLayer layer
The data layer the relation belongs to
-
support
private final java.beans.PropertyChangeSupport support
-
-
Constructor Detail
-
RelationEditor
protected RelationEditor(OsmDataLayer layer, Relation relation)
Creates a new relation editor- Parameters:
layer
- theOsmDataLayer
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.- Throws:
java.lang.IllegalArgumentException
- if layer is null
-
-
Method Detail
-
getEditor
public 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. This method is guaranteed to return a working RelationEditor.- Parameters:
layer
- the data layer the relation is a member ofr
- the relation to be edited. If the relation doesn't belong to aDataSet
callers MUST NOT use the relation after calling this method.selectedMembers
- a collection of relation members which shall be selected when the editor is first launched- Returns:
- an instance of RelationEditor suitable for editing that kind of relation
-
updateTitle
protected void updateTitle()
updates the title of the relation editor
-
getRelation
public final Relation getRelation()
Description copied from interface:IRelationEditor
Replies the currently edited relation- Specified by:
getRelation
in interfaceIRelationEditor
- Returns:
- the currently edited relation
-
setRelation
public final void setRelation(Relation relation)
Description copied from interface:IRelationEditor
Sets the currently edited relation. Creates a snapshot of the current state of the relation. SeeIRelationEditor.getRelationSnapshot()
- Specified by:
setRelation
in interfaceIRelationEditor
- Parameters:
relation
- the relation
-
getLayer
public final OsmDataLayer getLayer()
Description copied from interface:IRelationEditor
Replies theOsmDataLayer
in whose context this relation editor is open- Specified by:
getLayer
in interfaceIRelationEditor
- Returns:
- the
OsmDataLayer
in whose context this relation editor is open
-
getRelationSnapshot
public final Relation getRelationSnapshot()
Description copied from interface:IRelationEditor
Replies the state of the edited relation when the editor has been launched.- Specified by:
getRelationSnapshot
in interfaceIRelationEditor
- Returns:
- the state of the edited relation when the editor has been launched
-
setRelationSnapshot
protected final void setRelationSnapshot(Relation snapshot)
-
isDirtyRelation
public final boolean isDirtyRelation()
Description copied from interface:IRelationEditor
Replies true if the currently edited relation has been changed elsewhere. In this case a relation editor can't apply updates to the relation directly. Rather, it has to create a conflict.- Specified by:
isDirtyRelation
in interfaceIRelationEditor
- Returns:
- true if the currently edited relation has been changed elsewhere.
-
isDirtyRelation
public final boolean isDirtyRelation(boolean ignoreUninterestingTags)
Description copied from interface:IRelationEditor
Replies true if the currently edited relation has been changed elsewhere. In this case a relation editor can't apply updates to the relation directly. Rather, it has to create a conflict.- Specified by:
isDirtyRelation
in interfaceIRelationEditor
- Parameters:
ignoreUninterestingTags
- whether to ignore uninteresting tag changes- Returns:
- true if the currently edited relation has been changed elsewhere.
-
addPropertyChangeListener
public final void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
- Overrides:
addPropertyChangeListener
in classjava.awt.Window
-
removePropertyChangeListener
public final void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
- Overrides:
removePropertyChangeListener
in classjava.awt.Component
-
dispose
public void dispose()
- Overrides:
dispose
in classjava.awt.Window
-
-