Class StatusBarPhaseDisplay
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
megamek.client.ui.widget.SkinnedJPanel
megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
megamek.client.ui.panels.phaseDisplay.StatusBarPhaseDisplay
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,BoardViewListener,KeyBindReceiver,GameListener,IPreferenceChangeListener,Distractable
- Direct Known Subclasses:
ActionPhaseDisplay,DeploymentDisplay,DeployMinefieldDisplay,PrephaseDisplay,ReportDisplay,SBFActionPhaseDisplay,SBFReportDisplay,SelectArtyAutoHitHexDisplay
public abstract class StatusBarPhaseDisplay
extends AbstractPhaseDisplay
implements ActionListener, IPreferenceChangeListener, KeyBindReceiver
This is a parent class for the button display for each phase. Every phase has a panel of control buttons along with
a Done button. Each button corresponds to a command that can be carried out in the current phase. This class formats
the button panel, the done button, and a status display area. Control buttons are grouped and the groups can be
cycled through.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classComparator for comparing the priority of two commands, used to determine button order.static interfaceInterface that defines what a command for a phase is.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 intprotected intprotected final IClientGUIprotected intThe button group that is currently displayedprotected static final GUIPreferencesprotected static final Dimensionprotected intThe number of button groups there are, needs to be computed in a child class.protected JPanelprotected JPanelFields inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
butDone, DONE_BUTTON_WIDTHFields 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 voidaddToDonePanel(JPanel donePanel, JComponent item) abstract voidclear()Clears the actions of this phase.protected MegaMekButtoncreateButton(String cmd, String keyPrefix) protected StringcreateToolTip(String cmd, String keyPrefix, String hotKeyDesc) voidprotected abstract List<MegaMekButton>Returns the list of buttons that should be displayed.booleanprotected StringplayerNameOrUnknown(Player player) voidprotected abstract voidset button that should be displayed.protected abstract voidset button tool tips that should be displayed.voidsetStatusBarText(String text) voidvoidAdds buttons to the button panel.protected UIUtil.FixedXPanelprotected voidsetupStatusBar(String statusInfo) Sets up the status bar.booleanThis method should return true when this KeyBindReceiver is in a state to receive the keybind and may react to it, false otherwise.voidvoidMethods inherited from class megamek.client.ui.panels.phaseDisplay.AbstractPhaseDisplay
boardHexHighlighted, finishedMovingUnits, firstLOSHex, gameBoardChanged, gameBoardNew, gameClientFeedbackRequest, gameEnd, gameEntityChange, gameEntityNew, gameEntityNewOffboard, gameEntityRemove, gameMapQuery, gameNewAction, gamePhaseChange, gamePlayerChange, gamePlayerChat, gamePlayerConnected, gamePlayerDisconnected, gameReport, gameSettingsChange, gameTurnChange, gameVictory, getButDone, getClientGUI, hexCursor, hexMoused, hexSelected, isIgnoringEvents, isMyTurn, ready, secondLOSHex, sendDone, setIgnoringEvents, unitSelectedMethods inherited from class megamek.client.ui.widget.SkinnedJPanel
paintComponentMethods 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.awt.event.ActionListener
actionPerformedMethods inherited from interface megamek.common.util.Distractable
removeAllListenersMethods inherited from interface megamek.common.event.GameListener
gamePlayerStrategicAction, gameScriptedEvent, gameUnitChange
-
Field Details
-
GUIP
-
MIN_BUTTON_SIZE
-
clientGUI
-
panStatus
-
panButtons
-
currentButtonGroup
protected int currentButtonGroupThe button group that is currently displayed -
numButtonGroups
protected int numButtonGroupsThe number of button groups there are, needs to be computed in a child class. -
buttonsPerRow
protected int buttonsPerRow -
buttonsPerGroup
protected int buttonsPerGroup
-
-
Constructor Details
-
StatusBarPhaseDisplay
-
-
Method Details
-
getButtonList
Returns the list of buttons that should be displayed. -
setButtons
protected abstract void setButtons()set button that should be displayed. -
createButton
-
setButtonsTooltips
protected abstract void setButtonsTooltips()set button tool tips that should be displayed. -
createToolTip
-
setupButtonPanel
public void setupButtonPanel()Adds buttons to the button panel. The buttons to be added are retrieved with thegetButtonList()method. The number of buttons to display is defined inbuttonsPerGroupand which group of buttons will be displayed is set bycurrentButtonGroup. -
setupDonePanel
-
addToDonePanel
-
clear
public abstract void clear()Clears the actions of this phase. Called usually when the ESC key is pressed. -
setupStatusBar
Sets up the status bar. It usually displays info on the current phase and if it's the local player's turn. -
setStatusBarText
-
preferenceChange
- Specified by:
preferenceChangein interfaceIPreferenceChangeListener
-
shouldReceiveKeyCommands
public boolean shouldReceiveKeyCommands()Description copied from interface:KeyBindReceiverThis method should return true when this KeyBindReceiver is in a state to receive the keybind and may react to it, false otherwise. This should return false when the receiver is hidden, inactive or behind a modal dialog. It should return true when it would be expected to act on a keybind, i.e. when it has the appearance of being in focus.When this method returns false, this receiver will not be counted as having consumed the key press.
- Specified by:
shouldReceiveKeyCommandsin interfaceKeyBindReceiver- Returns:
- True when the receiver is in a state to receive the keybind and may react to it. False otherwise.
-
startTimer
public void startTimer() -
stopTimer
public void stopTimer() -
extendTimer
public void extendTimer() -
isTimerExpired
public boolean isTimerExpired()- Returns:
- True when there is a turn timer, and it has expired, false when there was no turn timer, or it has not yet expired.
-
getRemainingPlayerWithTurns
-
setStatusBarWithNotDonePlayers
public void setStatusBarWithNotDonePlayers() -
playerNameOrUnknown
-