|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
edu.neu.ccs.gui.DisplayPanel
edu.neu.ccs.jpf.MethodGUI
This class implements the GUI for a Method that is non-trivial, that is, has a return value and/or non-trivial parameters.
As of 2.5.0, uses requestObject rather than
demandObject internally so a user may cancel
evaluation if a parse error is detected while reading one
of the method parameters.
In 2.7.0, the class was made public. In addition, the
constructors accept the initializer object associated with
the method rather than a JPFPane which could
supply this initializer. This makes MethodGUI
independent of JPFPane and therefore useful
in more general situations.
| Nested Class Summary |
| Nested classes inherited from class javax.swing.JPanel |
JPanel.AccessibleJPanel |
| Nested classes inherited from class javax.swing.JComponent |
JComponent.AccessibleJComponent |
| Nested classes inherited from class java.awt.Container |
Container.AccessibleAWTContainer |
| Nested classes inherited from class java.awt.Component |
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| Field Summary | |
protected Action |
evaluate
The evaluate action. |
protected JButton |
evaluateButton
The evaluate button. |
static String |
FONTNAME
The default monospaced font name. |
static int |
gapSize
The gap between cells in the GUI = 10. |
static int |
H_AS_NEEDED
The horizontal scroll bar policy AS_NEEDED. |
protected Object |
initializer
The initializer object for the JPF method that is to be displayed in this method GUI. |
protected TablePanel |
mainPanel
The main table panel. |
static int |
margin
The margin from screen bounds for the scroll pane = 200. |
protected int |
maxCols
The maximum number of columns. |
protected Method |
method
The JPF method used to define this MethodGUI. |
protected String |
methodName
The method name. |
protected int |
orientation
The MethodGUI orientation. |
protected PaintSwatch |
paintView
The return view for Paint. |
protected String[] |
parameterTypeNames
The parameter type names. |
protected Class[] |
parameterTypes
The parameter types. |
protected TypedView[] |
parameterViews
The parameter views. |
protected Class |
returnType
The return type. |
protected String |
returnTypeName
The return type name. |
protected TypedView |
returnView
The return view for everything but Paint. |
protected int |
screenHeight
The screen height. |
protected Dimension |
screenSize
The screen dimensions. |
protected int |
screenWidth
The screen width. |
protected int |
scrollHeight
The bound for the scroll pane height. |
protected JPTScrollPane |
scrollpane
The scrollpane surrounding the main panel. |
protected int |
scrollWidth
The bound for the scroll pane width. |
private static Font |
staticFont
The display font for views in the method GUI. |
private static int |
staticFontSize
The default font size. |
static int |
SVHeight
The string viewer viewport height = 100. |
static int |
SVWidth
The string viewer viewport width = 400. |
static int |
swatchSize
The size of a paint swatch = 48. |
static int |
TFVWidth
The text field view width = 250. |
static int |
V_AS_NEEDED
The vertical scroll bar policy AS_NEEDED. |
| Fields inherited from class edu.neu.ccs.gui.DisplayPanel |
background, codec, CODEC |
| Fields inherited from class javax.swing.JPanel |
|
| Fields inherited from class javax.swing.JComponent |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Container |
|
| Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface edu.neu.ccs.util.JPTConstants |
ABOVE, ALIGNMENT, BELOW, BOTTOM_LEFT, BOTTOM_RIGHT, DEFAULT, FONT, INPUT_PROPERTIES, MANDATORY, OPTIONAL, ORIENTATION, TOP_LEFT, TOP_RIGHT, VALUE |
| Fields inherited from interface javax.swing.SwingConstants |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
| Fields inherited from interface edu.neu.ccs.gui.Displayable |
DEFAULT_VIEW_STATE, VIEW_STATE |
| Fields inherited from interface java.awt.image.ImageObserver |
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
MethodGUI(Method method)
Constructs the MethodGUI using the given static method
with a preferred orientation of HORIZONTAL. |
|
MethodGUI(Method method,
Object initializer)
Constructs the MethodGUI using the given method and the given initializer object with a preferred orientation of HORIZONTAL. |
|
MethodGUI(Method method,
Object initializer,
int orientation)
Constructs the MethodGUI using the given method, the given initializer object, and the given preferred orientation. |
|
| Method Summary | |
protected void |
buildHorizontalGUI()
Install the views in the GUI using a horizontal arrangement. |
protected void |
buildParameterViews()
Build the array of views for the method parameters. |
protected void |
buildReturnView()
Build the view for the return value. |
protected void |
buildScrollPane()
Build the scroll pane for the GUI TablePanel and add it to the enclosing DisplayPanel. |
protected void |
buildTable()
Build the GUI TablePanel. |
protected void |
buildVerticalGUI()
Install the views in the GUI using a vertical arrangement. |
protected JComponent |
createActionIcon()
Create the icon for action using class ActivityIcon. |
protected void |
createEvaluate()
Create the evaluate action for the Evaluate button in the GUI. |
protected JComponent |
createInputIcon()
Create the icon for input using class ActivityIcon. |
protected JComponent |
createOutputIcon()
Create the icon for output using class ActivityIcon. |
protected TypedView |
createView(Class c)
Return a typed view appropriate for the given class that may do input or return values. |
protected void |
evaluate()
The evaluate method executed by the evaluate action. |
protected void |
evaluateVoid()
The evaluate method in the case of void return. |
protected void |
evaluateWithReturn()
The evaluate method in the case of non-void return. |
protected void |
extractInformation()
Extract the important information about the method. |
protected Object |
extractParameterValue(TypedView view,
Class c)
Return the user input as an object from the typed view being used to obtain data for the given class. |
protected Object[] |
extractParameterValues()
Return the array of user input values from the parameter views. |
static Font |
getDefaultFont()
Returns the current default static font for text field views. |
protected String |
getErrorPrompt(Class c)
Return an error prompt customized for the given class. |
JButton |
getEvaluateButton()
Returns the evaluate button in the GUI. |
protected Object |
getReturnView()
Return the current view for the return type object. |
static void |
setDefaultFont(Font newfont)
Sets the default static font for text field views. |
protected void |
showReturnValue(Object value)
Display the return value in the return view. |
| Methods inherited from class javax.swing.JPanel |
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int TFVWidth
public static final int SVWidth
public static final int SVHeight
public static final int gapSize
public static final int swatchSize
public static final int margin
public static final int V_AS_NEEDED
public static final int H_AS_NEEDED
public static final String FONTNAME
private static int staticFontSize
The default font size.
14 + (int) LookAndFeelTools.getNetFontSizeAdjustment()
private static Font staticFont
protected Dimension screenSize
protected int screenWidth
protected int screenHeight
protected int scrollWidth
protected int scrollHeight
protected Object initializer
This initializer is an object of the class
associated with the method or null
if the JPF method is static.
protected Method method
protected String methodName
protected Class returnType
protected String returnTypeName
protected Class[] parameterTypes
protected String[] parameterTypeNames
protected int orientation
protected TypedView[] parameterViews
protected TypedView returnView
protected PaintSwatch paintView
protected Action evaluate
protected JButton evaluateButton
protected int maxCols
protected TablePanel mainPanel
protected JPTScrollPane scrollpane
| Constructor Detail |
public MethodGUI(Method method)
Constructs the MethodGUI using
the given static method
with a preferred orientation of HORIZONTAL.
Creates no GUI under the following circumstances:
null.
JPFHelper.isJPFMethod(method)
returns false.The reason for the final constraint is that the call to
isJPFMethod determines whether or not the
MethodGUI object will know how to pass
data between the GUI and the method to be invoked.
If no method GUI is created, then an error message is displayed instead.
If the method GUI will require a StringViewer
for either a parameter or a return value then the orientation
will be switched to VERTICAL to best utilize the
screen.
method - the static method to invoke
public MethodGUI(Method method,
Object initializer)
Constructs the MethodGUI using the given method and the given initializer object with a preferred orientation of HORIZONTAL.
Creates no GUI under the following circumstances:
null.
null.JPFHelper.isJPFMethod(method)
returns false.The reason for the final constraint is that the call to
isJPFMethod determines whether or not the
MethodGUI object will know how to pass
data between the GUI and the method to be invoked.
If no method GUI is created, then an error message is displayed instead.
If the method is not static and the initializer is not
null then it should be possible to invoke the
method on the initializer. If this is not possible then
an exception will be thrown upon invocation. The error
message from this exception will be displayed.
If the method GUI will require a StringViewer
for either a parameter or a return value then the orientation
will be switched to VERTICAL to best utilize the
screen.
method - the method to invokeinitializer - the object on which to invoke the method
public MethodGUI(Method method,
Object initializer,
int orientation)
Constructs the MethodGUI using the given method, the given initializer object, and the given preferred orientation.
Creates no GUI under the following circumstances:
null.
null.JPFHelper.isJPFMethod(method)
returns false.The reason for the final constraint is that the call to
isJPFMethod determines whether or not the
MethodGUI object will know how to pass
data between the GUI and the method to be invoked.
If no method GUI is created, then an error message is displayed instead.
If the method is not static and the initializer is not
null then it should be possible to invoke the
method on the initializer. If this is not possible then
an exception will be thrown upon invocation. The error
message from this exception will be displayed.
If the method GUI will require a StringViewer
for either a parameter or a return value then the orientation
will be switched to VERTICAL to best utilize the
screen.
method - the method to invokeinitializer - the object on which to invoke the methodorientation - the preferred orientation:
HORIZONTAL or VERTICAL| Method Detail |
public JButton getEvaluateButton()
Returns the evaluate button in the GUI.
The primary purpose of this method is to enable a caller to set this button as the default button in its enclosure.
If the GUI did not instantiate properly, this method
will return null.
protected void extractInformation()
protected void createEvaluate()
protected void evaluate()
The evaluate method executed by the evaluate action.
The method invocation is synchronized on the initializer object.
protected void evaluateVoid()
The evaluate method in the case of void return.
The method invocation is synchronized on the initializer object.
protected void evaluateWithReturn()
The evaluate method in the case of non-void return.
The method invocation is synchronized on the initializer object.
protected Object extractParameterValue(TypedView view,
Class c)
throws CancelledException
CancelledException
protected Object[] extractParameterValues()
throws CancelledException
CancelledExceptionprotected void showReturnValue(Object value)
protected void buildTable()
protected void buildVerticalGUI()
protected void buildHorizontalGUI()
protected TypedView createView(Class c)
protected void buildParameterViews()
protected void buildReturnView()
protected Object getReturnView()
protected String getErrorPrompt(Class c)
protected JComponent createInputIcon()
ActivityIcon.
protected JComponent createActionIcon()
ActivityIcon.
protected JComponent createOutputIcon()
ActivityIcon.
protected void buildScrollPane()
public static Font getDefaultFont()
public static void setDefaultFont(Font newfont)
Sets the default static font for text field views.
Does nothing if newfont is null.
newfont - the new default static font
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||