public abstract class PuzzleController<T extends PuzzleInstance> extends Controller implements java.awt.event.KeyListener, javax.swing.event.MouseInputListener, java.util.Observer, javax.swing.event.PopupMenuListener, java.awt.event.MouseWheelListener
Modifier and Type | Class and Description |
---|---|
static class |
PuzzleController.ScreenMode |
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
PuzzleController() |
Modifier and Type | Method and Description |
---|---|
java.awt.Point |
getClickedPoint() |
Vertex |
getClickedVertex() |
javax.swing.JComponent |
getComponent()
Implement as:
return this;
Stupid, but only way to get the job done.
|
PuzzleController.ScreenMode |
getMode() |
java.lang.String |
getName()
This should return the name of the game (from the problems table in the database) or the name of the table if it
is not a game table.
|
abstract void |
handleKeyPressed(int theKeyCode) |
abstract void |
handleKeyPressedWithCTRL(int theKeyCode) |
abstract void |
handleKeyTyped(char theKey) |
abstract void |
handleLCC(int extendedModifiers,
java.awt.Point clickedPoint) |
abstract void |
handleMouseWheel(java.awt.event.MouseWheelEvent e) |
abstract void |
handleMSLC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
abstract void |
handleMSRC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
abstract void |
handleOSLC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
abstract void |
handleOSRC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
abstract void |
handleRCC(int extendedModifiers,
java.awt.Point clickedPoint) |
abstract void |
handleZSLC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
abstract void |
handleZSRC(int extendedModifiers,
Vertex clickedVertex,
java.awt.Point clickedPoint) |
void |
init(StackedScreen g2,
T g,
GraphView v,
PuzzleController.ScreenMode mode) |
abstract boolean |
isMovingEnabled() |
abstract boolean |
isSelectingEnabled() |
void |
keyPressed(java.awt.event.KeyEvent e) |
void |
keyReleased(java.awt.event.KeyEvent e) |
void |
keyTyped(java.awt.event.KeyEvent e) |
void |
mouseClicked(java.awt.event.MouseEvent e) |
void |
mouseDragged(java.awt.event.MouseEvent e) |
void |
mouseEntered(java.awt.event.MouseEvent e) |
void |
mouseExited(java.awt.event.MouseEvent e) |
void |
mouseMoved(java.awt.event.MouseEvent e) |
void |
mousePressed(java.awt.event.MouseEvent e) |
void |
mouseReleased(java.awt.event.MouseEvent e) |
void |
mouseWheelMoved(java.awt.event.MouseWheelEvent e) |
void |
popupMenuCanceled(javax.swing.event.PopupMenuEvent e) |
void |
popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e) |
void |
popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e) |
void |
setPuzzleInstance(T game)
This method allows a new instance of a gameInstance class to be assigned to this controller
|
void |
showPopup(javax.swing.JPopupMenu popup) |
boolean |
wasPopupTriggered() |
cleanup, getControllerTitle, getHelpPanel, getNavigationPanel, init, showHelp, showProgessPanel, start, stop, update, updateBorder
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, getParent, getPeer, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public void init(StackedScreen g2, T g, GraphView v, PuzzleController.ScreenMode mode)
public abstract void handleLCC(int extendedModifiers, java.awt.Point clickedPoint)
public abstract void handleRCC(int extendedModifiers, java.awt.Point clickedPoint)
public abstract void handleZSLC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleZSRC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleOSLC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleOSRC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleMSLC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleMSRC(int extendedModifiers, Vertex clickedVertex, java.awt.Point clickedPoint)
public abstract void handleMouseWheel(java.awt.event.MouseWheelEvent e)
public abstract void handleKeyPressed(int theKeyCode)
public abstract void handleKeyPressedWithCTRL(int theKeyCode)
public abstract void handleKeyTyped(char theKey)
public abstract boolean isSelectingEnabled()
public abstract boolean isMovingEnabled()
public java.lang.String getName()
Controller
getName
in class Controller
public javax.swing.JComponent getComponent()
Controllable
getComponent
in interface Controllable
getComponent
in class Controller
public void setPuzzleInstance(T game)
game
- The instance of the game to be assignedpublic Vertex getClickedVertex()
public java.awt.Point getClickedPoint()
public PuzzleController.ScreenMode getMode()
public final void keyPressed(java.awt.event.KeyEvent e)
keyPressed
in interface java.awt.event.KeyListener
public final void keyReleased(java.awt.event.KeyEvent e)
keyReleased
in interface java.awt.event.KeyListener
public final void keyTyped(java.awt.event.KeyEvent e)
keyTyped
in interface java.awt.event.KeyListener
public final void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
public final void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged
in interface java.awt.event.MouseMotionListener
public final void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public final void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved
in interface java.awt.event.MouseMotionListener
public final void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public final void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public final void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
public final void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
mouseWheelMoved
in interface java.awt.event.MouseWheelListener
public boolean wasPopupTriggered()
public void showPopup(javax.swing.JPopupMenu popup)
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
popupMenuWillBecomeVisible
in interface javax.swing.event.PopupMenuListener
public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
popupMenuWillBecomeInvisible
in interface javax.swing.event.PopupMenuListener
public void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
popupMenuCanceled
in interface javax.swing.event.PopupMenuListener