ptolemy.domains.sr.lib.gui
Class ButtonTime

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.actor.lib.Source
                              extended by ptolemy.actor.lib.WallClockTime
                                  extended by ptolemy.domains.sr.lib.gui.ButtonTime
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Placeable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable

public class ButtonTime
extends WallClockTime
implements Placeable

Output the current wall clock time in response to a click of a button.

Since:
Ptolemy II 8.0
Version:
$Id: ButtonTime.java 57044 2010-01-27 22:41:05Z cxh $
Author:
Paul Whitaker
See Also:
Serialized Form
Accepted Rating:
Red (pwhitake)
Proposed Rating:
Red (pwhitake)

Nested Class Summary
(package private)  class ButtonTime.ButtonListener
           
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  javax.swing.JButton _button
           
private  boolean _buttonPressed
           
private  java.awt.Container _container
           
private  javax.swing.JFrame _frame
           
private  ButtonTime _self
           
 StringAttribute text
          The text to put on the button.
 
Fields inherited from class ptolemy.actor.lib.WallClockTime
passThrough
 
Fields inherited from class ptolemy.actor.lib.Source
output, trigger
 
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
 
Constructor Summary
ButtonTime(CompositeEntity container, java.lang.String name)
          Construct an actor with an input multiport of type GENERAL.
 
Method Summary
private  void _remove()
          Remove the display from the current container, if there is one.
 void fire()
          Fire the actor.
 java.awt.Color getBackground()
          Get the background.
 void initialize()
          Create a button on the screen, if necessary.
 void place(java.awt.Container container)
          An instance of JButton will be added to the specified container.
 boolean postfire()
          Reset the state of the actor and return whatever the superclass returns.
 void setBackground(java.awt.Color background)
          Set the background.
 void setContainer(CompositeEntity container)
          Override the base class to remove the display from its graphical container if the argument is null.
 
Methods inherited from class ptolemy.actor.lib.WallClockTime
_getCurrentTime, clone
 
Methods inherited from class ptolemy.actor.lib.Source
prefire
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, stop, stopFire, terminate, wrapup
 
Methods inherited from class ptolemy.kernel.ComponentEntity
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
 
Methods inherited from class ptolemy.kernel.Entity
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
 
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable, wrapup
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

text

public StringAttribute text
The text to put on the button.


_button

private javax.swing.JButton _button

_buttonPressed

private boolean _buttonPressed

_container

private java.awt.Container _container

_frame

private javax.swing.JFrame _frame

_self

private ButtonTime _self
Constructor Detail

ButtonTime

public ButtonTime(CompositeEntity container,
                  java.lang.String name)
           throws IllegalActionException,
                  NameDuplicationException
Construct an actor with an input multiport of type GENERAL.

Parameters:
container - The container.
name - The name of this actor.
Throws:
IllegalActionException - If the entity cannot be contained by the proposed container.
NameDuplicationException - If the container already has an actor with this name.
Method Detail

fire

public void fire()
          throws IllegalActionException
Fire the actor.

Specified by:
fire in interface Executable
Overrides:
fire in class WallClockTime
Throws:
IllegalActionException - If there is no director, or if the base class throws it.

getBackground

public java.awt.Color getBackground()
Get the background.

Returns:
The Color of the background.
See Also:
setBackground(Color)

initialize

public void initialize()
                throws IllegalActionException
Create a button on the screen, if necessary. If a graphical container has not been specified, place the button into its own frame. Otherwise, place it in the specified container.

Specified by:
initialize in interface Initializable
Overrides:
initialize in class WallClockTime
Throws:
IllegalActionException - If the parent class throws it.

place

public void place(java.awt.Container container)
An instance of JButton will be added to the specified container. This method needs to be called before the first call to initialize(). Otherwise, an instance of JButton will be placed in its own frame.

Specified by:
place in interface Placeable
Parameters:
container - The container into which to place the button.

postfire

public boolean postfire()
                 throws IllegalActionException
Reset the state of the actor and return whatever the superclass returns.

Specified by:
postfire in interface Executable
Overrides:
postfire in class AtomicActor
Returns:
True if execution can continue into the next iteration.
Throws:
IllegalActionException - If there is no director.

setBackground

public void setBackground(java.awt.Color background)
Set the background.

Parameters:
background - The color of the background.
See Also:
getBackground()

setContainer

public void setContainer(CompositeEntity container)
                  throws IllegalActionException,
                         NameDuplicationException
Override the base class to remove the display from its graphical container if the argument is null.

Overrides:
setContainer in class AtomicActor
Parameters:
container - The proposed container.
Throws:
IllegalActionException - If the base class throws it.
NameDuplicationException - If the base class throws it.
See Also:
ComponentEntity.getContainer()

_remove

private void _remove()
Remove the display from the current container, if there is one.