com.threerings.stage.client

## Class StageScenePanel

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - com.threerings.media.MediaPanel
        - - com.threerings.media.VirtualMediaPanel
          - - com.threerings.miso.client.MisoScenePanel
            - - 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

Fields
`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

Constructors
Constructor and Description
`StageScenePanel(StageContext ctx, Controller ctrl)` Constructs a stage scene view panel.

### Method Summary

All Methods Instance Methods Concrete Methods
`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, 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, hide, 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, 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, getAccessibleContext, 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, 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, transferFocusBackward, 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.