Venkman is supported by a framework designed to reduce the amount of
overhead required to write a JavaScript application. What follows is
an overview of the functionality provided by the framework.
-
Defining a command. The first step in
creating functionality is to define a command. Commands are the
boundry layer between the User Interface and the Application, as
well as the Plugin to Application boundry. Commands are self
documenting, and describe their argument lists in a machine (and human)
readable manner.
- Dispatching a command. Once you have
definied a command, you'll probably want to execute, or dispatch
it. Commands that take arguments that can be expressed in a string
can be dispatched with a single argument. Arguments such as
JavaScript objects can be passed as well.
- Defining a menu. You'll want to provide
users access to many of your commands. This usually involves placing
it in a menu somewhere. Adding a command to a menu is as easy as
placing the command name in a menu specification.
- Working with context menus. Context menus
often carry a specific state with them. This state can be used to
determine what menu items are available, and what parameter to pass
to commands dispatched from the context menu.
- Content and objects
behind floating views. Floating views require you to define XUL content
nodes, and an underlying object to control it.
- Localization utilities. Applications
often need to be translated to other languages. Venkman automates
the process of importing messages from a string bundle as application
variables. A single function provides a simple way to replace format
specifiers in dynamic messages.
- Preference management. Reading and setting
preferences is reduced to reading and writing a property on a special
preference object. No preferences are written to disk until the
user changes them.
- File map. An annotated list of the files
referenced by the pages above.