Package megameklab.ui.util
Class AbstractEquipmentDatabaseView
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
megameklab.ui.util.IView
megameklab.ui.util.AbstractEquipmentDatabaseView
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
HHWEquipmentDatabaseView
A base class for creating an equipment database table that shows all equipment available to the unit and by default
includes filters such as an "Energy Weapon" toggle. In addition to the abstract methods, implementing classes may
override getUsedButtons() to control the shown filter buttons, shouldShow() to control the equipment filtering when
the standard filters are not used, and getVisibleTableColumns() to control the shown columns.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final TableRowSorter<EquipmentTableModel> protected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected RefreshListenerprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JToggleButtonprotected final JTextFieldFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddEquipment(megamek.common.equipment.EquipmentType equip, int count) Adds the given equipment to the entity a number of times equal to count.protected booleanallowAdd()This method may be overridden to disallow adding equipment from this database view.protected Set<EquipmentDatabaseCategory> protected abstract Collection<Integer> getVisibleTableColumns(boolean tableMode) This method is called to find the table columns to display when the table is first displayed and when the Table Column Mode button is pressed.voidvoidsetRefresh(RefreshListener newRefresh) protected booleanshouldShow(megamek.common.equipment.EquipmentType equipment) Returns true when the given equipment should show up in the database table.protected booleanWhen this returns true, the Add Multiple button is used.protected booleanWhen this returns true, the "Switch Table Columns" button is shown.protected booleanWhen this returns true, the Text Filter TextField is shown.Methods inherited from class megameklab.ui.util.IView
getAero, getBattleArmor, getEntity, getGunEmplacement, getInfantry, getJumpship, getMek, getProtoMek, getSmallCraft, getTank, getVTOL, isJumpShip, isSmallCraft, isVTOL, isWarShipMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
-
Field Details
-
refresh
-
equipmentSorter
-
showEnergyButton
-
showBallisticButton
-
showMissileButton
-
showArtilleryButton
-
showPhysicalButton
-
showIndustrialButton
-
showCapitalButton
-
showAmmoButton
-
showOtherButton
-
hideProtoButton
-
hideOneShotButton
-
hideTorpedoButton
-
hideAPButton
-
hideUnusableAmmoButton
-
txtFilter
-
-
Constructor Details
-
AbstractEquipmentDatabaseView
-
-
Method Details
-
getVisibleTableColumns
This method is called to find the table columns to display when the table is first displayed and when the Table Column Mode button is pressed. The parameter tableMode changes between true and false for each press of the Table Column Mode button. Note that this method can return any dynamic result but is only called at start (when a new unit is displayed or upon unit reset) and when the Table Column Mode button is pressed.- Parameters:
tableMode- indicates which of two table column sets are to be shown. May be ignored, especially if useSwitchTableColumns() is overridden to return false.- Returns:
- A Collection of columns from
EquipmentTableModelthat should be shown
-
addEquipment
protected abstract void addEquipment(megamek.common.equipment.EquipmentType equip, int count) Adds the given equipment to the entity a number of times equal to count. When the "Add Multiple" button is not used, count will always be 1. The "Add Multiple" button is only available when useAddMultiple() is overridden to return true. Implementing classes must provide a method that covers all entity types that could be coupled to their view. -
getUsedButtons
- Returns:
- the filter toggles and buttons to be used in this Equipment Database View. By default, this method returns the standard buttons suitable for the entity as defined in EquipmentDatabaseCategory. It may be overridden, e.g. to hide all filter buttons by returning an empty Set. When doing this, shouldShow() should be overridden to prevent the equipment being filtered by the state of the unavailable buttons.
-
useAddMultipleButton
protected boolean useAddMultipleButton()When this returns true, the Add Multiple button is used. This button together with a count JSpinner allows adding multiples of equipment at once. By default, this method returns false. -
allowAdd
protected boolean allowAdd()This method may be overridden to disallow adding equipment from this database view. By default, it returns true. When it returns true, the "Add" button is shown and adding Equipment with the Enter key is possible. When this returns false, adding equipment to the unit is generally disabled and none of the "Add" buttons is shown. In this case (only), the addEquipment() method can be given an empty method body. -
useTextFilter
protected boolean useTextFilter()When this returns true, the Text Filter TextField is shown. By default, this method returns true. -
useSwitchTableColumns
protected boolean useSwitchTableColumns()When this returns true, the "Switch Table Columns" button is shown. By default, this method returns true. -
setRefresh
-
refreshTable
public void refreshTable() -
shouldShow
protected boolean shouldShow(megamek.common.equipment.EquipmentType equipment) Returns true when the given equipment should show up in the database table. This method checks if the equipment is available to the unit type at all and if the filter toggles and text filter show or hide it. This may be overridden to exclude or include equipment based on other evaluations. For example, by returning true only for equipment that is part of the unit an inventory can be created although this inventory will not show the equipment counts. Another option is to reduce the shown equipment to a predefined warehouse content such as an MHQ Campaign inventory, although here also, an equipment count is (currently) not supported.- Parameters:
equipment- The equipment type to be shown or hidden- Returns:
- True when the equipment should be shown, false otherwise
-