edu.washington.cs.supple.wlib.awt
Class PopupAwtWidget

java.lang.Object
  extended byedu.washington.cs.supple.render.AbstractWidget
      extended byedu.washington.cs.supple.render.SimpleWidget
          extended byedu.washington.cs.supple.render.AbstractPopupWidget
              extended byedu.washington.cs.supple.wlib.awt.PopupAwtWidget
All Implemented Interfaces:
AwtWidget, java.lang.Cloneable, ContainerWidget, java.util.EventListener, PopupWidget, java.beans.PropertyChangeListener, UnwrappedWidget, Widget
Direct Known Subclasses:
PopupActionWidget

public abstract class PopupAwtWidget
extends AbstractPopupWidget
implements AwtWidget, java.beans.PropertyChangeListener

Author:
Jing Jing Long TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates

Field Summary
protected  java.awt.Button button
           
protected  java.awt.Label label
           
protected  java.awt.Dialog popupFrame
           
protected  java.awt.Dimension[] sizeCache
           
 
Fields inherited from class edu.washington.cs.supple.render.AbstractPopupWidget
availableWidgets, bestWidget, widgetOverhead
 
Fields inherited from class edu.washington.cs.supple.render.AbstractWidget
bag, cost, engaged, object, parent, stateVar, textLabel, type, widgetDescriptor, wrapper
 
Fields inherited from interface edu.washington.cs.supple.render.Widget
MAX_HINT, NO_BORDER, NO_NAME, TOP_LEVEL_WIDGET
 
Constructor Summary
PopupAwtWidget(UiObject object)
           
 
Method Summary
protected  void ensurePopupFrame()
           
 java.awt.Component getAwtComponent(int hints)
           
 ConcreteWidget getConcreteWidget(java.io.Serializable renderingContext, int hints)
          Returns the concrete component (specific to a particular platform)
 WidgetProperties getWidgetProperties()
          Returns the corresponding WidgetProperties
protected  void indexChanged(java.beans.PropertyChangeEvent evt)
          Subclasses should override this method if they want to update display the index of the underlying type changes
protected abstract  java.awt.Button makeButton()
           
protected  java.awt.Label makeLabel()
           
static boolean rendersObject(UiObject object)
          A static method for testing the applicability of the widget given a type of the UI component to be rendered
protected abstract  void setPopupFrame()
           
 
Methods inherited from class edu.washington.cs.supple.render.AbstractPopupWidget
childIterator, disengage, engage, ensureBestWidget, getChildWidget, getCost, getEffortEstimate, hasChildren, makeVisible, satisfiesConstraints, setChildren
 
Methods inherited from class edu.washington.cs.supple.render.AbstractWidget
anotherPropertyChanged, clone, clone, dismissCurrentView, displayDynamic, equals, executeAction, generateWidgetDescriptor, getBag, getConcreteWidget, getParent, getPath, getSize, getSizeCache, getTextLabel, getType, getUiObject, getWidgetDescriptor, isEngaged, isEquivalent, legalValuesChanged, likelyValuesChanged, propertyChange, reportActionExecutionEvent, reportValueChangedEvent, setBag, setCost, setEnabled, setParent, setSizeCache, setValue, setWrapper, toString, unwrapWidget, valueChanged
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.washington.cs.supple.render.Widget
childIterator, clone, clone, disengage, engage, getBag, getConcreteWidget, getCost, getEffortEstimate, getPath, getSize, getSizeCache, getTextLabel, getType, getUiObject, getWidgetDescriptor, hasChildren, isEngaged, isEquivalent, setBag, setCost, setEnabled, setParent, setSizeCache, setWrapper, unwrapWidget
 
Methods inherited from interface java.beans.PropertyChangeListener
propertyChange
 

Field Detail

button

protected java.awt.Button button

popupFrame

protected java.awt.Dialog popupFrame

label

protected java.awt.Label label

sizeCache

protected java.awt.Dimension[] sizeCache
Constructor Detail

PopupAwtWidget

public PopupAwtWidget(UiObject object)
Parameters:
object -
Method Detail

getConcreteWidget

public ConcreteWidget getConcreteWidget(java.io.Serializable renderingContext,
                                        int hints)
Description copied from interface: Widget
Returns the concrete component (specific to a particular platform)

Specified by:
getConcreteWidget in interface Widget
Overrides:
getConcreteWidget in class AbstractWidget

getWidgetProperties

public WidgetProperties getWidgetProperties()
Description copied from interface: Widget
Returns the corresponding WidgetProperties

Specified by:
getWidgetProperties in interface Widget
Overrides:
getWidgetProperties in class AbstractWidget
Returns:
properties associated with this widget

rendersObject

public static boolean rendersObject(UiObject object)
A static method for testing the applicability of the widget given a type of the UI component to be rendered

Returns:
true for all modifiable types

getAwtComponent

public java.awt.Component getAwtComponent(int hints)
Specified by:
getAwtComponent in interface AwtWidget
Parameters:
hints - specifies the variant of the widget to be rendered
Returns:
a renderable component

ensurePopupFrame

protected void ensurePopupFrame()

makeLabel

protected java.awt.Label makeLabel()

makeButton

protected abstract java.awt.Button makeButton()

setPopupFrame

protected abstract void setPopupFrame()

indexChanged

protected void indexChanged(java.beans.PropertyChangeEvent evt)
Subclasses should override this method if they want to update display the index of the underlying type changes

Overrides:
indexChanged in class AbstractWidget
Parameters:
evt - property change event with details