standup.clouds
Class CloudButtonTopic

java.lang.Object
  extended by standup.clouds.EntityAnimatedInteractive
      extended by standup.clouds.EntityAnimatedInteractiveBubbleLabel
          extended by standup.clouds.CloudButton
              extended by standup.clouds.CloudButtonTopic
All Implemented Interfaces:
Entity, EntityAnimated
Direct Known Subclasses:
CloudButtonTopicWordChooser

public class CloudButtonTopic
extends CloudButton

A CloudButton that, when selected by the user, displays the various subtopics of a given Topic along the periphery, and an option to get jokes on said topic in the centre.

Author:
Ruli Manurung

Nested Class Summary
 
Nested classes/interfaces inherited from class standup.clouds.CloudButton
CloudButton.LineMode
 
Field Summary
private  CloudLabel messagePrefix
           
protected  Topic topic
           
 
Fields inherited from class standup.clouds.CloudButton
message, progressMapStage
 
Fields inherited from class standup.clouds.EntityAnimatedInteractiveBubbleLabel
bubbleLabel, cloudLabelLayout, myShape
 
Fields inherited from class standup.clouds.EntityAnimatedInteractive
containingPanel, frontend
 
Constructor Summary
CloudButtonTopic(CloudFrontend f, CloudButton _parent, CloudLabel bl, CloudLabel _messagePrefix, CloudLabel help, Topic t)
           
 
Method Summary
 Milestone executeClick()
           This is the default action that is performed when a CloudButton is clicked, i.e.: Perform the appropriate animations: 'shrink' siblings, move to centre, 'grow' children, and Update progress map if necessary, and Return a Milestone representing the user's interaction choice.
(package private)  CloudButton getCentreLubble()
           
 String getLogFileText()
           
 int getMaxChildrenDisplay()
           
 Dimension getRingSize(Dimension bubbleBrowserDimension)
          This method returns the Dimension that determines the size of this Lubble in the BubbleBrowser when it is a peripheral child.
(package private)  CloudButton getSubTopicLubble(CloudLabel bl, CloudLabel _msgp, Topic t)
           
 Topic getTopic()
           
 
Methods inherited from class standup.clouds.CloudButton
clicked, getCentreChild, getCentreSize, getMessage, getOffsetAngle, getParent, getPeripheralChildren, layoutCloudLabel, prepareForAnimation, removeChild, setCentreChild, setLocation, setMessage, setPeripheralChildren, setSize, showMessage, showMessage, step
 
Methods inherited from class standup.clouds.EntityAnimatedInteractiveBubbleLabel
contains, draw, getBubbleLabel, getCurrentDimension, getCurrentLocation, getSpeechText
 
Methods inherited from class standup.clouds.EntityAnimatedInteractive
dehighlight, getHelpText, highlight, isHighlighted, speakSpeechText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messagePrefix

private final CloudLabel messagePrefix

topic

protected Topic topic
Constructor Detail

CloudButtonTopic

public CloudButtonTopic(CloudFrontend f,
                        CloudButton _parent,
                        CloudLabel bl,
                        CloudLabel _messagePrefix,
                        CloudLabel help,
                        Topic t)
Method Detail

getLogFileText

public String getLogFileText()
Specified by:
getLogFileText in class EntityAnimatedInteractive

getMaxChildrenDisplay

public int getMaxChildrenDisplay()
Overrides:
getMaxChildrenDisplay in class CloudButton

getCentreLubble

CloudButton getCentreLubble()

getSubTopicLubble

CloudButton getSubTopicLubble(CloudLabel bl,
                              CloudLabel _msgp,
                              Topic t)

getTopic

public Topic getTopic()

executeClick

public Milestone executeClick()
Description copied from class: CloudButton

This is the default action that is performed when a CloudButton is clicked, i.e.:

Override this method if: -- you want this Lubble to perform other things when first clicked, e.g. joke generation (make sure to call super.getMilestone to return the Milestone!) -- you just want to perform some stuff that doesn't end up as a Milestone on the HistoryCoordinator (make sure to return null)

Overrides:
executeClick in class CloudButton
Returns:

getRingSize

public Dimension getRingSize(Dimension bubbleBrowserDimension)
Description copied from class: CloudButton
This method returns the Dimension that determines the size of this Lubble in the BubbleBrowser when it is a peripheral child. Since the BubbleBrowser window size itself is a factor, it is passed as a parameter here.

Overrides:
getRingSize in class CloudButton
Parameters:
bubbleBrowserDimension - The Dimension of the BubbleBrowser this Lubble appears in
Returns:
The Dimension of this Lubble when appearing on the BubbleBrowser peripheral ring/ellipse