ModernJava
http://www.modernminds.com
W ildView TM Features

The WildView
package is comprised of the WildView applet and a number of plug-in "modules" that allow you to define and customize the WildView display.

The documentation below describes the features of the WildView applet, as well as the graphics and control plug-in modules.

The WildView plug-in modules can easily be added in any combination and quantity to a display layout to give your users one heck of a WildView!
A pplet

The WildView applet is a Java program that can be embedded in a World Wide Web page. WildView creates an active display area on a web page based on HTML-like layout instructions stored in a text file.

The layout instructions in the text file tell the applet what graphics and control modules to load, and how those modules are positioned and function within the WildView applet display area.

Following is a summary of the applet's features (see below for a summary of the graphics and control module features):

The WildView applet loads only the modules that are actually used, thereby optimizing load times and eliminating bandwidth waste.
A solid color or a GIF or JPEG image can be used as the applet's background.
The background image can be positioned at a specific location on the background, or the background image can be tiled.
WildView can support a single layout file, or multiple layout files.
If a single layout file is used, WildView can periodically check the file for changes and dynamically update the display when a change is detected. Persons viewing a WildView display can thus be quickly informed of updates.
If multiple layout files are used, WildView can automatically change layouts and dynamically update the WildView display after an assigned period of time. Some plug-in modules can also be configured to automatically change layouts based on events.
WildView can inform the viewer that a layout file has been read, or that a change has been detected either by briefly displaying a colored frame around the applet, and/or by playing a sound. One sound/color may be specified for a "read" and another may be specified for an "update."
If a module fails to load (either because of a network error or a misconfiguration), other loaded modules in the display will continue to function (i.e., the entire applet will not crash due to an error in a module).
Only a very small amount of HTML must be added to the web page: the instructions that define the display layout are stored in text files. This makes it easy to update the WildView display without the need to change the HTML for the web page.
Additional display effects and functionality can be added (as new plug-in modules are developed) simply by adding the new modules to the WildView directory.
WildView allows you to control the type of Java drawing mechanism used, giving you the ability to fine-tune performance based on your layout design.
A "Loading..." text message (which can be custom defined, if desired) can be displayed while the applet is loading.
The delimiters used for tags in the layout file (which default to "<" and ">" as in HTML files) can be reassigned to any other character.
The size of the internal buffer used for reading the layout file can be specified in order to optimize memory usage.
G raphics Modules

The graphics modules are the "bread and butter" components of WildView. After all, if you can't see anything, it's not much of a view, is it?

Included with the WildView package are eight graphics modules. There is a smooth vertical scrolling text module, a "typewriter" style text display module, a "teletype" style text display module, a smooth horizontal scrolling text module, a static text display module, a graphic image display module, a module that allows you to draw frames, and a module for creating animated transition effects for text and/or graphics.


Smooth Vertical Scrolling Text Module

The smooth vertical scrolling text module (WVPanelVScroll) allows you to scroll text vertically, from bottom to top. The features of this module are:
  • The font, font size, font style, and font color can all be specified.

  • The text can be left, center, or right justified.

  • The scrolling speed and rate can be specified (scrolling rate can be used to increase the scrolling speed with a sacrifice of scrolling smoothness).

  • Text is automatically formatted to the width of the display area.

  • Line breaks and paragraph breaks within the text are supported.

  • The background can be a solid color, or it can be clear (the applet's background is seen beneath the text), or it can be an image (if used in conjunction with the image module).

  • The line width can be manually specified.

  • The leading (the space between lines of text) can be increased or decreased.

  • The module can be configured so that scrolling is paused either when the mouse is moved within the mouse area, or when the mouse button is clicked within the mouse area (note that the mouse area need not be the same as the display area).

  • Scrolling can automatically pause when a particular line of text is reached. The module can either wait for a specific period of time before it resumes scrolling, or it can wait until another module tells it to begin scrolling again.

  • The module can send messages to other modules when a particular line of text is reached.

  • The scrolling rate (not speed) can be changed when a particular line of text is reached.

  • The text color or background color can be changed when a particular line of text is reached. The background color can be a solid color, clear, or an image (if used in conjunction with the image module).

  • A new layout can be loaded when a particular line of text is reached, replacing the current layout.

Typewriter Text Module

The "typewriter" text module (WVPanelTypewriter) scrolls text vertically (bottom to top) in a manner similar to a typewriter.

Text is typed character-by-character along the bottom line. When the line is full, all of the text is smoothly scrolled up one line and the next line of text is typed at the bottom. The features of this module are:
  • The font, font size, font style, and font color can all be specified.

  • The text can be left, center, or right justified.

  • The speed at which characters are typed can be specified.

  • The line scrolling speed and rate can be specified (scrolling rate can be used to increase the scrolling speed with a sacrifice of scrolling smoothness).

  • Text is automatically formatted to the width of the display area.

  • Line breaks and paragraph breaks within the text are supported.

  • The background can be a solid color, or it can be clear (the applet's background is seen beneath the text), or it can be an image (if used in conjunction with the image module).

  • The line width can be manually specified.

  • The leading (the space between lines of text) can be increased or decreased.

  • The module can be configured so that the typing or scrolling animation is paused either when the mouse is moved within the mouse area, or when the mouse button is clicked within the mouse area (note that the mouse area need not be the same as the display area).

  • The typing or scrolling animation can either automatically pause when a particular line of text is reached. The module can wait for a specific period of time before it resumes the animation, or it can wait until another module tells it to begin animating its display again.

  • The module can send messages to other modules when a particular line of text is reached.

  • The line scrolling rate (not speed) can be changed when a particular line of text is reached.

  • The display area can be automatically cleared when a particular line is reached. The display area is cleared by smoothly scrolling all lines off the top. If used in conjunction with the image module, an image can be "grabbed" and used as a background image when the display area is cleared.

  • A new layout can be loaded when a particular line of text is reached, replacing the current layout.

Teletype Text Module

The "teletype" module (WVPanelTeletype) draws text character-by-character beginning at the top of the display area and working its way to the bottom. When the display area becomes full, the module pauses, then clears the display area and begins again at the top with the next line of text. The module's features are:
  • The font, font size, font style, and font color can all be specified.

  • The text can be left, center, or right justified.

  • The speed at which characters are typed can be specified.

  • The amount of time to delay before clearing the text when the display becomes full can be specified.

  • An (optional) character block cursor can be displayed. The current character being drawn will be drawn within the block cursor.

  • The color of the optional block cursor and the color of the character within the block cursor can be specified.

  • Text is automatically formatted to the width of the display area.

  • Line breaks and paragraph breaks within the text are supported.

  • The background can be a solid color, or it can be clear (the applet's background is seen beneath the text), or it can be an image (if used in conjunction with the image module).

  • The line width can be manually specified.

  • The leading (the space between lines of text) can be increased or decreased.

  • The module can be configured so that the typing animation is paused either when the mouse is moved within the mouse area, or when the mouse button is clicked within the mouse area (note that the mouse area need not be the same as the display area).

  • The typing animation can automatically pause when a particular line of text is reached. The module can either wait for a specific period of time before it resumes the animation, or it can wait until another module tells it to begin animating its display again.

  • The module can send messages to other modules when a particular line of text is reached.

  • The display area can be automatically cleared when a particular line is reached. If used in conjunction with the image module, an image can be "grabbed" and used as a background image when the display area is cleared.

  • A new layout can be loaded when a particular line of text is reached, replacing the current layout.

Smooth Horizontal Scrolling Text Module

The smooth horizontal scrolling text module (WVPanelHScroll) allows you to scroll text horizontally, from left to right. The features of this module are:
  • The font, font size, font style, and font color can all be specified.

  • The text can be top, middle, or bottom justified.

  • The scrolling speed and rate can be specified (scrolling rate can be used to increase the scrolling speed with a sacrifice of scrolling smoothness).

  • The background can be a solid color, or it can be clear (the applet's background is seen beneath the text), or it can be an image (if used in conjunction with the image module).

  • The module can be configured so that scrolling is paused either when the mouse is moved within the mouse area, or when the mouse button is clicked within the mouse area (note that the mouse area need not be the same as the display area).

  • Scrolling can automatically pause when a particular character in the text is reached. When a pause is encountered, all text to the left of the character at which the pause occurs is scrolled off to the left and no further text is drawn. The module can either wait for a specific period of time before it resumes scrolling, or it can wait until another module tells it to begin scrolling again.

  • The module can send messages to other modules when a particular character in the text is reached.

  • The scrolling rate (not speed) can be changed when a particular character in the text is reached.

  • The text color or background color can be changed when a particular character in the text is reached. The background color can be a solid color, clear, or an image (if used in conjunction with the image module).

  • A new layout can be loaded when a particular character in the text is reached, replacing the current layout.

Static Text Module

This text module (WVPanelText) allows you display non-scrolling text. The module is especially useful for displaying headlines or banners. The module's features are:
  • The font, font size, font style, and font color can all be specified when the module is initialized, or they can be changed by sending the module a message from another module.

  • The text can be left, center, or right justified when the module is initialized, or the justification can be changed by sending the module a message from another module.

  • The text can be top, middle, or center aligned when the module is initialized, or the alignment can be changed by sending the module a message from another module.

  • Text is automatically formatted to the width of the display area.

  • Line breaks and paragraph breaks within the text are supported.

  • The background can be a solid color, or it can be clear (the applet's background is seen beneath the text), or it can be an image (if used in conjunction with the image module). The background can be set when the module is initialized, or it can be changed by sending the module a message from another module.

  • The line width can be manually specified when the module is initialized, or it can be set by sending the module a message from another module.

  • The leading (the space between lines of text) can be increased or decreased either when the module is initialized, or by sending the module a message from another module.

  • The text can be set to blink a specific number of times, or it can be set to blink continuously, or it can be set to blink when the mouse is moved within its mouse area (note that the mouse area need not be the same as the display area). The blink attribute can be set when the module is initialized, or it can be set or changed by sending the module a message from another module.

Graphic Image Module

GIF and JPEG images can be loaded and displayed using the graphic image module (WVPanelImage). The features of this module are:
  • The image file can contain a single image that is equal to, larger than, or smaller than the display area. It could alternately contain multiple images combined into a single image. Any rectangular area of the image file can be selected to be shown in the module's display area.

  • The area of the image file being visibly displayed can be changed by sending the module a message from another module. This can be used, for instance, to display an image based on the text that is being displayed in another module.

  • The image displayed by the panel can be copied from another WVImagePanel panel rather than being loaded from a file.

  • The image being displayed can be used by some modules as a background image (note that the image module does not necessarily need to be in visible portion of the applet display area).

  • If the portion of the image being displayed is smaller than the module's display area, then the image can be position in the top-left, top-right, bottom-left, bottom-right, or center of the module's display area. The position of the image can be set when the module is initialized, or it can be set by sending the module a message from another module.

  • The image background can be a solid color, or it can be clear (the applet's background is seen behind the image). The background will only be visible if the portion of the image being displayed is smaller than the module's display area. The background can be set when the module is initialized, or it can be changed by sending the module a message from another module.

  • The image module can be configured to send a message to one or more modules when the image has been completely loaded. This is useful if you do not want another module to start until the graphic image is complete.

Frame Module

The frame module (WVPanelFrame) allows you to draw a rectangular frame. A frame can be useful for defining the area occupied by another module, or for providing visual feedback of mouse actions in a particular area. The module's features are:
  • The width of the frame is set when the module is initialized. The frame width can be changed by sending the module a message from another module.

  • The frame can be single-colored, or it can be composed of two colors to give it a beveled look. Instead of a using a solid color for one (or both) of the frame's colors, there is also an option to lighten or to darken the underlying image. The frame color(s) can be changed by sending the module a message from another module.

  • The frame's background (the portion of the frame area inside the frame border) can be a solid color, or it can be clear (the applet's background will be visible inside the frame). The frame background can be changed by sending the module a message from another module.

  • The frame can be set to be invisible (not displayed) when the module is initialized, or only visible when the mouse is within the frame's mouse area (which need not correspond to the module's display area). The visibility of the frame can be changed by sending the module a message from another module.

  • The frame can be set to blink continuously or a specific number of times when the module is initialized, or it can be set to blink only when the mouse is within the frame's mouse area (which need not correspond to the module's display area). The frame's blink attribute can be changed by sending the module a message from another module.
Transition Effects Module

The Transition Effects module (WVPanelFx) allows you to create animated transition effects between graphic images defined by a panel based on the WVPanelImage module and/or text images defined by a panel based on the WVPanelText module. The module's features are:
  • There are twelve basic effects available (which can be combined): Beam, Crash, Down, Evaporate, Fade, Glare, Left, Right, Shatter, Twirl, Up, Zoom.

  • Effects can be combined: for instance "down+left" would cause a transition to occur diagonally, toward the bottom-left corner.

  • The animated transition effect can be pre-rendered (for smoother animation), or it can be rendered in real time.

  • The transition animation can loop a specified number of times.

  • There are five "filters" that can be used to alter the graphic image or text image that is being being transitioned to, before the transition animation is performed. The filters are: gray, blur, red, green, and blue.

  • It is possible to "layer" images and/or text to build composite transitions.

  • A graphic image or text image that is smaller than the dimensions of a WVPanelFx panel can be aligned within the panel's display area or positioned directly by using explicit coordinates.

  • A trigger can be sent to one or more panels when an animated transition completes to aid in synchronization.

C ontrol Modules

WildView control modules are invisible modules: they do not display any visible indication of their presence in the WildView applet display area. These modules generate events or messages, or pass events or messages to other modules, or to the WildView applet.

There are currently four WildView control modules: a module that creates hypertext URL links, a module that generates messages based on mouse events, a module that can send a series of timed messages, and a module that allows users to send email.


URL Control Module

The URL module (WVPanelURL) allows you to define a rectangular area in the WildView display area that, when clicked, will load a URL. The module's features are:
  • The URL for the module's defined area can be set at the time the module is initialized, and it can be set or changed by sending a message to the module from another module.

  • The target frame into which the URL will be loaded can be set at the time the module is initialized, and it can be set or changed by sending a message to the module from another module.

  • The module (i.e., the URL) can be enabled or disabled when the module is initialized. The enabled/disabled state can be changed by sending a message to the module from another module. If the module is disabled, then clicking in the module's defined area will have no effect.

Mouse Event Control Module

The mouse event module (WVPanelTrigger) allows you send messages to other modules (or to the WildView applet) when a mouse event (e.g, a mouse button click) occurs in the module's area. The module's features are:
  • The module can send a single message or multiple messages to another panel or panels when any of the following mouse events occur: the mouse button is pressed, the mouse button is released, the mouse is moved out of the module's area, or the mouse enters the module's area.

  • A new layout can be loaded when a specified mouse event occurs, replacing the current layout.

  • The module (i.e., the message sending ability) can be initially enabled or disabled when the module is started. The enabled/disabled state can be changed by sending a message to the module from another module. If the module is disabled, then clicking in the module's defined area will have no effect.
Timed Message Control Module

The timed message module (WVPanelTimer) allows you send timed messages (i.e., "triggers") to other modules. This module can be used to create simple animations, or to make a series of changes to other WildView panels. The module's features are:
  • The module can start sending messages when the module is started, or when a specific mouse event or events occur.

  • The module can wait until a specific image has been completely loaded before the module is enabled.

  • The module can stop sending messages after a specific number of loops through the messages, or when a specific mouse event or events occur.

  • A specified delay (in 1/10th second increments) can be inserted between each message sent.

  • The module (i.e., the message sending ability) can be initially enabled or disabled when the module is started. The enabled/disabled state can be changed by sending a message to the module from another module.
Email Message Module

The WVPanelMail module allows you to add a "pop-up" email window to a WildView panel set that allows a user to send email messages (even if they don't have a mail program). The module's features are:
  • The module can send messages using SMTP or by using a CGI program.

  • A sample CGI program written in Perl is included.

  • The email window can be controlled using triggers.

  • Data in fields in the email window can be pre-assigned and disabled so that the data cannot be changed by the user.

  • The module can be configured so that the email window is displayed when a mouse button is clicked and/or by sending a trigger.
Copyright © 1997 by Modern Minds, Inc.