Menu

#8 Updates to BB Contrib for version 0.9.4

open
nobody
None
5
2015-02-07
2002-07-09
Brad Baker
No

I have created a new version of my BB contribution
packages.

I have revamped a number of the classes to use a
new TitleBar component, and this will have broken
the API, so if you are using the older versions you
will have to be aware of that. Other than that there
are a number of bug fixes and new Components.

The Menu classes are probably the most
interesting. It uses client side javascript to create a
dynamic menu system. The Milonic javascript
library is used with permission (see the end of this
email for the permission reply). The classes will
raise actionCommands on the server side (just like
buttons) when a menu item is selected.

The other class that might be a bit controversial is
the InlineHtml component. It allows ANY HTML to
be placed directly on an echo screen.

A number of people have asked for this and while I
have a few reservations that it might be used
unwisely, it will be useful for including prebuilt
HTML or something like a flash control or a basic
Java applet. Please use this carefully as an invalid
HTML may break the echo functionality. The
component can read a file of HTML off disk,
however it must not contain HTML, HEAD or BODY
tags. The component does not check for this, so
again be careful.

I am developing a complete application (its a Quiz
application) that will try to use all of the provided
Components. This is very much in the works.
There is include some simple test applications that
use these classes. They are really just left over unit
testing applications.

I will post this new version on the echo
SourceForge contributions section. Tod has kindly
given me a deployable ZIP structure however I have
yet to recreate the new files. Its called
bb_contrib_2002_07_07.jar.

Since I have added so much I thought I would relist
each Component with a description of what it does.

----------------------------------------
CalendarSelectionModel

\* A model interface for the

CalendarChooser

----------------------------------------
ColorChooser

\* A Component that allows you to choose

a color from a series of swatches. Modelled closely
on the Swing class of the same name. You can
provide your own Color Array of swatches.

----------------------------------------
ColorSelectionModel

\* a model interface for ColorChooser.

----------------------------------------
CornerImages

\* a simple class is used to contain a pair

of images that could be used to contain corner
images. It is used by the TitleBar class.

----------------------------------------
DatePicker

\* A Component that allows the user to

select a specific date from a navigable Calendar
display.

----------------------------------------
DefaultCalendarSelectionModel

\* a generic implementation of

CalendarSelectionModel

----------------------------------------
DefaultColorSelectionModel

\* a generic implementation of

ColorSelectionModel

----------------------------------------
DefaultExpandableModel

\* a generic implementation of

ExpandableModel

----------------------------------------
DefaultFontSelectionModel

\* a generic implementation of

FontSelectionModel

----------------------------------------
DefaultListModel

\* a generic implementation of ListModel

----------------------------------------
DefaultMenuItemModel

\* a generic implementation of

MenuItemModel

----------------------------------------
DefaultSingleSelectionModel

\* a generic implementation of

SingleSelectionModel

----------------------------------------
DefaultWizardController

\* a generic implementation of

WizardController

----------------------------------------
ExpandableModel

\* a mode interface for ExpandableSection

----------------------------------------
ExpandableSection

\* a Component that allows you to expand

or collapse a title, revealing a Component
underneath. Typically the revealed Component is a
Panel containing other Components. This class
used TitleBar for the title and expansion.

----------------------------------------
FontChooser

\* a Component that allows you to choose

a Font from series of SelectFields. The font name,
size and style can be chosen. A replaceable
preview pane is available.

----------------------------------------
FontSelectionModel

\* a model interface for FontChooser.

----------------------------------------
GroupBox

\* a Component that can wrap other

Components and provide a border and title around
the Components.

----------------------------------------
ImageMap

\* a Component that allows regions of an

image to be defined and will raise an
actionCommand when the area is clicked on. This
works much like a Button, however an image is
used instead.

----------------------------------------
InlineHtml

\* a Component that allows HTML to be

directly placed on an echo container. Any HTML
will be rendered as is on the browser. This
Component must be used with care and is not
intended as a replacement to writing custom
Components for specific uses.

----------------------------------------
ListModel

\* a mode interface for ListSection

----------------------------------------
ListSection

\* a Component that can display a series

of objects (via toString()) as bullets points. It also
allows ordering of the objects.

----------------------------------------
Menu
MenuBar
MenuBarManager
MenuItem

\* These Components provide a client side

menu system to echo. The Milonic menuing
system is used as the underlying javascript code.
(Permission was granted via email from Milonic).
The classes are based loosely on the Swing Menu
classes. A MenuItem is added to a Menu and a
Menu is added to a MenuBar.

The MenuBarManager class is required to

manage multiple menus on the one browser page.
The Milonic support code can only be included
once and hence you may only add one
MenuBarManager to a Container. Certain echo API
restrictions make this class necessary. If these
echo API restrictions are lifted, then this class will
be done away with.

----------------------------------------
PushButton

\* This Component provides true push

button functionality on browsers that can support
it. It is an extension of the standard echo Button
class and if the browser cannot render the new
button, the standard button class is used.

----------------------------------------
Separator

\* A Component that can be used as

separators in the Menu classes as well as a general
separator within a Component.

----------------------------------------
SingleSelectionModel

\* A mode interface used by TabbedPane

----------------------------------------
SpinField

\* A Component that is an extension of

the standard echo TextField, which provides a
up/down spin buttons for spinning between valid
values.

----------------------------------------
TabbedPane

\* A Component that provides a series of

tabs containing other Components.

Any Component can be used as the

contents, however typically it would be a
containing class such as Panel or Grid.

----------------------------------------
Timer

\* A non visual Component that will cause

the browser client to time out after a certain
number of milliseconds. This can be used to force
updates to the screen without client interaction.

----------------------------------------
TitleBar

\* This Component is used to represent a

title bar with support for expanding and collapsing
as well as a closure. This class is used by a
number of other Components to provide titles and
footers.

----------------------------------------
WizardController

\* A interface for controlling the actions

of a WizardPane.

----------------------------------------
WizardNavigationVetoException

\* An exception that can be throw to stop

a WizardPane from navigating to the next
Component.

----------------------------------------
WizardPane

\* A Component that provides a "wizard"

interface for navigating between Components such
as Panels and Grids. A series of next and previous
buttons (as well as Cancel and Finish) are provided
for navigation. A class that implements
WizardController can decide what is to be done on
navigation and whether it should take place.

The class uses the TitleBar class as its

title and footer.

Any Component can be used as the

contents, however typically it would be a
containing class such as Panel or Grid.

Discussion

  • Brad Baker

    Brad Baker - 2002-07-09

    Logged In: YES
    user_id=515416

    Opps file was not compressed and greater than 256k
    and hence it would not upload. So here it is again but
    compressed.

     
  • Brad Baker

    Brad Baker - 2002-07-09

    Logged In: YES
    user_id=515416

    Forgot to pressed the attach buytton

     
  • Brad Baker

    Brad Baker - 2002-07-09

    BBcontrib for echo 0.9.4

     
  • Brad Baker

    Brad Baker - 2002-07-11

    BBcontrib for echo 0.9.4 - Some people reported problems

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.