source.ucregents.playground.gui
Class EditorPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by source.ucregents.playground.physics.BaseDisplayPanel
                      extended by source.ucregents.playground.gui.EditorPanel
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public final class EditorPanel
extends BaseDisplayPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener

The Editor Panel contains all of the entity data. When the arena panel is launched, these data are registered with the Arena.

Copyright: Copyright (c) 2006

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 BaseEntity copiedEntity
           
 BaseEntity selectedEntity
           
static int VEL_DRAW_SCALE
           
static int VEL_DRAW_STROKE
           
 
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.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
EditorPanel()
          Constructs the Panel by Initializing its components (jbInit).
EditorPanel(java.awt.Dimension d)
          Constructs a Panel of the given size
 
Method Summary
 java.awt.event.MouseEvent adjustMouseEventForZoom(java.awt.event.MouseEvent e)
           
protected  boolean clickedOnAxesOrigin(int x, int y)
          Determines if given coordinates constitute a click on the axes origin.
protected  boolean clickedOnCenterOfSelectedEntity(int x, int y)
          Determine whether a given set of coordinates correspond with the center of an entity.
protected  void clickInEntity(BaseEntity b)
          Called when an object has been clicked.
protected  void DrawEntity(BaseEntity entity, java.awt.Graphics2D g2d)
           
 java.awt.Point findOffset(BaseEntity b, int x, int y)
          Finds the difference in the x and y direction of where the mouse clicked in an entity and the entity's Upper-left corner.
protected  BaseEntity getClickedInEntity(int x, int y)
          Returns which entity was clicked into
 java.awt.Graphics2D getGraphics2D()
          Retrieve the Graphics2d version of the graphics context, if applicable
 java.awt.Color getGridColor()
           
 int getGridWidth()
           
 java.lang.String getMode()
           
protected  javax.swing.JPopupMenu getRightClickInEntityMenu()
           
 void InternalEntityUnregistration(BaseEntity removeEntity)
          Unregisters an entity with the Panel, the entity will be removed after every other entity has been moved and drawn.
 void keyPressed(java.awt.event.KeyEvent k)
           
 void keyReleased(java.awt.event.KeyEvent k)
           
 void keyTyped(java.awt.event.KeyEvent k)
           
 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)
           
 boolean mouseOnEntityCorners(int x, int y)
          Determine if a given set of coordinates are within a certain area that would correspond to the edges or corner of an object.
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void PanelDrawAfter(java.awt.Graphics2D g2d)
           
protected  void PanelDrawBefore(java.awt.Graphics2D g2d)
           
protected  void Populate()
          Adds initial items to the Panel, called first and mostly for testing
 void setGlobalMousePosition(java.awt.event.MouseEvent e)
          Sets the current mouse position.
 void setGridColor(java.awt.Color gColor)
           
 void setGridWidth(int gWidth)
           
 void setMode(java.lang.String m)
           
 java.lang.String toString()
           
 
Methods inherited from class source.ucregents.playground.physics.BaseDisplayPanel
depopulate, getAxesOrigin, getBackgroundColor, getClonedEntities, getDrawAxes, getEntities, GetEntitiesInRange, GetEntitiesInRange, getZoomLevel, InternalEntityRegistration, IntersectsWithAnything, isVerbose, paintComponent, ProcessQueues, RegisterEntities, RegisterEntity, repopulate, setAxesOrigin, setBackgroundColor, setDrawAxes, setVerbose, setZoomLevel, UnregisterEntity
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, 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, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, 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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

copiedEntity

public BaseEntity copiedEntity

selectedEntity

public BaseEntity selectedEntity

VEL_DRAW_SCALE

public static final int VEL_DRAW_SCALE
See Also:
Constant Field Values

VEL_DRAW_STROKE

public static final int VEL_DRAW_STROKE
See Also:
Constant Field Values
Constructor Detail

EditorPanel

public EditorPanel()
Constructs the Panel by Initializing its components (jbInit). Uses default 660 by 500 size.


EditorPanel

public EditorPanel(java.awt.Dimension d)
Constructs a Panel of the given size

Parameters:
d - The size of the Arena to be created
Method Detail

adjustMouseEventForZoom

public java.awt.event.MouseEvent adjustMouseEventForZoom(java.awt.event.MouseEvent e)

clickedOnAxesOrigin

protected boolean clickedOnAxesOrigin(int x,
                                      int y)
Determines if given coordinates constitute a click on the axes origin.

Parameters:
x - x-Coordinate
y - y-Coordinate
Returns:
Whether or not the mouse clicked on origin

clickedOnCenterOfSelectedEntity

protected boolean clickedOnCenterOfSelectedEntity(int x,
                                                  int y)
Determine whether a given set of coordinates correspond with the center of an entity.

Parameters:
x - x-Coordinate
y - y-Coordinate
Returns:
Whether or not the coordinates are within the center of an entity

clickInEntity

protected void clickInEntity(BaseEntity b)
Called when an object has been clicked. Sends the object to the OPF and sends the object to the rt-click menu

Parameters:
b - Entity to send to the appropriate frames

DrawEntity

protected void DrawEntity(BaseEntity entity,
                          java.awt.Graphics2D g2d)
Overrides:
DrawEntity in class BaseDisplayPanel

findOffset

public java.awt.Point findOffset(BaseEntity b,
                                 int x,
                                 int y)
Finds the difference in the x and y direction of where the mouse clicked in an entity and the entity's Upper-left corner. This way, when an object is dragged by the mouse, the object doesn't jump the Upper-left point underneath the cursor.

Parameters:
b - Entity that is selected
x - x-Coordinate of the mouse
y - y-Coordinate of the mouse
Returns:
the delta X and delta Y from the mouse position and the UL-Point

getClickedInEntity

protected BaseEntity getClickedInEntity(int x,
                                        int y)
Returns which entity was clicked into

Parameters:
x - x-coordinate
y - y-coordinate
Returns:
BaseEntity object that was clicked into

getGraphics2D

public java.awt.Graphics2D getGraphics2D()
Retrieve the Graphics2d version of the graphics context, if applicable

Returns:
The Graphics2d context

getGridColor

public final java.awt.Color getGridColor()
Returns:
Returns the gridColor.

getGridWidth

public final int getGridWidth()
Returns:
Returns the gridWidth.

getMode

public java.lang.String getMode()

getRightClickInEntityMenu

protected javax.swing.JPopupMenu getRightClickInEntityMenu()

InternalEntityUnregistration

public void InternalEntityUnregistration(BaseEntity removeEntity)
Description copied from class: BaseDisplayPanel
Unregisters an entity with the Panel, the entity will be removed after every other entity has been moved and drawn.

Overrides:
InternalEntityUnregistration in class BaseDisplayPanel
Parameters:
removeEntity - The Entity to be removed

keyPressed

public void keyPressed(java.awt.event.KeyEvent k)
Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent k)
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent k)
Specified by:
keyTyped in interface java.awt.event.KeyListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseOnEntityCorners

public boolean mouseOnEntityCorners(int x,
                                    int y)
Determine if a given set of coordinates are within a certain area that would correspond to the edges or corner of an object. If within the edges or corners, change the cursor to the correct type of cursor. For use with resize ability.

Parameters:
x - x-Coordinate
y - y-Coordinate
Returns:
Whether or not the mouse is within the edges or corners

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

PanelDrawAfter

protected void PanelDrawAfter(java.awt.Graphics2D g2d)
Overrides:
PanelDrawAfter in class BaseDisplayPanel

PanelDrawBefore

protected void PanelDrawBefore(java.awt.Graphics2D g2d)
Overrides:
PanelDrawBefore in class BaseDisplayPanel

Populate

protected void Populate()
Adds initial items to the Panel, called first and mostly for testing

Overrides:
Populate in class BaseDisplayPanel

setGlobalMousePosition

public void setGlobalMousePosition(java.awt.event.MouseEvent e)
Sets the current mouse position. Called during mouse pressed, mouse move, and mouse drag events

Parameters:
e - The mouse event from which to extract its coordinates

setGridColor

public final void setGridColor(java.awt.Color gColor)
Parameters:
gColor - The gridColor to set.

setGridWidth

public final void setGridWidth(int gWidth)
Parameters:
gWidth - The gridWidth to set.

setMode

public void setMode(java.lang.String m)

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component