public class GenericRelationEditor extends RelationEditor
Modifier and Type | Class and Description |
---|---|
static class |
GenericRelationEditor.AddAbortException
Exception thrown when user aborts add operation.
|
(package private) class |
GenericRelationEditor.MemberTableDblClickAdapter |
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 ApplyAction |
applyAction
Action for performing the
ApplyAction |
private CancelAction |
cancelAction
Action for performing the
CancelAction |
private MemberTable |
memberTable
the member table
|
private MemberTableModel |
memberTableModel |
private ReferringRelationsBrowser |
referrerBrowser |
private ReferringRelationsBrowserModel |
referrerModel |
private RefreshAction |
refreshAction
Action for performing the
RefreshAction |
private SelectionTable |
selectionTable
the model for the selection table
|
private SelectionTableModel |
selectionTableModel |
private javax.swing.JButton |
sortBelowButton
Button for performing the
SortBelowAction . |
private TagEditorPanel |
tagEditorPanel
the tag table and its model
|
private AutoCompletingTextField |
tfRole |
private javax.swing.JMenuItem |
windowMenuItem
the menu item in the windows menu.
|
RELATION_PROP, RELATION_SNAPSHOT_PROP
buttons, contentInsets, defaultButton, DialogClosedOtherwise
accessibleContext, rootPane, rootPaneCheckingEnabled
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
GenericRelationEditor(OsmDataLayer layer,
Relation relation,
java.util.Collection<RelationMember> selectedMembers)
Creates a new relation editor for the given relation.
|
Modifier and Type | Method and Description |
---|---|
static Command |
addPrimitivesToRelation(Relation orig,
java.util.Collection<? extends OsmPrimitive> primitivesToAdd)
Adds primitives to a given relation.
|
protected void |
addToWindowMenu()
adds current relation editor to the windows menu (in the "volatile" group) o
|
void |
apply()
Apply changes.
|
protected javax.swing.JToolBar |
buildLeftButtonPanel()
build the panel with the buttons on the left
|
protected javax.swing.JPanel |
buildMemberEditorPanel()
builds the panel for the relation member editor
|
protected javax.swing.JPanel |
buildOkCancelButtonPanel()
builds the panel with the OK and the Cancel button
|
protected javax.swing.JToolBar |
buildSelectionControlButtonPanel()
build the panel with the buttons for adding or removing the current selection
|
protected javax.swing.JPanel |
buildSelectionTablePanel()
builds the panel with the table displaying the currently selected primitives
|
protected javax.swing.JSplitPane |
buildSplitPane()
builds the
JSplitPane which divides the editor in an upper and a lower half |
protected javax.swing.JPanel |
buildTagEditorPanel()
builds the panel with the tag editor
|
protected javax.swing.JToolBar |
buildToolBar()
Creates the toolbar
|
void |
cancel()
Cancel changes.
|
protected void |
cleanSelfReferences()
checks whether the current relation has members referring to itself.
|
static boolean |
confirmAddingPrimitive(OsmPrimitive primitive)
Asks confirmationbefore adding a primitive.
|
protected java.awt.Dimension |
findMaxDialogSize()
Tries to find a good value of how large the dialog should be
|
protected static java.util.Set<java.lang.String> |
findSuggestedRoles(java.util.Collection<TaggingPreset> presets,
OsmPrimitive p) |
private void |
populateModels(Relation relation) |
private void |
registerCopyPasteAction(javax.swing.AbstractAction action,
java.lang.Object actionName,
javax.swing.KeyStroke shortcut) |
void |
reloadDataFromRelation()
Reloads data from relation.
|
void |
setVisible(boolean visible)
Override setVisible to be able to save the window geometry if required
|
static void |
warnOfCircularReferences(OsmPrimitive primitive)
Warn about circular references.
|
addPropertyChangeListener, dispose, getEditor, getLayer, getRelation, getRelationSnapshot, isDirtyRelation, registerRelationEditor, removePropertyChangeListener, setRelation, setRelationSnapshot, updateTitle
buttonAction, configureContextsensitiveHelp, getValue, initWindowGeometry, rememberWindowGeometry, setButtonIcons, setButtonIcons, setCancelButton, setContent, setContent, setContent, setDefaultButton, setFocusOnDefaultButton, setIcon, setIcon, setRememberWindowGeometry, setToolTipTexts, setupDialog, 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
private final TagEditorPanel tagEditorPanel
private final ReferringRelationsBrowser referrerBrowser
private final ReferringRelationsBrowserModel referrerModel
private MemberTable memberTable
private final MemberTableModel memberTableModel
private SelectionTable selectionTable
private final SelectionTableModel selectionTableModel
private AutoCompletingTextField tfRole
private javax.swing.JMenuItem windowMenuItem
private javax.swing.JButton sortBelowButton
SortBelowAction
.private RefreshAction refreshAction
RefreshAction
private ApplyAction applyAction
ApplyAction
private CancelAction cancelAction
CancelAction
public GenericRelationEditor(OsmDataLayer layer, Relation relation, java.util.Collection<RelationMember> selectedMembers)
layer
- the OsmDataLayer
the new or edited relation belongs torelation
- relation to edit, or null to create a new one.selectedMembers
- a collection of members which shall be selected initiallypublic void reloadDataFromRelation()
IRelationEditor
private void populateModels(Relation relation)
public void apply()
ApplyAction
public void cancel()
CancelAction
protected javax.swing.JToolBar buildToolBar()
protected javax.swing.JPanel buildOkCancelButtonPanel()
protected javax.swing.JPanel buildTagEditorPanel()
protected javax.swing.JPanel buildMemberEditorPanel()
protected javax.swing.JPanel buildSelectionTablePanel()
protected javax.swing.JSplitPane buildSplitPane()
JSplitPane
which divides the editor in an upper and a lower halfprotected javax.swing.JToolBar buildLeftButtonPanel()
protected javax.swing.JToolBar buildSelectionControlButtonPanel()
protected java.awt.Dimension findMaxDialogSize()
ExtendedDialog
findMaxDialogSize
in class ExtendedDialog
public void setVisible(boolean visible)
ExtendedDialog
setVisible
in class ExtendedDialog
protected void addToWindowMenu()
protected void cleanSelfReferences()
private void registerCopyPasteAction(javax.swing.AbstractAction action, java.lang.Object actionName, javax.swing.KeyStroke shortcut)
public static boolean confirmAddingPrimitive(OsmPrimitive primitive) throws GenericRelationEditor.AddAbortException
primitive
- primitive to addtrue
is user confirms the operation, false
otherwiseGenericRelationEditor.AddAbortException
- if user aborts operationpublic static void warnOfCircularReferences(OsmPrimitive primitive)
primitive
- the concerned primitivepublic static Command addPrimitivesToRelation(Relation orig, java.util.Collection<? extends OsmPrimitive> primitivesToAdd)
orig
- The relation to modifyprimitivesToAdd
- The primitives to add as relation membersjava.lang.IllegalArgumentException
- if orig is nullprotected static java.util.Set<java.lang.String> findSuggestedRoles(java.util.Collection<TaggingPreset> presets, OsmPrimitive p)