Article # 98, added by Geoworks, historical record
| first | previous | index | next | last |

Disabling the hard icon bar on Geos devices





Disabling the Hard Icon Bar on GEOS devices
===========================================

The hard icon-bar cannot be disabled through the .ini file.  However,
this may be done via code.   An application, once started, may watch
for messages from the hard icon-bar, capture these messages, and do
any manipulation it wishes with these messages.

Hard icon presses come in MSG_META_NOTIFY with the parameters
    manufID = MANUFACTURER_ID_GEOWORKS and
    notificationType = GWNT_HARD_ICON_BAR_FUNCTION or
                       GWNT_STARTUP_INDEXED_APP
    parameter = hard icon that was pressed 
                (only for GWNT_STARTUP_INDEXED_APP)

To keep the press inactive, Subclass the application object, and 
intercept MSG_META_NOTIFY.  In MSG_META_NOTIFY, if the parameters match
those mentioned above, simply swallow the message (i.e. don't call the
superclass).  Everything else should be passed to the superclass to allow
standard functions to proceed.

To capturing a specific icon, only worry about the notification type 
GWNT_START_UP_INDEXED_APP.  When this notification comes in, the variable
called "parameter" will have the number of the icon pressed.  This
notification is for all icons except the launcher (very left most icon).
The other icons are numbered 0 thru 8, counting up from the left to right.
For example, the clock icon is number 4 and the help ('?' mark) is 8.
-------------
(Sample code)

@class		MyApplicationClass, GenApplicationClass;
@endc
@classdecl	MyApplicationClass;

.
.
.

@method MyApplicationClass, MSG_META_NOTIFY
{
    /* call the superclass only if the message doesn't deal with the 
     * hard icon-bar. */
    if(!(manufID == MANUFACTURER_ID_GEOWORKS &&
         (notificationType == GWNT_HARD_ICON_BAR_FUNCTION ||
          notificationType == GWNT_STARTUP_INDEXED_APP)))
    {
        @callsuper();
    }
}