diff -r 4816d766a08a -r f345bda72bc4 Symbian3/PDK/Source/GUID-AC8439C7-7E57-4829-AB4B-70BC394DD66F.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/PDK/Source/GUID-AC8439C7-7E57-4829-AB4B-70BC394DD66F.dita Tue Mar 30 11:56:28 2010 +0100 @@ -0,0 +1,105 @@ + + + + + +Hiding +item-specific commands in menusThe item-specific commands and item-action commands in options +menu must be flagged with the EEikMenuItemSpecific and EEikMenuItemAction flags +introduced in Symbian^3. This enables the UI framework to hide them in the +options menu and display them only in the stylus pop-up menu. The touch down +and hold action opens the stylus pop-up menu. Touch down and release performs +an action. +

Actions like opening +a radio button list and virtual input are performed on the first tap. These +actions are normally handled by the UI framework. However, if your application +contains an implementation of its own for handling these actions (for example, +opening a custom component on the second tap) it must be changed to follow +the single-tap style.

+ +Add the EEikMenuItemAction flag +to all item-action commands in your options menu resource definitions. Menu +item-action commands are functions that are called during touch down and release +on an item (for example, Open action). +

For example,

/** + *AppList View menuitems (Counters) + */ +RESOURCE MENU_PANE r_logs_applist_menu +{ + items = + { + MENU_ITEM + { + command = ELogsCmdMenuOpen; + txt = qtn_logs_cmd_open; + //--------------------------------------------------------------- +// Include the following line to the list-item action commands + flags =EEikMenuItemAction; + +//---------------------------------------------------------------- + } + }; +}
+
+Add the EEikMenuItemSpecific flag +to all (other than item-action) item-specific commands in options menu resource +definitions. +

For example,

RESOURCE MENU_PANE r_common_event_menu_send_events +{ + items = + { + MENU_ITEM /* Send */ + { + command = ELogsCmdMenuSendUi; + txt = qtn_stm_om_send; +//------------------------------------------------------------------------- +//Add the following line to the list item-specific commands + flags = EEikMenuItemSpecific; +//------------------------------------------------------------------------- + + }, + MENU_ITEM /* Clear list */ + { command = ELogsCmdMenuDeleteAll; + txt = qtn_stm_om_delete_all; } + }; +}
+ An application view containing forms need +not flag item-specific commands, as forms are always highlighted. +
+If your application +code dynamically adds or removes menu items, you must change +the flag value of the menu pane using the CEikMenuPane::SetItemSpecific() function. +

For example,

/* Add send message item to menu above position pos */ +TInt pos = 0; + +/* Returns pointer to menu item */ +aMenuPane->ItemAndPos(ELogsCmdMenuSendUi, pos); + +/* Delete marker item from menu */ +aMenuPane->DeleteMenuItem(ELogsCmdMenuSendUi); + +/* No need here yet to tailor subitems in SendUi menu */ +TSendingCapabilities capabilities(0, 0, 0); +LogsAppUi() +-> +SendUiL() +->AddSendMenuItemL + ( + *aMenuPane, pos, /* Position in menupane */ ELogsCmdMenuSendUi, /* Command id to be used for "Send" menu item */ + capabilities + ); +aMenuPane->SetItemTextL(ELogsCmdMenuSendUi, iSendUiText->Des()); +//------------------------------------------------------------- +// Include the following line to dynamically change the flag value + +aMenuPane->SetItemSpecific(ELogsCmdMenuSendUi, ETrue); +//-----------------------------------------------------------------
+
+
+
\ No newline at end of file