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, updateBordergetAccessibleContext, getUI, getUIClassID, setUI, updateUIaddAncestorListener, 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, updateadd, 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, validateaction, 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, transferFocusUpCyclepublic 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()
ControllergetName in class Controllerpublic javax.swing.JComponent getComponent()
ControllablegetComponent in interface ControllablegetComponent in class Controllerpublic 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.KeyListenerpublic final void keyReleased(java.awt.event.KeyEvent e)
keyReleased in interface java.awt.event.KeyListenerpublic final void keyTyped(java.awt.event.KeyEvent e)
keyTyped in interface java.awt.event.KeyListenerpublic final void mousePressed(java.awt.event.MouseEvent e)
mousePressed in interface java.awt.event.MouseListenerpublic final void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged in interface java.awt.event.MouseMotionListenerpublic final void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased in interface java.awt.event.MouseListenerpublic final void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved in interface java.awt.event.MouseMotionListenerpublic final void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked in interface java.awt.event.MouseListenerpublic final void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered in interface java.awt.event.MouseListenerpublic final void mouseExited(java.awt.event.MouseEvent e)
mouseExited in interface java.awt.event.MouseListenerpublic final void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
mouseWheelMoved in interface java.awt.event.MouseWheelListenerpublic boolean wasPopupTriggered()
public void showPopup(javax.swing.JPopupMenu popup)
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
popupMenuWillBecomeVisible in interface javax.swing.event.PopupMenuListenerpublic void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
popupMenuWillBecomeInvisible in interface javax.swing.event.PopupMenuListenerpublic void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
popupMenuCanceled in interface javax.swing.event.PopupMenuListener