ETA User Interface Prototype and Walkthrough

Appendix: Screen Shots of Prototype

[prev]

1) Main Screen at Startup

Empirical Test Application - by Fetter Software
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
     
     
     
Methods
 
public protected private package local
Modifiers Return Type Name Parameters
       
       
Fields
 
public protected private package local
Modifiers Type Name Value
       
       
Status
Output Messages Session Log

 

2) Main Screen after loading and instantiating a class, and creating some parameter objects

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
     
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  Foo  
  java.lang.Integer    
  java.lang.Integer   V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer  
  java.lang.Integer  
  java.lang.Integer  
Status
Output Messages Session Log

 

 

3) Main Screen after class loaded/instantiated, viewing 'Returned Objects' tab after calling several functions that return objects

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Parameter Objects
Type Returned From Value
Foo Foo.makeFoo
java.lang.Integer Foo.getX 10
java.lang.Integer Foo.getY 10
java.lang.Integer Foo.getZ 10
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  Foo    
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

 

4) Object Pool - Parameters Object Tab showing parameter objects of different types. The display of objects will become scrollable when needed.

Object Pool
Returned Objects Parameter Objects
Type Name Value
java.lang.Integer
Foo
java.lang.String
java.lang.Char
java.lang.Boolean

 

5) Object Pool - Returned Objects tab showing objects of different types. The display of objects will become scrollable when needed.

Object Pool
Returned Objects Parameter Objects
Type Returned From Value
java.lang.Integer Time.getHour 5
Foo Foo.clone
java.lang.String Foo.toString hello world
java.lang.Char MyClass.getChar a
java.lang.Boolean JComboBox.isEditable true

 

 

6) Methods Panel displaying methods with different modifiers, return types, and parameters. Modifier symbols will be implemented as 32x32 icons in final version. The display of methods will become scrollable when needed.

Methods
edu.calpoly.csc205.fetter.Time java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
[S] void  
[N] Foo  
[S] [N] [F] void V

 

 

7) Fields panel displaying fields of different data types. Modifier symbols will be implemented as 32x32 icons in final version. Some field values are read-only because they are final. In the case of a final field that is an object, the read-only object inspector will be displayed instead of the normal object inspector (see #13). The display of fields will become scrollable when needed.

Fields
edu.calpoly.csc205.fetter.JunkClass java.lang.Object
public protected private package local
Modifiers Type Name Value
[S] java.lang.Integer
[F] string hello world
[F] [S] char a
  java.lang.Integer
  java.lang.Integer

 

8) Status Panel - Output tab
The Output tab displays all of the output and error messages sent to System.out and System.err by the class being tested

Status
Output Messages Session Log

 

Status Panel - Messages tab
The Messages tab displays error messages from the ETA to the user after the user has done something bad, like trying to enter a String as a value for an int in the Object Pool

Status
Output Messages Session Log

 

Status Panel - Session Log tab
The Session Log tab displays a time-stamped log of all of the User's actions

Status
Output Messages Session Log

 

 

9) 'Open Class' modal dialog with a class name input by user

Dialog appears when user selects 'File | Open Class...' menu item

Open Class

class path:

 

 

 

10) 'New Test Data Item' modal dialogs
Dialog appears when user clicks 'New Test Data Item...' button in 'Test Data Items' tab or selects 'Test | New Test Data Item...' menu item

Series of Dialogs for creating a new primitive test data item

New Test Data Item - Select Type

New Test Data Item is :

   

   

New Test Data Item - Primitive Type
Type
Value

Test Data Item Name:

 

 

Series of dialogs for creating a new non-primitive test data item
In the third dialog, the OK button is disabled until the parameter combo boxes have been filled out for the selected constructor. Parameter combo boxes for constructors other than the selected one are disabled.

New Test Data Item - Select Type

New Test Data Item is :

   

   

New Test Data Item - Object Type Class Path
Class Path

 

New Test Data Item - Object Type Constructor
Constructors: Parameters:
Foo ()  
Foo(java.lang.Integer, java.lang.Integer, java.lang.Integer)

Test Data Item Name:

 

 

11) 'Instantiate Class' modal dialogs
Dialog appears when user selects 'Test | Instantiate Main Test Class...' menu item
The OK button is disabled until the parameter combo boxes have been filled out for the selected constructor. Parameter combo boxes for constructors other than the selected one are disabled.

Instantiate Class - Foo
Constructors: Parameters:
Foo ()  
Foo(java.lang.Integer, java.lang.Integer, java.lang.Integer)

Test Data Item Name:

 

 

12) 'Object Inspector' modal dialogs (2 variations)
Dialog appears when user clicks on an 'Inspect...' button in the 'Test Data Items' tab of the object pool. These 'Inspect...' buttons appear only when the object whose value you want to inspect is derived from java.lang.Object.

Variation 1: Object being inspected can be modified by the user (ie, when inspecting test data item values). Data is layed out like the Fields panel. The display of fields will become scrollable when the number of fields in the object is greater than 10.
Final fields are have read only values.
Primitive fields can be changed by selecting a different test data item in the combo box or typing in a new value.
Fields of types derived from 'Object' can be changed in the same way, but to view them, a user has to click on its Name button (which adds the field in question to the object pool), closes the current Object Inspector, looks for the recently added Object in the 'Test Data Items' tab, and brings up a new Object Inspector on the object that was just added.

Object Inspector

Object Type: class edu.calpoly.csc205.fetter.JunkClass
Description: myJunk

edu.calpoly.csc205.fetter.JunkClass java.lang.Object
public protected private package local
Modifiers Type Name Value
[S] java.lang.Integer
[F] java.lang.String hello world
[F] [S] java.lang.Char a
  java.lang.Integer
  java.lang.Integer

 

Variation 2: Object being inspected can't be modified by the user (ie, when viewing returned object values). Data is layed out like the Fields panel. The display of fields will become scrollable when the number of fields in the object is greater than 10.

Object Inspector

Object Type: class Foo
Description: getInType

Foo java.lang.Object
public protected private package local
Type Name Value
java.lang.Integer x 0
java.lang.Integer y 0
java.lang.Integer z 0

 

 

13) File menu

File   Description
Open Class.... Ctrl-O Brings up 'Open Class' Dialog (see #9)
Exit Ctrl-X Exits ETA program

 

14) Test Menu

Test   Description
Instantiate Main Test Class... Ctrl-A Brings up 'Instantiate Class' Dialog (see #11)
New Test Data Item... Ctrl-N Brings up 'New Test Data Item' Dialog (see #10)
Clean All Test Data Items Ctrl-E Convenience item to remove all user-created test data items (leaves returned objects intact)

 

!5) Help Menu

Help Description
Help Contents Displays documentation for ETA
About... Displays information about ETA