Bongo Widget Overview

The builder provides the following standard widgets. Each widget is hyper-linked to the source code.


Button

Button
A simple push button widget. It can have a label and it can be configured to have various styles. When pushed the action() method is called.
URLButton
A variation of a Button widget. When clicked it will show a URL in the user's preferred web browser.
MenuButton
A variation of a Button widget. When clicked it will show a popup menu.
Checkbox
A checkbox widget. You can set a label or supply an empty label; a label can be left or right aligned.
Option
An option widget is similar to a checkbox widget, but is usually used as part of a group of exclusive options.


Text

TextBox
A single line of text. The text can be editable or static. The widget can have several styles (plain, boxed, filled, underline).
statictext
a single line of static text. a variation of a textbox widget.
RichTextBox
A multi-line and multi-font text widget. The text can be editable or static. Set the style to filled for most efficient editing. It currently supports emacs-style key bindings.
URLText
A Hyper Text link widget. The text is highlighted when the user moves over it. When the user clicks on the text the associated document is shown in a browser.


Choice

ListBox
Let's the user choose from a scrolling list of items.
DropDownListBox
Let's the user choose from a short list of items using a pop-up menu.
ComboBox
Not yet implemented
DropDownComboBox
A combination of a Text widget and a Choice widget. The user can either enter a free-form value (if the widget is editable), or the user can pick from a pull down list of values.


Containers

Group
This is the generic container widget. It can contain any other widget including other containers. To edit the content of a container click on the container while holding down the Control key. You can also create a container by selection Group from the Widget menu.
GroupBox
This widget allows you to put an outline around a group of widgets. The outline can be interrupted at the top by a label. This widget has no functionality other than cosmetic value.
Window
A simple draggable, and resizable floating window. It is constraint to its parent container.
Folder
This folder widget can have multiple pages. Only one page is visible at a time. Each page can have a tab displaying the title of the page. If the folder is clickable the user can click on the tabs to changes pages. The user can also changes pages using the PgUp and PgDown keys. Folders can be nested.
List
This widget contains a scrollable list of other widgets. The widgets in the list are automatically arranged in a vertical list. The vertical scrollbar is by default only visible when needed. You can arrange the order of the items in the list using To Front and To Back from the Widget menu.
ScrollingContainer
This is a scrolling container. The content has a fixed size and can be scrolled around using scrollbars. The scrollbars can be configured to be always visible or only when needed.
SparseTable
A SparseTable widget is used to display very large data sets in a tabular form. APIs are provide to load rows and columns as they become visible on the screen. This means that only a subset of the table data must be loaded before it can be displayed.
Table
A table widget to display rows and colums of data. A cell can contain a widget or a string. It allows for column sorting, column ordering, as well as variable width columns and rows.
Tree
This is a container for a TreeNode widgets.
TreeNode
This is a node in a tree. This allows you to create Windows Explorer type trees. They are usually contained in a TreeWidget. Note that tree nodes can be nested by control clicking on them and adding other tree nodes. The order is controlled by selecting To Front and To Back from the Widget menu.


Value

Scrollbar
A PC-like scrollbar widget. This widget is used in other widgets to perform scrolling operations. It generates AWT scroll events.
ProgressIndicator
A progress indicator
SpinBox
Lets the user select a value between a minimum and maximum.
Slider
A slider widget which displays an integer value.


Animated

AnimatedText
This widget displays a line of scrolling text. The text can be scrolled up, down, left, or right at various speeds.
AnimatedImage
This widget displays a series of frames in rapid succession to create an animation effect. The start and end frame, and the animation speed can be specified, as well as the absolute or relative URL for the directory containing the frames. The frames are called T1.gif, T2.gif, ...


Shape

Line
A line. Horizontal, vertical, diagonal (up or down) in a 3D or plain style. Should be used for decoration only.
Rectangle
A rectangle. Provides no interaction and should be used for decoration only.
Oval
An oval. Provides no interaction and should be used for decoration only.
Polygon
Not implemented yet


Resource

Image
Displays an image. The image can be in the topleft corner, it can be centered, or it can be scaled with respect to the bounding box of the widget. The image is specified by the src property of the widget. This property is a relative or absolute URL.
Audio
Plays an audio clip when certain events happen. Audio can be triggered when the widget becomes visible, when it is hidden, when you click on it when the mouse enters the widget, or when the mouse exits the widget.
Presentation
This widget lets you include a presentation by reference. The desired presentation is specified by the src property of the Presenation widget.


AWT

Component
A wrapper widget for AWT components. This allows the mixing of native AWT components and Marimba widgets.
Applet
Based on the AWTWidget, this widget allows you to include an applet in your presentation.