Class RelationEditor

    • 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      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 static long serialVersionUID  
      private java.beans.PropertyChangeSupport support  
      • Fields inherited from class javax.swing.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • 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 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.
      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 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
    • Constructor Detail

      • RelationEditor

        protected RelationEditor​(OsmDataLayer layer,
                                 Relation relation)
        Creates a new relation editor
        Parameters:
        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.
        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 of
        r - the relation to be edited. If the relation doesn't belong to a DataSet 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
      • 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 interface IRelationEditor
        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 interface IRelationEditor
        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 class java.awt.Window
      • removePropertyChangeListener

        public final void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Overrides:
        removePropertyChangeListener in class java.awt.Component
      • dispose

        public void dispose()
        Overrides:
        dispose in class java.awt.Window