Class DefaultObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- net.sf.gridarta.gui.panel.objectchooser.DefaultObjectChooser<G,A,R>
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,ObjectChooser<G,A,R>
public class DefaultObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>> extends javax.swing.JPanel implements ObjectChooser<G,A,R>
The object Chooser implementation.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description DefaultObjectChooser(@NotNull ObjectChooserTab<G,A,R> archetypeChooserControl, @NotNull ObjectChooserTab<G,A,R> pickmapChooserControl, @NotNull ArchetypeChooserModel<G,A,R> archetypeChooserModel, @NotNull PickmapChooserModel<G,A,R> pickmapChooserModel, @NotNull ArchetypeTypeSet archetypeTypeSet)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddObjectChooserListener(@NotNull ObjectChooserListener<G,A,R> listener)Adds a listener to be notified.@Nullable BaseObject<G,A,R,?>getCursorSelection()Returns the selected archetype (if the archetype chooser is active) or the game object selected by the map cursor (if the pickmap chooser) is active.@Nullable BaseObject<G,A,R,?>getSelection()Returns the active arch in the left-side panel.@NotNull java.util.List<? extends BaseObject<G,A,R,?>>getSelections()Returns the selected arches in the left-side panel.booleanisMatching(G gameObject)Returns whether a given game object matches the selection.booleanisPickmapActive()Return if the Pickmap Chooser is active.voidmoveArchetypeChooserToFront()Move the Archetype Chooser in front of the Pickmap Chooser.voidmovePickmapChooserToFront()Move the Pickmap Chooser in front of the Archetype Chooser.voidremoveObjectChooserListener(@NotNull ObjectChooserListener<G,A,R> listener)Removes a listener to be notified.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
DefaultObjectChooser
public DefaultObjectChooser(@NotNull @NotNull ObjectChooserTab<G,A,R> archetypeChooserControl, @NotNull @NotNull ObjectChooserTab<G,A,R> pickmapChooserControl, @NotNull @NotNull ArchetypeChooserModel<G,A,R> archetypeChooserModel, @NotNull @NotNull PickmapChooserModel<G,A,R> pickmapChooserModel, @NotNull @NotNull ArchetypeTypeSet archetypeTypeSet)Creates a new instance.- Parameters:
archetypeChooserControl- the archetype chooser controlpickmapChooserControl- the pickmap chooser controlarchetypeChooserModel- the archetype chooser modelpickmapChooserModel- the pickmap chooser modelarchetypeTypeSet- the archetype type set
-
-
Method Detail
-
isPickmapActive
public final boolean isPickmapActive()
Description copied from interface:ObjectChooserReturn if the Pickmap Chooser is active.- Specified by:
isPickmapActivein interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Returns:
trueif the Pickmap Chooser is active, orfalseif the Archetype Chooser is active.
-
isMatching
public boolean isMatching(@NotNull G gameObject)Returns whether a given game object matches the selection.- Specified by:
isMatchingin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Parameters:
gameObject- the game object to check- Returns:
- whether the game object matches
-
addObjectChooserListener
public void addObjectChooserListener(@NotNull @NotNull ObjectChooserListener<G,A,R> listener)Description copied from interface:ObjectChooserAdds a listener to be notified.- Specified by:
addObjectChooserListenerin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Parameters:
listener- the listener to add
-
removeObjectChooserListener
public void removeObjectChooserListener(@NotNull @NotNull ObjectChooserListener<G,A,R> listener)Description copied from interface:ObjectChooserRemoves a listener to be notified.- Specified by:
removeObjectChooserListenerin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Parameters:
listener- the listener to remove
-
moveArchetypeChooserToFront
public void moveArchetypeChooserToFront()
Description copied from interface:ObjectChooserMove the Archetype Chooser in front of the Pickmap Chooser.- Specified by:
moveArchetypeChooserToFrontin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>
-
movePickmapChooserToFront
public void movePickmapChooserToFront()
Description copied from interface:ObjectChooserMove the Pickmap Chooser in front of the Archetype Chooser.- Specified by:
movePickmapChooserToFrontin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>
-
getCursorSelection
@Nullable public @Nullable BaseObject<G,A,R,?> getCursorSelection()
Description copied from interface:ObjectChooserReturns the selected archetype (if the archetype chooser is active) or the game object selected by the map cursor (if the pickmap chooser) is active.- Specified by:
getCursorSelectionin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Returns:
- the selection or
null
-
getSelection
@Nullable public final @Nullable BaseObject<G,A,R,?> getSelection()
Description copied from interface:ObjectChooserReturns the active arch in the left-side panel. This can either be a default arch from the archetype set, or a custom game object from a pickmap. IMPORTANT: The returned BaseObject is not a clone. A copy must be generated before inserting such an object to the map.- Specified by:
getSelectionin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Returns:
- the active arch in the left-side panel
-
getSelections
@NotNull public @NotNull java.util.List<? extends BaseObject<G,A,R,?>> getSelections()
Description copied from interface:ObjectChooserReturns the selected arches in the left-side panel. This can either be default arches, or custom arches from a pickmap. IMPORTANT: The returned GameObject list contains no clone. A copy must be generated before inserting such arches to the map.- Specified by:
getSelectionsin interfaceObjectChooser<G extends GameObject<G,A,R>,A extends MapArchObject<A>,R extends Archetype<G,A,R>>- Returns:
- the selected arches in the left-side panel
-
-