public class Button[label L, label E] extends
ClickableWidget[L, E]
public Button(String{L} text)
text - the given text
public Button(String{this} id, String{L} text)
id - A string that can be used to identify this button
text - the string displayed on the button
protected void initWidget()
public String{L} getText()
public void setText{L}(String{L} text)
text
public void setEnabled{L}(boolean{L} enabled)
enabled
public class CheckBox[label L, label E] extends
ClickableWidget[L, E]
public CheckBox(String{L} text)
text
public CheckBox(String{this} id, String{L} text)
id
protected void initWidget()
public String{L} getText()
public void setText{L}(String{L} text)
text -
public boolean{E} isChecked()
public boolean{E} isEnabled()
public void setChecked{E}(boolean{E} check)
check -
public void setEnabled{E}(boolean{E} enable)
enable -
public abstract class ClickableWidget[label L, label E] extends Widget[L, E]
public ClickableWidget()
public ClickableWidget(String{this} id)
id -
public void addListener{E}(ClickListener[L,E]{E} li)
li -
public interface ClickListener[label L, label E]
public void onClick{E;*<-Client}(Widget[L, E]{E} w):{E}
w -
public class Grid[label L, label E] extends Panel[L, E]
public Grid()
public Grid(int{E} rows, int{E} columns)
rows -
columns -
public void resize{L}(int{L} rows, int{L} columns)
rows -
columns -
public void resizeRows{L}(int{L} rows)
rows -
protected void initWidget()
public void setWidget{L}(int{L} row, int{L} column, Widget[L, E]{L} widget)
row -
column -
widget -
public class HorizontalPanel[label L, label E] extends Panel[L, E]
public HorizontalPanel()
public HorizontalPanel(String{this} id)
id -
protected void initWidget()
public class Image[label L, label E] extends ClickableWidget[L, E]
public Image(String{L} url)
url -
public Image(String{this} id, String{L} url)
id -
url -
protected void initWidget()
public String{L} getUrl()
public void setUrl{L}(String{L} url)
url -
public class LabeledWidget
public final label{this} wL
public final label{this} wE
public final Widget[wL, wE]{*wE;this} widget
LabeledWidget(label{this} wL, label{this} wE, Widget[wL, wE]{*wE;this} widget)
wL -
wE -
widget -
public class NumberTextBox[label L, label E] extends TextBox[L, E]
public NumberTextBox()
public NumberTextBox(int{L} number)
number -
public NumberTextBox(String{this} id, int{L} number)
id -
number -
public java.lang.Integer{L} getInteger()
public void setNumber{L}(int{L} num)
num -
public abstract class Panel[label L, label E] extends Widget[L, E]
public Panel()
public Panel(String{this} id)
public void addChild{L}(label wL,
label wE,
Widget[wL, wE]{L} w)
where {*wL} <= L,
{E; w} <= {*wE};
wL -
wE -
w -
The second where constraint is the key constraint for tracking information flow from the path from the root to the widget w E is an upper bound on the info from the root panel to this widget, and {w} is the info to the child w, and since {*wE} is an upper bound on info from the root panel to w, we require that {E; w} <= {*wE}
public void addChild{L}(Widget[L, E]{L} w) where {w} <= {E}
w -
public void removeChild{L}(label wL,
label wE,
Widget[wL, wE]{L} w)
wL -
wE -
w -
public void removeAllChildren{L}()
public LabeledWidget{id; this; L} getChildById(String id)
id -
public class PasswordTextBox[label L, label E] extends Widget[L, E]
public PasswordTextBox()
public PasswordTextBox(String{this} id)
id -
protected void initWidget()
public String{L} getText()
public void setText{L}(String{L} text)
text -
public void setFocus{L}(boolean{L} state)
state -
public class Popup[label L, label E] extends Panel[L, E]
public Popup()
public Popup(String id)
id -
public static void showMessage{L}(String{L} msg)
msg -
protected void initWidget()
public class RadioButton[label L, label E] extends CheckBox[L, E]
public RadioButton(String{L} group, String{L} text)
group -
text -
public RadioButton(String{this} id, String{L} group, String{L} text)
id -
group -
text -
public interface RadioButtonListener[label L, label E]
public void onClick{E}(RadioButton[L, E]{E} b):{E}
b -
public abstract class RootPanel[label L, label E] extends Panel[L, E]
protected RootPanel()
protected void initWidget()
public static RootPanel[L, E] getRootPanel(principal client_)
where {L} <= {*->client_;_<-_}
client_ -
public class Text[label L, label E] extends ClickableWidget[L, E]
public Text(String{L} text)
text -
public Text(String{this} id, String{L} text)
id -
text -
protected void initWidget()
public String{L} getText()
public void setText{L}(String{L} text)
text -
public class TextBox[label L, label E] extends ClickableWidget[L, E]
public TextBox(String{L} text)
text -
public TextBox(String{this} id, String{L} text)
id -
text -
protected void initWidget()
public String{L} getText()
public void setText{L}(String{L} text)
text -
public void setFocus{L}(boolean{L} state)
state -
public class Timer[label E] extends Widget[E, E]
public Timer()
public Timer(int millis)
millis -
public Timer(int millis, boolean repeat)
millis -
repeat -
protected void initWidget()
public void schedule(int millis)
millis -
public void schedule(int millis, boolean repeat)
millis -
repeat -
public void cancel()
public void addListener{E}(final TimerListener[E]{E} l)
l -
public void setStyleName(String style)
style -
public void setVisible(boolean visible)
visible -
public interface TimerListener[label E]
public void onTimer{E}(Timer[E]{E} t):{E}
t -
public class VerticalPanel[label L, label E] extends Panel[L, E]
public VerticalPanel()
public VerticalPanel(String{this} id)
id -
protected void initWidget()
public abstract class Widget[label L, label E]
public Widget()
public Widget(String{this} id)
id -
public String getID()
protected abstract void initWidget()
public void setVisible{L}(boolean{L} visible)
visible -