|
|||||||||
| Home >> All >> cgsuite >> [ extras overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
cgsuite.extras
Class StaggerEditorPanel

java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
cgsuite.plugin.EditorPanel
cgsuite.extras.StaggerEditorPanel
- All Implemented Interfaces:
- javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable
- public class StaggerEditorPanel
- extends cgsuite.plugin.EditorPanel
- implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener
- extends cgsuite.plugin.EditorPanel
An editor panel for a single instance of Stagger. We will get to multiple instances later. At present, if we can perform any edit we like. Clicking once on the piece changes its orientation. Dragging it moves it to a new location. A double-click writes it to the tree ('finished editing'). The move/new decision is made for you.
| Nested Class Summary |
| Nested classes inherited from class javax.swing.JPanel |
javax.swing.JPanel.AccessibleJPanel |
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
java.awt.Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
| Field Summary | |
private boolean |
dragging
Whether there is a piece drag going on right now |
private StaggerPosition |
firstGame
We keep track of the first game to establish whether moves are legal or not. |
private int |
maxNorth
The index of the largest north square that must be displayed. |
private int |
maxWest
The index of the largest west square that must be displayed. |
private int |
offset
Offset from the edge of the panel to the start of the board |
private int |
squareSize
|
| Fields inherited from class cgsuite.plugin.EditorPanel |
EDIT_STATE_PROPERTY |
| Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Container |
|
| Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
StaggerEditorPanel()
The basic constructor. |
|
| Method Summary | |
private void |
alterGame(cgsuite.Game game)
Change the game being edited, but without finishing the edit. |
void |
editExistingGame(cgsuite.Game game)
As well as setting the game, set the maximum sizes for the board, so that it will display properly. |
private StaggerPosition |
game()
Avoids a whole lot of casts that make the code unreadable |
private java.awt.Dimension |
getSquareForPoint(int x,
int y)
Return the indices of the square that contains the point, or null if it is outside the board. |
void |
mouseClicked(java.awt.event.MouseEvent me)
A single click on the square containing the piece toggles its direction. |
void |
mouseDragged(java.awt.event.MouseEvent me)
Move the piece to the specified cell. |
void |
mouseEntered(java.awt.event.MouseEvent me)
This method is called when the mouse enters a component. |
void |
mouseExited(java.awt.event.MouseEvent me)
This method is called when the mouse exits a component. |
void |
mouseMoved(java.awt.event.MouseEvent me)
This method is called when the mouse is moved over a component while no button is pressed. |
void |
mousePressed(java.awt.event.MouseEvent me)
This method is called when the mouse is pressed over a component. |
void |
mouseReleased(java.awt.event.MouseEvent me)
Dragging must stop now: set dragging to false |
void |
paintComponent(java.awt.Graphics _g)
Paint the thing. |
private void |
updateMaxSize()
Set the maximum size to the maximum of its previous value and the maximum needed to successfully display the game. |
| Methods inherited from class javax.swing.JPanel |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
squareSize
private int squareSize
offset
private int offset
- Offset from the edge of the panel to the start of the board
maxNorth
private int maxNorth
- The index of the largest north square that must be displayed.
maxWest
private int maxWest
- The index of the largest west square that must be displayed.
firstGame
private StaggerPosition firstGame
- We keep track of the first game to establish whether moves are
legal or not.
dragging
private boolean dragging
- Whether there is a piece drag going on right now
| Constructor Detail |
StaggerEditorPanel
public StaggerEditorPanel()
- The basic constructor. Game is null.
| Method Detail |
game
private StaggerPosition game()
- Avoids a whole lot of casts that make the code unreadable
editExistingGame
public void editExistingGame(cgsuite.Game game)
- As well as setting the game, set the maximum sizes for the
board, so that it will display properly.
alterGame
private void alterGame(cgsuite.Game game)
- Change the game being edited, but without finishing the edit.
This is the internal edit, before the editing session is
completed.
paintComponent
public void paintComponent(java.awt.Graphics _g)
- Paint the thing. If there is a game there, draw it.
updateMaxSize
private void updateMaxSize()
- Set the maximum size to the maximum of its previous value and
the maximum needed to successfully display the game. Also set
preferred size to values based on these, for the scrollbar
display.
This method should be called every time the game is updated.
getSquareForPoint
private java.awt.Dimension getSquareForPoint(int x, int y)
- Return the indices of the square that contains the point, or
null if it is outside the board. If it is outside the drawn
board but in the right direction (south or east) return the
index.
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent me)
- A single click on the square containing the piece toggles its
direction. A double click anywhere else adds the game to the
tree. A double click on the piece does not add it to the tree
but may toggle twice... best to avoid it.
- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent me)
- Move the piece to the specified cell. However we don't want to
skip, so only do this if the piece has been picked up.
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent me)
- Dragging must stop now: set dragging to false
- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
mousePressed
public void mousePressed(java.awt.event.MouseEvent me)
- Description copied from interface:
java.awt.event.MouseListener - This method is called when the mouse is pressed over a component.
- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent me)
- Description copied from interface:
java.awt.event.MouseMotionListener - This method is called when the mouse is moved over a component
while no button is pressed.
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent me)
- Description copied from interface:
java.awt.event.MouseListener - This method is called when the mouse enters a component.
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
mouseExited
public void mouseExited(java.awt.event.MouseEvent me)
- Description copied from interface:
java.awt.event.MouseListener - This method is called when the mouse exits a component.
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
|
|||||||||
| Home >> All >> cgsuite >> [ extras overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC