Package net.sf.colossus.gui
Class EngagementResults
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- net.sf.colossus.guiutil.KDialog
-
- net.sf.colossus.gui.EngagementResults
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants
final class EngagementResults extends KDialog
Post-engagement status dialog. It collects the results of all battles that are send by 'addData()`.- Author:
- Towi, David Ripton
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classEngagementResults.EngagementStores information about an engagement.-
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
-
-
Field Summary
Fields Modifier and Type Field Description private booleanadvanceToLastprivate javax.swing.JLabelattackerIdLabelprivate intcurrentprivate javax.swing.JLabeldefenderIdLabelprivate java.util.List<EngagementResults.Engagement>engagementLogprivate javax.swing.JButtonfirstButtonprivate javax.swing.JButtonlastButtonprivate intlastSeenprivate booleanmoveNextprivate javax.swing.JButtonnextButtonprivate IOptionsoptionsprivate IOracleoracleprivate javax.swing.JPanelpanelCenterprivate javax.swing.JButtonprevButtonprivate javax.swing.JLabelresultLabelprivate SaveWindowsaveWindowprivate javax.swing.JLabelsummaryLabel-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description EngagementResults(javax.swing.JFrame frame, IOracle oracle, IOptions options)Inits the dialog, not opens it.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddData(Legion winner, java.lang.String method, int points, int turns, java.util.List<java.lang.String> attackerStartingContents, java.util.List<java.lang.String> defenderStartingContents, java.util.List<java.lang.Boolean> attackerStartingCertainities, java.util.List<java.lang.Boolean> defenderStartingCertainities, boolean attackersTurn)Adds a log record to the list of logged engagements.private java.awt.ComponentcreateLegionComponent(Legion legion, java.util.List<java.lang.String> imageNames, java.util.List<java.lang.Boolean> certainList, boolean isDefender)voiddispose()(package private) voidmaybeShow()private voidsetupGUI()like toString into a swing component.voidsetVisible(boolean visible)private voidshowCurrent()-
Methods inherited from class net.sf.colossus.guiutil.KDialog
assertEDT, centerOnScreen, centerOnScreen, getUpperRightCorner, lowerRightCorner, placeRelative, useSaveWindow
-
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, 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, 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
-
-
-
-
Field Detail
-
oracle
private IOracle oracle
-
options
private IOptions options
-
current
private int current
-
lastSeen
private int lastSeen
-
engagementLog
private final java.util.List<EngagementResults.Engagement> engagementLog
-
saveWindow
private final SaveWindow saveWindow
-
firstButton
private javax.swing.JButton firstButton
-
prevButton
private javax.swing.JButton prevButton
-
nextButton
private javax.swing.JButton nextButton
-
lastButton
private javax.swing.JButton lastButton
-
summaryLabel
private javax.swing.JLabel summaryLabel
-
resultLabel
private javax.swing.JLabel resultLabel
-
attackerIdLabel
private javax.swing.JLabel attackerIdLabel
-
defenderIdLabel
private javax.swing.JLabel defenderIdLabel
-
panelCenter
private javax.swing.JPanel panelCenter
-
moveNext
private boolean moveNext
-
advanceToLast
private boolean advanceToLast
-
-
Method Detail
-
addData
void addData(Legion winner, java.lang.String method, int points, int turns, java.util.List<java.lang.String> attackerStartingContents, java.util.List<java.lang.String> defenderStartingContents, java.util.List<java.lang.Boolean> attackerStartingCertainities, java.util.List<java.lang.Boolean> defenderStartingCertainities, boolean attackersTurn)
Adds a log record to the list of logged engagements. Now the dialog moves to the new engagement if either - the engagement happens in the attacker's turn - it is the first one after the attacker's turn The idea behind this design is that the dialog content moves along with the player when the player is in charge of the game tempo, but if the player is only passive the engagements stop moving until the player takes control by either continuing to play or by clicking the next button. TODO: see if xxxStartingCertainities can somehow get values of better quality.- Parameters:
attackerStartingContents- - imagew names, result from oracle.getLegionImageNamesdefenderStartingContents- - imagew names, result from oracle.getLegionImageNamesattackerStartingCertainities- - list of Booleans, for overlay ?-marksdefenderStartingCertainities- - list of Booleans, for overlay ?-marksattackersTurn- should be set to true if the engagement happened in the attackers master board turn. The engagement dialog will be moved to this engagement, the same will happen with the next
-
setupGUI
private void setupGUI()
like toString into a swing component. the current rough layout is:### Content:BorderLayout ######################## # +--North:GridLayout(n,1)--------------------+ # # | Label_1 | # # | Label_2 | # # | ... | # # | Label_n | # # +-------------------------------------------+ # #===============================================# # +West:Grid(4,1)-+ % +-Center:Grid(4,1)----+ # # | Label_bef_att | % | ImageList_bef_att | # # | Label_bef_def | % | ImageList_bef_def | # # | Label_aft_att | % | ImageList_aft_att | # # | Label_aft_def | % | ImageList_aft_def | # # +---------------+ % +---------------------+ # #===============================================# # +-South:FlowLayout(left)--------------------+ # # | -buttons- | # # +-------------------------------------------+ # #################################################
-
createLegionComponent
private java.awt.Component createLegionComponent(Legion legion, java.util.List<java.lang.String> imageNames, java.util.List<java.lang.Boolean> certainList, boolean isDefender)
-
showCurrent
private void showCurrent()
-
maybeShow
void maybeShow()
-
setVisible
public void setVisible(boolean visible)
- Overrides:
setVisiblein classKDialog
-
-