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 OsmDataLayerlayerThe data layer the relation belongs toprivate RelationrelationThe relation that this editor is working on.static java.lang.StringRELATION_PROPthe property name for the current relation.static java.lang.StringRELATION_SNAPSHOT_PROPthe property name for the current relation snapshotprivate RelationrelationSnapshotThe version of the relation when editing is started.private static longserialVersionUIDprivate java.beans.PropertyChangeSupportsupport-
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 protectedRelationEditor(OsmDataLayer layer, Relation relation)Creates a new relation editor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)voiddispose()static RelationEditorgetEditor(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.OsmDataLayergetLayer()Replies theOsmDataLayerin whose context this relation editor is openRelationgetRelation()Replies the currently edited relationRelationgetRelationSnapshot()Replies the state of the edited relation when the editor has been launched.booleanisDirtyRelation()Replies true if the currently edited relation has been changed elsewhere.booleanisDirtyRelation(boolean ignoreUninterestingTags)Replies true if the currently edited relation has been changed elsewhere.voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)voidsetRelation(Relation relation)Sets the currently edited relation.protected voidsetRelationSnapshot(Relation snapshot)protected voidupdateTitle()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, setIsSaving
-
-
-
-
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- theOsmDataLayerin 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 aDataSetcallers 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:IRelationEditorReplies the currently edited relation- Specified by:
getRelationin interfaceIRelationEditor- Returns:
- the currently edited relation
-
setRelation
public final void setRelation(Relation relation)
Description copied from interface:IRelationEditorSets the currently edited relation. Creates a snapshot of the current state of the relation. SeeIRelationEditor.getRelationSnapshot()- Specified by:
setRelationin interfaceIRelationEditor- Parameters:
relation- the relation
-
getLayer
public final OsmDataLayer getLayer()
Description copied from interface:IRelationEditorReplies theOsmDataLayerin whose context this relation editor is open- Specified by:
getLayerin interfaceIRelationEditor- Returns:
- the
OsmDataLayerin whose context this relation editor is open
-
getRelationSnapshot
public final Relation getRelationSnapshot()
Description copied from interface:IRelationEditorReplies the state of the edited relation when the editor has been launched.- Specified by:
getRelationSnapshotin 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:IRelationEditorReplies 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:
isDirtyRelationin interfaceIRelationEditor- Returns:
- true if the currently edited relation has been changed elsewhere.
-
isDirtyRelation
public final boolean isDirtyRelation(boolean ignoreUninterestingTags)
Description copied from interface:IRelationEditorReplies 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:
isDirtyRelationin 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:
addPropertyChangeListenerin classjava.awt.Window
-
removePropertyChangeListener
public final void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
- Overrides:
removePropertyChangeListenerin classjava.awt.Component
-
dispose
public void dispose()
- Overrides:
disposein classjava.awt.Window
-
-