edu.washington.cs.supple.wlib.java2
Class PopupSwingWidget

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.java2.PopupSwingWidget
All Implemented Interfaces:
java.lang.Cloneable, ContainerWidget, java.util.EventListener, PopupWidget, java.beans.PropertyChangeListener, SwingWidget, UnwrappedWidget, Widget
Direct Known Subclasses:
PopupActionWidget, PopupVarSetWidget

public abstract class PopupSwingWidget
extends AbstractPopupWidget
implements SwingWidget, java.beans.PropertyChangeListener

Author:
kgajos

Field Summary
protected  javax.swing.JButton button
           
protected  javax.swing.JLabel label
           
protected  javax.swing.JDialog 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
PopupSwingWidget(UiObject object)
           
 
Method Summary
protected  void ensurePopupFrame()
           
 ConcreteWidget getConcreteWidget(java.io.Serializable renderingContext, int hints)
          Returns the concrete component (specific to a particular platform)
 javax.swing.JComponent getSwingComponent(int hints)
           
 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  javax.swing.JButton makeButton()
           
protected  javax.swing.JLabel 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 javax.swing.JButton button

popupFrame

protected javax.swing.JDialog popupFrame

label

protected javax.swing.JLabel label

sizeCache

protected java.awt.Dimension[] sizeCache
Constructor Detail

PopupSwingWidget

public PopupSwingWidget(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

getSwingComponent

public javax.swing.JComponent getSwingComponent(int hints)
Specified by:
getSwingComponent in interface SwingWidget
Parameters:
hints - specifies the variant of the widget to be rendered
Returns:
a renderable component

ensurePopupFrame

protected void ensurePopupFrame()

makeLabel

protected javax.swing.JLabel makeLabel()

makeButton

protected abstract javax.swing.JButton 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