Download Prototypes

Your can find directions for downloading prototypes here.

Demos


Please be patient... these may take a few moments to load!

Pie Menus

Suppose a programmer has a Dog class that knows how to bark(), but would like to have its sibling Cat class know how to meow(), with similar functionality. Below shows how a programmer might use linear menus and wizards to activate refactoring tools to help achieve this change:

Below is the same change performed with pie menus and without wizards.

Refactoring Cues

Suppose a programmer is adding a new field to a class and will have its value read in from a Dictionary. First, the programmer wants to eliminate some duplication in the read() method:

public void read(Dictionary dict){
     a = Integer.parseInt(((String)dict.get("a")));
     b = Integer.parseInt(((String)dict.get("b")));

     dx = Double.parseDouble(((String)dict.get("dx")));
     dy = Double.parseDouble(((String)dict.get("dy")));
}

This refactoring involves removing the duplication using Extract Method, as well as some subsidiary extracting and inlining of variables. Note that the tools automatically remove some kinds of duplication for you. First, we'll remove this piece of code, duplicated 4 times:

(String)dict.get(...)

And then factor out two pieces of duplication, repeated twice each:

Integer.parseInt(...)
Double.parseDouble(...)

Using standard Eclipse refactoring tools, the process might look like this using hotkeys and wizards:

Below is the same change performed with hotkeys and Refactoring Cues: