API Guide Home (Online version only) |

# PmSysGadgetLib.h

Go to the documentation of this file.

    00001 /******************************************************************************
    00002  * Copyright (c) 2004 palmOne, Inc. or its subsidiaries.
    00003  * All rights reserved.
    00004  *****************************************************************************/
    00005 /**
    00006  * @ingroup PmSysGadgetLib
    00007  */
    00008
    00009 /**
    00010  * @file    PmSysGadgetLib.h
    00011  * @version 1.0
    00012  * @brief   System Library that exports status-related APIs.
    00013  *
    00014  * This library is based on status gadgets APIs from HsExtensions and
    00015  * was broken apart from HsExtensions so the APIs could be ported to other platforms.
    00016  *
    00017  */
    00018
    00019 /*
    00020  * $Id: //depot/Components/Libraries/PmSysGadget/1.2D/Incs/IncsPublic/68K/Libraries/PmSysGadget/PmSysGadgetLib.h#1 $
    00021  *
    00022  */
    00023
    00024 #ifndef __PM_STATUS_LIB_H__
    00025 #define __PM_STATUS_LIB_H__
    00026
    00027 #include <PmSysGadgetLibCommon.h>
    00028 #include <PalmTypes.h>
    00029
    00030 /********************************************************************
    00031  * Prototypes
    00032  ********************************************************************/
    00033
    00034 #ifdef __cplusplus
    00035 extern "C" {
    00036 #endif
    00037
    00038 /**
    00039  * @brief Standard library open routine
    00040  *
    00041  * @param   refNum: IN: Library reference number
    00042  * @retval  Err     Error Code
    00043  */
    00044 Err
    00045 PmSysGadgetLibOpen (UInt16 refNum)
    00046             SYS_TRAP (kPmSysGadgetLibTrapOpen);
    00047 /**
    00048  * @brief Standard library close routine
    00049  *
    00050  * @param   refNum: IN: Library reference number
    00051  * @retval  Err     Error Code
    00052  */
    00053 Err
    00054 PmSysGadgetLibClose (UInt16 refNum)
    00055             SYS_TRAP (kPmSysGadgetLibTrapClose);
    00056
    00057 /**
    00058  * @brief Tell the system that a gadget on the form is a certain type of status gadget so that
    00059  *        the system can properly draw and update it.
    00060  *
    00061  * Tell the system that a gadget on the form is a certain type of status gadget so that
    00062  * the system can properly draw and update it.
    00063  * A form can only have one gadget for each status type. If more than one gadget is
    00064  * set to a certain type, only the last one set will be recorded. This function can also be
    00065  * used to erase and release a gadget whose type has already been set. To do this, type
    00066  * should be set to 0.
    00067  *
    00068  * @param   refNum:     IN: Library reference number
    00069  * @param   frmP:       IN: Form to draw gadget on
    00070  * @param   gadgetID:   IN: Gadget resource ID
    00071  * @param   type:       IN: Gadget type (battery, signal, bluetooth, etc)
    00072  * @retval  Err         Error code
    00073  */
    00074 Err
    00075 PmSysGadgetStatusGadgetTypeSet (UInt16 refNum, void* frmP, UInt16 gadgetID,
    00076                                 UInt16 /*PmStatusGadgetTypeEnum*/ type)
    00077             SYS_TRAP (kPmSysGadgetLibTrapStatusGadgetTypeSet);
    00078
    00079 /**
    00080  * @brief Explicitly update all status gadgets on the current form.
    00081  *
    00082  * @param   refNum: IN: Library reference number
    00083  * @retval  Nothing
    00084  */
    00085 void
    00086 PmSysGadgetStatusGadgetsUpdate (UInt16 refNum)
    00087             SYS_TRAP (kPmSysGadgetLibTrapStatusGadgetsUpdate);
    00088
    00089 /// Installs big buttons on the given form based on a 'bBut'
    00090 /// resource with the same ID.  A 'bBut' resource is basically
    00091 /// just an array of HsBigButtonMappingType.
    00092 ///
    00093 /// Once installed, the gadget will get events from PalmOS and
    00094 /// will sent a 'gadgetMisc' event with the selector
    00095 /// bbutGadgetMiscSelectSelector when selected.
    00096 ///
    00097 /// IMPORTANT:
    00098 /// The form must not be visible when you install the buttons,
    00099 /// since we don't draw them (it turns out to be impossible to
    00100 /// check whether the gadget is visible without peeking
    00101 /// into its data structure, which we can only do from the
    00102 /// event handler).
    00103 ///
    00104 /// @param refNum:  IN: Library reference number
    00105 /// @param frmP:    IN: The form to install the big buttons on.
    00106 /// @retval Err Error code.
    00107 Err
    00108 PmSysGadgetBbutInstallFromResource (UInt16 refNum, FormType* frmP)
    00109                 SYS_TRAP (kPmSysGadgetLibTrapBbutInstallFromResource);
    00110
    00111 /// Set big button on a form.
    00112 ///
    00113 /// @param refNum:      IN: Library reference number
    00114 /// @param frmP:        IN: The form to set the big button's gadget on.
    00115 /// @param gadgetID:    IN: The ID of the big button's gadget.
    00116 /// @param textP:       IN: Pointer to string to set on the gadget.
    00117 /// @param font:        IN: Font ID to be used for the text.
    00118 /// @param flags:       IN: Flags associated to the gadget.
    00119 /// @retval None.
    00120 void
    00121 PmSysGadgetBbutInstallNewButton (UInt16 refNum, FormType* frmP, UInt16 gadgetID,
    00122                                  const Char* textP, FontID font, UInt8 flags)
    00123                 SYS_TRAP (kPmSysGadgetLibTrapBbutInstallNewButton);
    00124
    00125 /// Set label on a big button gadget.
    00126 ///
    00127 /// @param refNum:      IN: Library reference number
    00128 /// @param frmP:        IN: The form containing the big button's gadget.
    00129 /// @param gadgetID:    IN: The ID of the big button's gadget.
    00130 /// @param newLabel:    IN: Pointer to label string to set on the gadget.
    00131 /// @retval None.
    00132 void
    00133 PmSysGadgetBbutSetLabel (UInt16 refNum, FormType* frmP, UInt16 gadgetID, const Char* newLabel)
    00134                 SYS_TRAP (kPmSysGadgetLibTrapBbutSetLabel);
    00135
    00136 /// Set bitmap image on a big button gadget.
    00137 ///
    00138 /// @param refNum:      IN: Library reference number
    00139 /// @param frmP:        IN: The form containing the big button's gadget.
    00140 /// @param gadgetID:    IN: The ID of the big button's gadget.
    00141 /// @param bitmapP:     IN: Pointer to the bitmap to set on the gadget.
    00142 /// @retval None.
    00143 void
    00144 PmSysGadgetBbutSetBitmap (UInt16 refNum, FormType* frmP, UInt16 gadgetID, const BitmapPtr bitmapP)
    00145                 SYS_TRAP (kPmSysGadgetLibTrapBbutSetBitmap);
    00146
    00147 /// Like CtlHitControl, but for big buttons.
    00148 ///
    00149 /// Notes:
    00150 /// Due to the fact that PalmOS lacks accessors for
    00151 /// gadgets directly, this function (and any others that
    00152 /// refer to a big button's gadget) takes a form pointer
    00153 /// and an index instead of a FormGadgetType*.
    00154 ///
    00155 /// @param frmP:        IN: The form containing the big button's gadget.
    00156 /// @param gadgetIndex: IN: The index of the big button's gadget.
    00157 /// @retval None.
    00158 void
    00159 PmSysGadgetBbutHitBigButton (UInt16 refNum, FormType* frmP, UInt16 gadgetIndex)
    00160                 SYS_TRAP (kPmSysGadgetLibTrapBbutHitBigButton);
    00161
    00162 #ifdef __cplusplus
    00163 }
    00164 #endif
    00165
    00166 #endif  // __PM_STATUS_LIB_H__

Top | Palm Developer Network © 2004-2008, Palm, Inc. All rights reserved. Generated on Fri Jun 13 10:06:55 2008 for Palm API Guide