Communicator UI: 2.2 ComplexMonikerClass: ComplexMoniker Usage

Up: GEOS SDK TechDocs | Up | Prev: 2.1 ComplexMoniker Instance Data | Next: 2.3 ComplexMoniker Messages
MSG_COMPLEX_MONIKER_GET_MONIKER, MSG_COMPLEX_MONIKER_REPLACE_MONIKER

In most cases, you will want to use a ComplexMoniker when you create Command triggers. Command triggers on the Nokia 9000i appear along the right edge of the screen, and correspond to the four off-screen buttons that they abut.

To create a ComplexMoniker command trigger, follow these steps:

(If you are not creating a command trigger, set CMI _fontSize to something other than FOAM_LARGE_FONT_SIZE.)

Code Display 2-6 Complex Moniker Example (GenInteraction)

@object ComplexMonikerClass AboutBox = {
/* This object will behave as a GenInteration (grouping) object */
    ComplexMoniker = GenInteractionClass;
    CMI_topText = @AboutBoxTitle;
    CMI_iconBitmap = @AboutIcon;
    GI_comp = @AboutText;
/* Geometry Hints */
    HINT_DRAW_IN_BOX;
    HINT_DRAW_SHADOW;
    HINT_PLACE_MONIKER_TO_LEFT;
    HINT_EXPAND_WIDTH_TO_FIT_PARENT;
    HINT_EXPAND_HEIGHT_TO_FIT_PARENT;
/* ComplexMoniker Hints */
    HINT_COMPLEX_MONIKER_DRAW_SEPARATOR;
    ATTR_COMPLEX_MONIKER_PLACE_BITMAP_AT_LEFT;
}
@chunk TCHAR AboutBoxTitle[] = "CmplxMon Sample Application";

Code Display 2-7 ComplexMoniker Example (GenDynamicList)

 
@object ComplexMonikerClass CMTextsList = {
    ComplexMoniker = GenDynamicListClass;
    CMI_topText = @CMTextsListTitle;
    CMI_fontSize = FOAM_NORMAL_FONT_SIZE;
    CMI_iconBitmap = CMB_OPEN_FOLDER;
    GIGI_destination = process;
    GIGI_applyMsg = MSG_CMPLXMON_PROCESS_SHOW_CURRENT_CMTEXT;
    GDLI_queryMsg = MSG_CMPLXMON_PROCESS_GET_CMTEXT;
/* GDLI_numItems will be set at app-launch time. */
    HINT_DRAW_IN_BOX;
    HINT_DRAW_SHADOW;
    HINT_PLACE_MONIKER_ABOVE;
    HINT_PLACE_MONIKER_TO_LEFT;
    HINT_COMPLEX_MONIKER_DRAW_SEPARATOR;
    HINT_MINIMIZE_CHILD_SPACING;
    HINT_EXPAND_WIDTH_TO_FIT_PARENT;
    HINT_EXPAND_HEIGHT_TO_FIT_PARENT;
    HINT_ITEM_GROUP_SCROLLABLE;
    ATTR_COMPLEX_MONIKER_PLACE_BITMAP_AT_LEFT;
    ATTR_GEN_SEND_APPLY_MSG_ON_APPLY_EVEN_IF_NOT_MODIFIED;
    ATTR_GEN_ITEM_GROUP_STATUS_MSG =
	MSG_CMPLXMON_PROCESS_SHOW_CURRENT_CMTEXT;
    }
}

Code Display 2-8 ComplexMoniker Example (Command Trigger)

@object ComplexMonikerClass MyCommandTrigger = {
    ComplexMoniker = GenTriggerClass;
    CMI_topText = @CommandTextTitle;
    GTI_actionMsg = MSG_GEN_INTERACTION_INITIATE;
    GTI_destination = @DialogThatThisTriggerBringsUp;
    HINT_SEEK_MENU_BAR;
    HINT_SEEK_REPLY_BAR;
    HINT_SEEK_SLOT = 0;
}
@chunk byte CommandTextTitle[] = "I Commeand Thee!";

Up: GEOS SDK TechDocs | Up | Prev: 2.1 ComplexMoniker Instance Data | Next: 2.3 ComplexMoniker Messages