Class EventViewer

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    final class EventViewer
    extends KDialog
    Event Revealing dialog. It collects all revealed events and displays all or only the recent ones of them.
    Author:
    Clemens Katzer
    • Nested Class Summary

      • 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      EventViewer​(javax.swing.JFrame frame, IOptions options, Client client)
      Inits the dialog, not necessarily displays it.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void addCheckbox​(java.lang.String optname, java.awt.Container pane)  
      void addCreature​(Legion legion, CreatureType type, java.lang.String reason)  
      void addEvent​(RevealEvent e)  
      private void addEventToEventPane​(RevealEvent e)  
      private void addEventToList​(RevealEvent e)  
      void cancelReinforcement​(CreatureType creature, int turn)  
      void cleanup()  
      private void displayFromQueue()  
      void dispose()  
      private Player getActivePlayer()  
      private boolean getBoolOption​(java.lang.String name, boolean defaultVal)  
      private void initExpireTurnsFromOptions()  
      private boolean isEventRelevant​(RevealEvent e)  
      private boolean isEventTooOld​(RevealEvent e)  
      void newCreatureRevealEvent​(int eventType, Legion legion1, CreatureType creature, Legion legion2)  
      private void newEvent​(int eventType, Legion legion1, java.util.ArrayList<RevealedCreature> rcList, Legion legion2)  
      private void newRollEvent​(int eventType, int roll1, int roll2)  
      void newSplitEvent​(int turnNr, Legion legion1, java.util.ArrayList<RevealedCreature> rcList, Legion legion2)  
      private void postAddEventActions()  
      void purgeOldEvents()  
      private void queueForDisplaying​(javax.swing.JPanel eventPanel)  
      private void queueSignalRemoveAllForDisplaying()
      Remove all pending events, and queue a null event to signal the displayer to remove all from panel first before adding again.
      void recruitEvent​(Legion legion, CreatureType recruit, java.util.List<CreatureType> recruiters, java.lang.String reason)  
      void removeCreature​(Legion legion, CreatureType type, java.lang.String reason)  
      void revealCreatures​(Legion legion, java.util.List<CreatureType> creatureTypes, java.lang.String reason)  
      void revealEngagedCreatures​(java.util.List<CreatureType> creatures, boolean isAttacker, java.lang.String reason)  
      void setCreatureDead​(BattleUnit battleUnit)  
      void setMulliganOldRoll​(int roll)  
      private void setupGUI()  
      void setVisible​(boolean visible)  
      void setVisibleMaybe()  
      void tellEngagement​(Legion attacker, Legion defender, int turnNumber)  
      void tellEngagementResults​(Legion winner, java.lang.String method, int turns)  
      void tellMovementRoll​(int roll)  
      private void triggerDisplaying()  
      void turnOrPlayerChange​(int turnNr, Player player)  
      void undoEvent​(int type, Legion parent, Legion child, int turn)  
      private void updatePanels​(boolean forceAll)  
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • client

        private Client client
      • visible

        private boolean visible
      • eventList

        private final java.util.List<RevealEvent> eventList
      • bookmark

        private int bookmark
      • displayQueue

        private final java.util.List<javax.swing.JPanel> displayQueue
      • turnNr

        private int turnNr
      • currentPlayer

        private Player currentPlayer
      • expireTurns

        private int expireTurns
      • maxString

        private java.lang.String maxString
      • eventPane

        private java.awt.Container eventPane
      • settingsPane

        private javax.swing.Box settingsPane
      • eventScrollPane

        private javax.swing.JScrollPane eventScrollPane
      • eventScrollBar

        private javax.swing.JScrollBar eventScrollBar
      • showEventType

        private final boolean[] showEventType
      • autoScroll

        private boolean autoScroll
      • hideUndoneEvents

        private boolean hideUndoneEvents
      • maxTurnsDisplayExpiringBox

        private javax.swing.JComboBox maxTurnsDisplayExpiringBox
      • maxTurns

        private int maxTurns
      • mulliganOldRoll

        private int mulliganOldRoll
      • attacker

        private Legion attacker
      • defender

        private Legion defender
      • attackerEventLegion

        private RevealEvent attackerEventLegion
      • defenderEventLegion

        private RevealEvent defenderEventLegion
      • lastAttackerEventLegion

        private RevealEvent lastAttackerEventLegion
      • lastDefenderEventLegion

        private RevealEvent lastDefenderEventLegion
    • Constructor Detail

      • EventViewer

        EventViewer​(javax.swing.JFrame frame,
                    IOptions options,
                    Client client)
        Inits the dialog, not necessarily displays it.
        Parameters:
        frame - is the parent window frame (MasterBoard)
        options - IOptions reference to the client
        client - The client, needed to ask all kind of info
    • Method Detail

      • initExpireTurnsFromOptions

        private void initExpireTurnsFromOptions()
      • getBoolOption

        private boolean getBoolOption​(java.lang.String name,
                                      boolean defaultVal)
      • addCheckbox

        private void addCheckbox​(java.lang.String optname,
                                 java.awt.Container pane)
      • setupGUI

        private void setupGUI()
      • isEventTooOld

        private boolean isEventTooOld​(RevealEvent e)
      • isEventRelevant

        private boolean isEventRelevant​(RevealEvent e)
      • queueForDisplaying

        private void queueForDisplaying​(javax.swing.JPanel eventPanel)
      • queueSignalRemoveAllForDisplaying

        private void queueSignalRemoveAllForDisplaying()
        Remove all pending events, and queue a null event to signal the displayer to remove all from panel first before adding again.
      • displayFromQueue

        private void displayFromQueue()
      • postAddEventActions

        private void postAddEventActions()
      • addEventToEventPane

        private void addEventToEventPane​(RevealEvent e)
      • addEventToList

        private void addEventToList​(RevealEvent e)
      • triggerDisplaying

        private void triggerDisplaying()
      • updatePanels

        private void updatePanels​(boolean forceAll)
      • getActivePlayer

        private Player getActivePlayer()
      • newRollEvent

        private void newRollEvent​(int eventType,
                                  int roll1,
                                  int roll2)
      • turnOrPlayerChange

        public void turnOrPlayerChange​(int turnNr,
                                       Player player)
      • setMulliganOldRoll

        public void setMulliganOldRoll​(int roll)
      • tellMovementRoll

        public void tellMovementRoll​(int roll)
      • tellEngagement

        public void tellEngagement​(Legion attacker,
                                   Legion defender,
                                   int turnNumber)
      • tellEngagementResults

        public void tellEngagementResults​(Legion winner,
                                          java.lang.String method,
                                          int turns)
      • newCreatureRevealEvent

        public void newCreatureRevealEvent​(int eventType,
                                           Legion legion1,
                                           CreatureType creature,
                                           Legion legion2)
      • newSplitEvent

        public void newSplitEvent​(int turnNr,
                                  Legion legion1,
                                  java.util.ArrayList<RevealedCreature> rcList,
                                  Legion legion2)
      • revealCreatures

        public void revealCreatures​(Legion legion,
                                    java.util.List<CreatureType> creatureTypes,
                                    java.lang.String reason)
      • revealEngagedCreatures

        public void revealEngagedCreatures​(java.util.List<CreatureType> creatures,
                                           boolean isAttacker,
                                           java.lang.String reason)
      • addCreature

        public void addCreature​(Legion legion,
                                CreatureType type,
                                java.lang.String reason)
      • cancelReinforcement

        public void cancelReinforcement​(CreatureType creature,
                                        int turn)
      • removeCreature

        public void removeCreature​(Legion legion,
                                   CreatureType type,
                                   java.lang.String reason)
      • recruitEvent

        public void recruitEvent​(Legion legion,
                                 CreatureType recruit,
                                 java.util.List<CreatureType> recruiters,
                                 java.lang.String reason)
      • setCreatureDead

        public void setCreatureDead​(BattleUnit battleUnit)
      • undoEvent

        public void undoEvent​(int type,
                              Legion parent,
                              Legion child,
                              int turn)
      • purgeOldEvents

        public void purgeOldEvents()
      • cleanup

        public void cleanup()
      • dispose

        public void dispose()
        Overrides:
        dispose in class KDialog
      • setVisibleMaybe

        public void setVisibleMaybe()
      • setVisible

        public void setVisible​(boolean visible)
        Overrides:
        setVisible in class KDialog