com.threerings.stage.client
Class StageScenePanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.threerings.media.MediaPanel
                  extended by com.threerings.media.VirtualMediaPanel
                      extended by com.threerings.miso.client.MisoScenePanel
                          extended by com.threerings.stage.client.StageScenePanel
All Implemented Interfaces:
ControllerProvider, RadialMenu.Host, com.threerings.crowd.client.PlaceView, com.threerings.media.FrameParticipant, com.threerings.media.MediaConstants, com.threerings.media.MediaHost, com.threerings.media.util.AStarPathUtil.TraversalPred, KeyListener, MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener
Direct Known Subclasses:
EditorScenePanel, ViewerScenePanel

public class StageScenePanel
extends com.threerings.miso.client.MisoScenePanel
implements ControllerProvider, KeyListener, com.threerings.crowd.client.PlaceView

Extends the basic Miso scene panel with Stage fun stuff like portals, clusters and locations.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.threerings.media.MediaPanel
com.threerings.media.MediaPanel.Obscurer
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
 
Field Summary
static String CLUSTER_CLICKED
          An action command generated when a cluster is clicked.
static String LOCATION_CLICKED
          An action command generated when the user clicks on a location within the scene.
static int SHOW_CLUSTERS
          Show flag that indicates we should show all clusters.
static int SHOW_PLOTS
          Show flag that indicates we should render known land plots (expensive, don't turn this on willy nilly).
 
Fields inherited from class com.threerings.miso.client.MisoScenePanel
SHOW_TIPS
 
Fields inherited from class com.threerings.media.VirtualMediaPanel
CENTER_ON_PATHABLE, ENCLOSE_PATHABLE, TRACK_PATHABLE
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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 com.threerings.media.MediaConstants
ALL, BACK, FRONT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
StageScenePanel(StageContext ctx, Controller ctrl)
          Constructs a stage scene view panel.
 
Method Summary
 void didLeavePlace(com.threerings.crowd.data.PlaceObject plobj)
           
 SceneColorizer getColorizer()
          Get the tileset colorizer in use in this scene.
 Controller getController()
           
 Portal getPortal(int fullX, int fullY)
          Returns the portal at the specified full coordinates or null if no portal exists at said coordinates.
 StageScene getScene()
          Returns the scene being displayed by this panel.
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
           
 boolean removeCluster(int clusterOid)
          Removes the specified cluster from the view.
 void sceneUpdated(SceneUpdate update)
          Called when we have received a scene update from the server.
 void setScene(StageScene scene)
          Sets the scene managed by the panel.
 void updateCluster(Cluster cluster, Rectangle bounds)
          Adds or updates the specified cluster in the view.
 void willEnterPlace(com.threerings.crowd.data.PlaceObject plobj)
           
 
Methods inherited from class com.threerings.miso.client.MisoScenePanel
addNotify, canTraverse, centerOnTile, checkShowFlag, clearRadialMenu, computeIndicators, computeInfluentialBounds, enumerateResolvedBlocks, getBlock, getComponent, getFullCoords, getHoverCoords, getHoverObject, getPath, getSceneMetrics, getSceneModel, getScreenCoords, getTileCoords, getViewBounds, menuDeactivated, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, paint, pressObject, refreshScene, removeNotify, repaintRect, reportMemoryUsage, setBounds, setSceneModel, setShowFlags
 
Methods inherited from class com.threerings.media.VirtualMediaPanel
addViewTracker, clearPathable, doLayout, removeViewTracker, setBackground, setFollowsPathable, setViewLocation
 
Methods inherited from class com.threerings.media.MediaPanel
abortAnimation, addAnimation, addObscurer, addSprite, clearAnimations, clearSprites, createGraphics, getAnimationManager, getRegionManager, getSpriteManager, getTimeStamp, isManaged, isManaged, needsPaint, removeObscurer, removeSprite, repaint, setOpaque, setPaused, tick
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, 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, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOCATION_CLICKED

public static final String LOCATION_CLICKED
An action command generated when the user clicks on a location within the scene.

See Also:
Constant Field Values

CLUSTER_CLICKED

public static final String CLUSTER_CLICKED
An action command generated when a cluster is clicked.

See Also:
Constant Field Values

SHOW_CLUSTERS

public static final int SHOW_CLUSTERS
Show flag that indicates we should show all clusters.

See Also:
Constant Field Values

SHOW_PLOTS

public static final int SHOW_PLOTS
Show flag that indicates we should render known land plots (expensive, don't turn this on willy nilly).

See Also:
Constant Field Values
Constructor Detail

StageScenePanel

public StageScenePanel(StageContext ctx,
                       Controller ctrl)
Constructs a stage scene view panel.

Method Detail

getColorizer

public SceneColorizer getColorizer()
Get the tileset colorizer in use in this scene.


getScene

public StageScene getScene()
Returns the scene being displayed by this panel. Do not modify it.


setScene

public void setScene(StageScene scene)
Sets the scene managed by the panel.


sceneUpdated

public void sceneUpdated(SceneUpdate update)
Called when we have received a scene update from the server.


getController

public Controller getController()
Specified by:
getController in interface ControllerProvider

keyPressed

public void keyPressed(KeyEvent e)
Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent e)
Specified by:
keyReleased in interface KeyListener

willEnterPlace

public void willEnterPlace(com.threerings.crowd.data.PlaceObject plobj)
Specified by:
willEnterPlace in interface com.threerings.crowd.client.PlaceView

didLeavePlace

public void didLeavePlace(com.threerings.crowd.data.PlaceObject plobj)
Specified by:
didLeavePlace in interface com.threerings.crowd.client.PlaceView

keyTyped

public void keyTyped(KeyEvent e)
Specified by:
keyTyped in interface KeyListener

updateCluster

public void updateCluster(Cluster cluster,
                          Rectangle bounds)
Adds or updates the specified cluster in the view. Metrics will be created that allow the cluster to be rendered and hovered over.

Parameters:
cluster - the cluster record to be added.
bounds - the screen coordinates that bound the occupants of the cluster.

removeCluster

public boolean removeCluster(int clusterOid)
Removes the specified cluster from the view.

Returns:
true if such a cluster existed and was removed.

getPortal

public Portal getPortal(int fullX,
                        int fullY)
Returns the portal at the specified full coordinates or null if no portal exists at said coordinates.



Copyright © 2011. All Rights Reserved.