The GigaBar API

The GigaBar is a freely distributable taskbar replacement for CE V3.0 and 2.xx. It resuscitates the System Tray, provides Cancel and Help functions in addition to OK, and exposes an API for third party development. Through this API, arbitrarily sized "smart" icons and popup functionality can be integrated with the GigaBar diplay and action. The included FolderView Gidget (a Giga Widget), for example, provides Program Launching, Task Switching, and File Management functions through a small popup window. From the user's perspective, this is "a part" of the GigaBar, but it's actually a separate dll that uses nothing more than the functions documented in the API. When these Gidgets are installed or removed, the GigaBar is updated immediately.

Several example projects are available that demonstrate these functions. The Status Gidget places and maintains a Permanent Icon that displays the current connection state, Mute state, and a Battery Gauge, in a 16 X 16 icon.

The Windows Message project installs a very simple exe that demonstrates the GigaBar's Application Activation abilities. The GigaBar will first search for a specified window title and class. If found, it will send the window a specified message. If *not* found, it will run the app from the command line, with specified parameters.

The GigaDemo project shows the icon management functions that are available to current processes. A Transient Icon can be placed, enabled, disabled, changed, and animated with minimal fuss on the app's part. The changing, for example, is done by updating an index into an ImageList, and the animation simply requires an ImageList, StartFrame, FrameCount, and Period specification. The continuous updating of the image is handled by the GigaBar. The GigaDemo also shows the placement of a Context Menu by an app. Selections from the menu generate Windows Messages to the application.

The GigaBar Properties Control Panel applet manages things. From the user's perspective, the GigaBar is customized by manipulating Icons and Functions. The GigaBar has a number of built-in functions, and each installable Gidget can add new ones, as well as adding one or more Permanent Icons.

The Permanent Icons reside at the extreme right end of the GigaBar. The Clock is a Permanent Icon, as is the System icon that's Enabled by default. Each of these icons can have as many as 10 Functions assigned to them. Five are directly available through taps and drags, and the remaining five can be accessed through a Tap-Hold Context Menu.

Both the Icons and Functions are ordered as a tree structure in the GigaBar Properties applet. The user can assign any function to any Permanent Icon, and can reorganize the tree as he wishes. Also, Start Menu items appear here as Functions, and can be similarly assigned so that a single tap will launch it. The organizing functions are available through a Tap-Hold Context Menu.

This project is only 3 weeks old, so please excuse the poor documentation!

Nonetheless, the API is stable. Additional functionality will be implemented, but "old code" will not be broken.

In the near future, popup and cascading toolbar functionality will be added.

At the moment, the only direct installation is through Mips Cab Files for V3.0, or Mips Cab Files for V2.xx. If you need an Sh3 build, let us know at the address below, and we'll do it. It wouldn't be a bad idea, to take a look at How to use it, too.

The API can be viewed in the API Spec, and the complete include file is available as GigaBarh.h. The best view of how it works is in the Giga Sample Projects, which contains everything except the libs. Unzip this file to E:\Inst\Giga, and the projects should be all set to go. You'll have to add
E:\Inst\Giga\Develop\Libs\Ppc\Mips, etc.
to your lib search. The Libs themselves are available here. If the project files end up in the location specified above, then the libs should be unzipped in E:\Inst\Giga\Develop\Libs. Cross your fingers and hold your mouth just so, and it might work!

Install the cabs in this order:

GigaBar - Run it, and you'll see that functions have already been assigned to the two default icons.

GidgetSa - This is Status. The install uses Setup.dll to update the GigaBar immediately.

WindMess - This installs two functions, in the Demo directory of Functions, and a trivial exe. Assign the functions and perform them. The exe just demonstrates that it's receiving Command Line switches and Windows Messages.

GidgFold - This installs an icon, and four functions: Files, Tasks, Functions, and Start Menu. Most functionality is available through a Tap-Hold Context Menu.

A mailing list will be set up shortly. For the moment, mailto:API@gigabar.com. To be included when the mailing list is running, send a blank message to mailto:subscribe@gigabar.com. Also check a *very* incomplete (but growing!) list of Known Issues.

Thumbs Up!
Simba, Sally, Liz, Gene, and Sid