--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/ui_framework_definitions_api/inc/avkon.rh Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,1040 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Resource structure definitions for Avkon.
+*
+*/
+
+
+#ifndef __AVKON_HRH__
+#include <avkon.hrh>
+#endif
+
+#if !defined(__BADEF_RH__)
+#include <badef.rh>
+#endif
+
+#if !defined(__UIKON_HRH__)
+#include <uikon.hrh>
+#endif
+
+STRUCT AVKON_SYSTEM_FONT
+ {
+ LONG fontuid; // a value from fontids.hrh
+ STRUCT named_font; // this must be a NAMED_FONT structure type
+ }
+
+STRUCT NAVI_DECORATOR
+ {
+ WORD type=ENaviDecoratorControlNone;
+ STRUCT control;
+ }
+
+STRUCT TITLE_PANE
+ {
+ LTEXT txt="";
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ }
+
+STRUCT CONTEXT_PANE
+ {
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ }
+
+STRUCT TAB_GROUP
+ {
+ WORD tab_width = EAknTabWidthWithTwoTabs; // two tabs
+ WORD active = 0; // index of the first active tab
+ STRUCT tabs[];
+ }
+
+STRUCT TAB
+ {
+ WORD id=0;
+ LTEXT txt="";
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ }
+
+STRUCT NAVI_LABEL
+ {
+ LTEXT txt="";
+ }
+
+STRUCT NAVI_IMAGE
+ {
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ }
+
+STRUCT SIGNAL_PANE
+ {
+ WORD level = 0;
+ }
+
+STRUCT BATTERY_PANE
+ {
+ WORD level = 0;
+ }
+
+STRUCT INDICATOR_PANE
+ {
+ STRUCT indicators[];
+ }
+
+STRUCT INDICATOR
+ {
+ WORD uid;
+ WORD npriority=0xffff;
+ WORD wpriority=0xffff;
+ LTEXT bmpfile="";
+ STRUCT states[];
+ }
+
+STRUCT INDICATOR_STATE
+ {
+ WORD id;
+ STRUCT icons[];
+ }
+
+STRUCT INDICATOR_ICON
+ {
+ WORD narrowbmpid=0xffff;
+ WORD narrowbmpmask=0xffff;
+ WORD widebmpid=0xffff;
+ WORD widebmpmask=0xffff;
+ }
+
+STRUCT AVKON_VIEW
+ {
+ BYTE version=0; // resource struct version, do not change.
+ LLINK hotkeys=0;
+ LLINK menubar=0;
+ LLINK cba=0;
+ LLINK toolbar=0;
+ LLINK extension=0; // reserved for future extensions
+ }
+
+STRUCT AVKON_NOTE
+ {
+ WORD layout;
+ LTEXT singular_label;
+ LTEXT plural_label="";
+ LTEXT imagefile="";
+ WORD imageid=0xffff;
+ WORD imagemask=0xffff;
+ LTEXT iconfile="";
+ WORD iconid=0xffff;
+ WORD iconmask=0xffff;
+ LLINK animation=0;
+ WORD flags=0; //TNoteFlags (defined in aknnoteattributes.h)
+ }
+
+STRUCT NOTE_COMPONENT
+ {
+ WORD component_type;
+ WORD x;
+ WORD y;
+ WORD width;
+ WORD height;
+ }
+
+STRUCT NOTE
+ {
+ STRUCT components[];
+ }
+
+STRUCT AVKON_CONFIRMATION_QUERY
+ {
+ WORD layout;
+ LTEXT label;
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ LLINK animation=0;
+ }
+
+STRUCT AVKON_DATA_QUERY
+ {
+ WORD layout;
+ LTEXT label;
+ STRUCT control;
+ }
+
+STRUCT AVKON_MESSAGE_QUERY
+ {
+ LTEXT message = "";
+ }
+
+STRUCT AVKON_MULTI_LINE_DATA_QUERY
+ {
+ WORD layout;
+ LTEXT firstlabel;
+ LLINK firstcontrol;
+ LTEXT secondlabel;
+ LLINK secondcontrol;
+ }
+
+
+// use this with CAknQueryDialog.
+// This is for one dialog DLG line with EAknCtListQueryControl
+//
+// The list query window type is determined from EAknCtSinglePopupMenuListBox - if you want to
+// have your own borders, derive from CAknListQueryDialog and override some methods.
+
+STRUCT AVKON_LIST_QUERY_CONTROL
+ {
+ WORD listtype; // type of the list, for example EAknCtSinglePopupMenuListBox (window type is determined from this)
+ STRUCT listbox; // LISTBOX resource, use AVKON_LIST_QUERY_LIST or AVKON_MULTISELECTION_LIST_QUERY_LIST
+ LTEXT heading = "";
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ LLINK animation=0;
+ }
+
+STRUCT AVKON_HEADING
+ {
+ LTEXT label = ""; // default is no heading
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ LLINK animation=0;
+ LLINK headinglayout = R_AVKON_LIST_HEADING_PANE;
+ }
+
+// CAknPopupField
+STRUCT POPUP_FIELD
+ {
+ WORD flags=0; // permitted flags: EAknPopupFieldFlagAllowsUserDefinedEntry
+ WORD width=0; // in characters
+ LTEXT other=""; // if non-empty, replaces
+ LLINK emptynote = 0; // note to be displayed if popupfield is empty
+ LTEXT empty=""; // text to display if popupfield is empty
+ LTEXT invalid = ""; // text to display if popupfield is invalid
+ }
+
+STRUCT POPUP_FIELD_TEXT
+ {
+ STRUCT popupfield; // only use POPUP_FIELD here
+ LLINK textarray = 0; // resource ID of an array of text
+ WORD active = 0; // zero based, item in textarray to be initially selected
+ }
+
+STRUCT POPUP_FIELD_SELECTION_BMP
+ {
+ LTEXT bmpfile="";
+ WORD bmpidon=0xffff;
+ WORD bmpmaskon=0xffff;
+ WORD bmpidoff=0xffff;
+ WORD bmpmaskoff=0xffff;
+ }
+
+STRUCT SLIDER
+ {
+ WORD layout;
+ WORD minvalue;
+ WORD maxvalue;
+ WORD step;
+ WORD valuetype=EAknSliderValueBareFigure;
+ WORD decimalplaces=0;
+ LTEXT singular_valuelabel = "";
+ LTEXT minlabel="";
+ LTEXT maxlabel="";
+ LTEXT valuelabel="";
+ LLINK graphical_image=0;
+ }
+
+STRUCT SLIDER_WITH_FEEDBACK_STYLE
+ {
+ WORD slidertype=EAknSliderWithFeedbackStyle;
+ WORD feedbackstyle=EAknSliderFbStable;
+ WORD layout;
+ WORD minvalue;
+ WORD maxvalue;
+ WORD step;
+ WORD valuetype=EAknSliderValueBareFigure;
+ WORD decimalplaces=0;
+ LTEXT singular_valuelabel = "";
+ LTEXT minlabel="";
+ LTEXT maxlabel="";
+ LTEXT valuelabel="";
+ LLINK graphical_image=0;
+ }
+
+/** used with CAknVolumeControl
+ * see avkon.hrh for the flag definitions
+ * This struct uses default values for volume range:
+ * ESettingsVolumeControl, EDynRangeSettingsVolumeControl: 1-10
+ * ENaviPaneVolumeControl, EPopupVolumeControl, EDynRangeNaviPaneVolumeControl,
+ * EDynRangePopupVolumeControl, ESmallPopupVolumeControl,
+ * ESmallPopupVolumeControlWithPercent: 0-10
+ */
+STRUCT VOLUME
+ {
+ WORD flags;
+ WORD value;
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ }
+
+/** used with CAknVolumeControl
+ * This struct is used with flags defined in
+ * TAknVolumeControlDynamicLayouts
+ * see avkon.hrh for the flag definitions
+ * @since 3.2
+ */
+STRUCT DYNAMIC_VOLUME
+ {
+ WORD identifier = 0xffff; // Do not change
+ WORD flags;
+ WORD value;
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff;
+ WORD bmpmask=0xffff;
+ WORD minvalue = 0;
+ WORD maxvalue = 10;
+ }
+
+STRUCT NUMSECRETED
+ {
+ WORD num_code_chars=8;
+ }
+
+STRUCT GRID_STYLE
+ {
+ WORD layoutflags = 0;
+ WORD primaryscroll = 0;
+ WORD secondaryscroll = 0;
+ WORD itemsinprimaryorient = 0;
+ WORD itemsinsecondaryorient = 0;
+ WORD height = 0;
+ WORD width = 0;
+ WORD gapwidth = 0;
+ WORD gapheight = 0;
+ }
+
+STRUCT GRID
+ {
+ BYTE version = 0;
+ LONG flags = 0;
+ WORD height = 5; // in items
+ WORD width = 10; // in chars
+ LLINK array_id = 0;
+ LTEXT emptytext = "";
+ LLINK style = 0;
+ }
+
+STRUCT AVKON_SETTING_PAGE
+ {
+ WORD number = EAknSettingPageNoOrdinalDisplayed;
+ LTEXT label;
+ LTEXT hint_text;
+ LLINK softkey_resource = 0;
+ LLINK menubar= 0;
+ WORD type=0xffff;
+ LLINK editor_resource_id = 0;
+ LLINK invalid_contents_softkey_resource = 0;
+ LLINK extension = 0;
+ }
+
+// --------------------------------------------------------------------------
+// AVKON_SETTING_PAGE_EXTENSION
+// Resource structure extension for setting page.
+// @since 5.2
+// --------------------------------------------------------------------------
+//
+STRUCT AVKON_SETTING_PAGE_EXTENSION
+ {
+ WORD flags = 0; // construction flags
+ LLINK extension = 0; // link to extension
+ }
+
+STRUCT AVKON_SETTING_ITEM_LIST
+ {
+ WORD flags = 0; // Allowed values: EAknSettingItemListNumberedStyle
+ LTEXT title = "";
+ WORD initial_number = 1;
+ STRUCT items[];
+ }
+
+STRUCT AVKON_SETTING_ITEM
+ {
+ WORD identifier = 0;
+ LTEXT name ="";
+ LLINK setting_page_resource = 0;
+ WORD type=0xffff;
+ LLINK setting_editor_resource = 0;
+ LLINK associated_resource = 0;
+ LTEXT empty_item_text = "";
+ LTEXT compulsory_ind_string = "";
+ LLINK reserved = 0; // Added for extensions
+ }
+
+STRUCT AVKON_PASSWORD_CONFIRMATION
+ {
+ LLINK password_query_resource = 0;
+ LLINK success_note_resource = 0;
+ LLINK failure_note_resource = 0;
+ }
+
+STRUCT AVKON_ENUMERATED_TEXT
+ {
+ WORD value = 0 ;
+ LTEXT text;
+ }
+
+STRUCT AVKON_POPUP_SETTING_TEXTS
+ {
+ WORD flags = 0;
+ LLINK setting_texts_resource = 0;
+ LLINK popped_up_texts_resource = 0;
+ LLINK reserved = 0;
+ }
+
+STRUCT AVKON_SEARCH_FIELD
+ {
+ }
+
+STRUCT AVKON_LISTBOX_LINES
+ {
+ STRUCT vline1;
+ STRUCT vline2;
+ STRUCT hline;
+ }
+
+// Bitmap Animation
+STRUCT BMPANIM_DATA
+ {
+ BYTE identifier = 0; // Do not change, used to identify the used resource struct.
+ WORD frameinterval = -1;
+ WORD playmode = 0;
+ BYTE flash = 0;
+ LTEXT bmpfile = "";
+ LLINK frames = 0;
+ LLINK backgroundframe = 0;
+ }
+
+STRUCT BMPANIM_FRAME
+ {
+ WORD time = -1;
+ WORD posx = 0;
+ WORD posy = 0;
+ WORD bmpid = -1;
+ WORD maskid = -1;
+ }
+
+// Resource-based layout resources (Deprecated)
+// These does not define absolute coordinates => resizing these layouts is possible!
+//
+// (those which does not mention column or form in their name could be used later by
+// other controls for their layout - there will be generic resource reader for these)
+
+// this is used with listboxes
+STRUCT AVKON_LB_LAYOUT_POS
+ {
+ WORD l=ELayoutEmpty;
+ WORD t=ELayoutEmpty;
+ WORD r=ELayoutEmpty;
+ WORD b=ELayoutEmpty;
+ WORD W=ELayoutEmpty;
+ WORD H=ELayoutEmpty;
+ }
+
+// this is used with listboxes too
+STRUCT AVKON_LB_LAYOUT_GFX
+ {
+ WORD id;
+ WORD C=ELayoutEmpty;
+ WORD l=ELayoutEmpty;
+ WORD t=ELayoutEmpty;
+ WORD r=ELayoutEmpty;
+ WORD b=ELayoutEmpty;
+ WORD W=ELayoutEmpty;
+ WORD H=ELayoutEmpty;
+ }
+
+// This is used with listboxes
+STRUCT AVKON_LB_LAYOUT_TEXT
+ {
+ WORD id;
+ WORD font; WORD C; WORD lm; WORD rm; WORD B; WORD W; WORD align;
+ }
+
+// This is used with CAknLayoutUtils::LayoutControl()
+STRUCT AVKON_LAYOUT_CONTROL
+ {
+ WORD C=ELayoutEmpty;
+ WORD l=ELayoutEmpty;
+ WORD t=ELayoutEmpty;
+ WORD r=ELayoutEmpty;
+ WORD b=ELayoutEmpty;
+ WORD W=ELayoutEmpty;
+ WORD H=ELayoutEmpty;
+ }
+
+// This is used with TAknLayoutRect
+STRUCT AVKON_LAYOUT_RECT
+ {
+ WORD C=ELayoutEmpty;
+ WORD l=ELayoutEmpty;
+ WORD t=ELayoutEmpty;
+ WORD r=ELayoutEmpty;
+ WORD b=ELayoutEmpty;
+ WORD W=ELayoutEmpty;
+ WORD H=ELayoutEmpty;
+ }
+
+// this is used with AknListBoxLayouts::LayoutImage
+#define AVKON_LAYOUT_IMAGE AVKON_LAYOUT_RECT
+
+STRUCT AVKON_LAYOUT_TEXT
+ {
+ WORD font;
+ WORD C;
+ WORD l;
+ WORD r;
+ WORD B;
+ WORD W;
+ WORD J;
+ }
+
+// This should be used with CAknLayoutUtils::LayoutEdwin
+STRUCT AVKON_LAYOUT_EDWIN
+ {
+ WORD font;
+ WORD C;
+ WORD l;
+ WORD r;
+ WORD B;
+ WORD W;
+ WORD J;
+ WORD lines=1; // Number of lines shown
+ WORD nextB=0; // Second row's baseline position
+ }
+
+// This can be used with CAknLayoutUtils::LayoutLabel to layout CEikLabel's.
+STRUCT AVKON_LAYOUT_LABEL
+ {
+ WORD font;
+ WORD C;
+ WORD l;
+ WORD r;
+ WORD B;
+ WORD W;
+ WORD J;
+ WORD nextB=0;
+ }
+
+// This is used with CAknLayoutUtils::LayoutPopupField()
+STRUCT AVKON_LAYOUT_FORM_FIELD_POPUP_PANE
+ {
+ WORD font;
+ WORD C = ELayoutEmpty;
+ WORD l = ELayoutEmpty;
+ WORD t = ELayoutEmpty;
+ WORD r = ELayoutEmpty;
+ WORD b = ELayoutEmpty;
+ WORD W = ELayoutEmpty;
+ WORD H1 = ELayoutEmpty;
+ WORD H2 = ELayoutEmpty;
+ WORD H3 = ELayoutEmpty;
+ WORD H4 = ELayoutEmpty;
+ WORD H5 = ELayoutEmpty;
+ WORD H6 = ELayoutEmpty;
+ WORD lines = 1; // Number of lines shown
+ }
+
+STRUCT AVKON_LB_LAYOUT_AREA
+ {
+ WORD id;
+ WORD x1; WORD y1;
+ WORD x2; WORD y2;
+ }
+
+STRUCT AVKON_LB_LAYOUT_COMMAND
+ {
+ WORD id;
+ WORD cmd;
+ WORD data=0;
+ }
+
+// This is only for listboxes, use
+// AknLayoutUtils/TAknLayoutText/TAknLayoutRect for getting correct layouts.
+STRUCT AVKON_LAYOUT_MANAGER
+ {
+ STRUCT gfx[]; // AVKON_LAYOUT_GFX
+ STRUCT text[]; // AVKON_LAYOUT_TEXT
+ STRUCT cmds[]; // AVKON_LAYOUT_COMMAND
+ STRUCT area[]; // AVKON_LAYOUT_AREA
+ STRUCT pos; // AVKON_LAYOUT_POS
+ }
+
+// This should be used with AknEditUtils::ConstructEditingL
+STRUCT AVKON_CONFIG_EDWIN
+ {
+ WORD editingSpace; // Max number of character in a editor field
+ WORD editingWindow; // Maximum number of lines in a editor field
+ WORD characterCase; // EAknEditorCharactersUpperCase, EAknEditorCharactersLowerCase, EAknEditorCharactersTextCase
+ WORD justification; // EAknEditorAlignNone, EAknEditorAlignCenter, EAknEditorAlignLeft, EAknEditorAlignRight
+ WORD allowedToMoveInsertionPoint;
+ WORD cursorYesNo;
+ WORD overflowYesNo;
+ }
+
+STRUCT AVKON_CBA_BUTTON
+ {
+ BYTE version=KAknCbaVersion;
+ WORD id=0;
+ WORD longpressid=0;
+ LTEXT txt="";
+ LTEXT bmpfile="";
+ WORD bmpid=0xffff; // -1
+ WORD bmpmask=0xffff; // -1
+ }
+
+// Special Character Table
+
+STRUCT SPECIAL_CHAR_TABLE
+ {
+ STRUCT contents[]; // SCT_CHAR_SET
+ }
+
+STRUCT SCT_CHAR_SET
+ {
+ WORD id;
+ LTEXT chars = "";
+ }
+
+// ---------------------------------------------------------
+// Resource structure for CAknIconArray class.
+// ---------------------------------------------------------
+//
+STRUCT AKN_ICON_ARRAY
+ {
+ WORD type = EAknIconArraySimple;
+ // Bitmap file name
+ LTEXT bmpfile;
+ // Array of AKN_ICON structures.
+ STRUCT icons[];
+ }
+
+STRUCT AKN_ICON_ARRAY_ARRAY
+ {
+ WORD type = EAknIconArrayComplex;
+ STRUCT iconarrays[]; // AKN_ICON_ARRAY
+ }
+
+// ---------------------------------------------------------
+// One icon in AKN_ICON_ARRAY
+// ---------------------------------------------------------
+//
+STRUCT AKN_ICON
+ {
+ // Id of the icon bitmap
+ LONG iconId;
+ // Id of the mask bitmap
+ LONG maskId;
+ }
+
+// Avkon KeySounds
+
+STRUCT AVKON_SOUND_INFO
+ {
+ WORD signature1 = 0x1234;
+ WORD signature2 = 0x5678;
+ WORD sid;
+ WORD priority = EAvkonKeyClickPriority;
+ LONG preference = EAvkonKeyClickPreference;
+ LTEXT file="";
+ WORD frequency=0;
+ LONG ms=0;
+ WORD sequencelength=0;
+ BYTE sequence[];
+ BYTE volume=9; // default to loudest value
+ }
+
+STRUCT AVKON_SOUND_INFO_LIST
+ {
+ STRUCT list[];
+ }
+
+STRUCT AVKON_SKEY_INFO
+ {
+ WORD sid = EAvkonSIDDefaultSound;
+ WORD key;
+ BYTE type = ESKeyTypeShort;
+ }
+
+STRUCT AVKON_SKEY_LIST
+ {
+ STRUCT list[];
+ }
+
+STRUCT PHONE_NUMBER_EDITOR
+ {
+ WORD maxChars=30;
+ WORD maxLines;
+ LTEXT truncation="";
+ STRUCT formats[];
+ }
+
+STRUCT PHONE_NUMBER_EDITOR_FORMAT
+ {
+ WORD top;
+ WORD left;
+ WORD bottom;
+ WORD right;
+ LONG border=0;
+ WORD lines;
+ WORD bottomBaselineOffset;
+ WORD baselineSeparation;
+ WORD font;
+ }
+
+// CAknPopupSettingList
+STRUCT POPUP_SETTING_LIST
+ {
+ WORD flags; // permitted flags: EAknPopupSettingListFlagAllowsUserDefinedEntry
+ WORD width; // in characters.
+ LTEXT other="Other ...";
+ LTEXT empty_text="No options";
+ LLINK new_item_setting_page_resource = 0; // These 3 to allow setting page launch from list pane
+ WORD type=0xffff;
+ LLINK new_item_setting_editor_resource = 0;
+ }
+
+// This comes from DIALOG resource and must be updates accordingly when
+// DIALOG resource is changed. see eikon.rh
+STRUCT AVKON_LIST_QUERY
+ {
+ LONG flags = EGeneralQueryFlags;
+ LTEXT xxxx1 = "";
+ LLINK xxxx2 = 0;
+ LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__OK; // CBA
+ STRUCT items[]; // AVKON_LIST_QUERY_DLG_LINE
+ LLINK xxxx3 = 0;
+ }
+
+STRUCT AVKON_MULTISELECTION_LIST_QUERY
+ {
+ LONG flags = EGeneralQueryFlags;
+ LTEXT xxxx1 = "";
+ LLINK xxxx2 = 0;
+ LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK; // CBA
+ STRUCT items[]; // AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
+ LLINK xxxx3 = 0;
+ }
+
+STRUCT AVKON_LIST_QUERY_DLG_LINE
+ {
+ WORD type = EAknCtListQueryControl;
+ LTEXT prompt = "";
+ WORD id = EListQueryControl;
+ LONG itemflags = 0;
+ STRUCT control; // AVKON_LIST_QUERY_CONTROL
+ LTEXT trailer = "";
+ LTEXT bmpfile = "";
+ WORD bmpid = 0xffff;
+ WORD bmpmask = 0xffff;
+ LTEXT tooltip = "";
+ }
+
+STRUCT AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
+ {
+ WORD type = EAknCtListQueryControl;
+ LTEXT prompt = "";
+ WORD id = EListQueryControl;
+ LONG itemflags = 0;
+ STRUCT control; // AVKON_LIST_QUERY_CONTROL
+ LTEXT trailer = "";
+ LTEXT bmpfile = "";
+ WORD bmpid = 0xffff;
+ WORD bmpmask = 0xffff;
+ LTEXT tooltip = "";
+ }
+
+STRUCT AVKON_LIST_QUERY_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxMenuList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+
+STRUCT AVKON_MULTISELECTION_LIST_QUERY_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxStylusMultiselectionList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+
+// LISTBOX resources:
+STRUCT AVKON_SELECTION_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxSelectionList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+STRUCT AVKON_MARKABLE_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxMarkableList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+
+STRUCT AVKON_MULTISELECTION_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxMultiselectionList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+
+STRUCT AVKON_MENU_LIST
+ {
+ BYTE version = 0;
+ LONG flags = EAknListBoxMenuList;
+ WORD height = 5;
+ WORD width = 10;
+ LLINK array_id = 0;
+ }
+
+STRUCT AVKON_INTEGER_EDWIN
+ {
+ WORD maxlength = 0;
+ LONG min = -99999999;
+ LONG max = 99999999;
+ LONG unset_value = -100000000;
+ LLINK extension1 = 0;
+ LLINK extension2 = 0;
+ }
+
+// Avkon note wrappers
+
+STRUCT AKN_NOTE_WRAPPER
+ {
+ // Id of the dialog resource for this note
+ LLINK resId;
+ // see TAknNoteDialogTimeout
+ LONG timeout;
+ // see TAknNoteDialogTone
+ WORD tone = -1;
+ // Prompt text
+ LTEXT text = "";
+ }
+
+STRUCT AVKON_GROUPED_NOTE_TEXTS
+ {
+ LLINK singular_label; // must point to resource of type TBUF
+ LLINK plural_label; // must point to resource of type TBUF
+ WORD flags = 0; // for future proofing
+ }
+
+// DEPRECATED.
+STRUCT AKN_SELECTION_LIST
+ {
+ WORD flags = 0; // see avkon.hrh / EAknFlagFind etc..
+ WORD listbox = EAknCtSingleListBox; // listbox layout
+ LLINK menubar = 0; // MENUBAR resource
+ LLINK dialogresource = R_AKN_SELECTION_LIST_DIALOG;
+ }
+
+STRUCT AVKON_UNUSED
+ {
+ }
+
+STRUCT AVKON_COLOUR_SELECTION_GRID
+ {
+ LTEXT nonetext = "";
+ STRUCT gridcontrol; // GRID
+ }
+
+STRUCT AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
+ {
+ WORD listtype = EAknListQueryWithMsgBox;
+ WORD actuallisttype;
+ STRUCT listbox;
+ LTEXT message = "";
+ LTEXT heading = "";
+ LTEXT bmpfile = "";
+ WORD bmpid = 0xffff;
+ WORD bmpmask = 0xffff;
+ LLINK animation = 0;
+ }
+
+// resource structures for CAknStylusActivatedPopUpContent
+STRUCT AVKON_STYLUSACTIVATEDPOPUP_CONTENT
+ {
+ LTEXT titletext = "";
+ LTEXT infotext = "";
+
+ STRUCT cmdlinks[]; // AVKON_STYLUSACTIVATEDPOPUP_LINK
+ LLINK extension = 0; // for future extensions
+ }
+
+STRUCT AVKON_STYLUSACTIVATEDPOPUP_LINK
+ {
+ BYTE linkid; // use TAknStylusPopupCmdLinkIds, see avkon.hrh
+ LTEXT linktext = "";
+ LLINK extension = 0; // for future extensions
+ }
+
+// Skinned bitmap Animation
+// Always use BMPANIM_FRAME_SKINNED with BMPANIM_DATA_SKINNED
+STRUCT BMPANIM_DATA_SKINNED
+ {
+ BYTE identifier = KAknBMPAnimVersion; // Do not change, used to identify the used resource struct.
+ LLINK skinanimationid = -1; // First try to create animation by using this id
+ WORD frameinterval = -1;
+ WORD playmode = 0;
+ BYTE flash = 0;
+ LTEXT bmpfile = "";
+ LLINK frames = 0;
+ LLINK backgroundframe = 0;
+ }
+
+STRUCT BMPANIM_FRAME_SKINNED
+ {
+ WORD time = -1;
+ WORD posx = 0;
+ WORD posy = 0;
+ WORD bmpid = -1;
+ WORD maskid = -1;
+ LLINK majorskinid = -1;
+ LLINK minorskinid = -1;
+ }
+
+// ---------------------------------------------------------------------------
+// SCT CATEGORY BUTTONS resources:
+// define the category button(s)
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_SCT_CATEGORY_BUTTONS
+ {
+ STRUCT category_buttons[]; // AVKON_SCT_CATEGORY_BUTTON
+ }
+
+// ---------------------------------------------------------------------------
+// SCT CATEGORY BUTTON resources
+// define a category button
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_SCT_CATEGORY_BUTTON
+ {
+ WORD categorybuttonid; // TAknSCTCategoryButtons (defined on avkon.hrh)
+ WORD id; // SCT enumerations (e.g. EAknSCTHalfCase) (defined on avkon.hrh)
+ LLINK button; // AVKON_BUTTON
+ }
+
+// ---------------------------------------------------------------------------
+// AVKON_NOTE_SKINNED
+// Struct for defining a skinnable Avkon note, otherwise similar as AVKON_NOTE.
+// @since S60 5.0
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_NOTE_SKINNED
+ {
+ WORD layout; // Layout.
+ LTEXT singular_label; // Singular label.
+ LTEXT plural_label = ""; // Plural label.
+ LTEXT imagefile = ""; // Image file name (including path).
+ WORD imageid = 0xffff; // Image id.
+ WORD imagemask = 0xffff; // Image mask.
+ LTEXT iconfile = ""; // Icon file name (including path).
+ WORD iconid = 0xffff; // Icon id.
+ WORD iconmask = 0xffff; // Icon mask.
+ LLINK animation = 0; // Animation.
+
+ // EAknNoteFlagWithSkinnableGraphics is used to distinguish AVKON_NOTE_SKINNED
+ // from AVKON_NOTE. Therefore it must always be set when using AVKON_NOTE_SKINNED.
+ // Other flags may also be set, and they have the same behaviour as AVKON_NOTE.
+ WORD flags = EAknNoteFlagWithSkinnableGraphics;
+
+ LLINK image_majorskinid = -1; // Major skin id for image, see AknsConstants.h.
+ LLINK image_minorskinid = -1; // Minor skin id for image, see AknsConstants.h.
+ }
+
+// ---------------------------------------------------------------------------
+// AVKON_INDICATOR_POPUP_ITEM
+// Resource structure for universal indicator pane items.
+// @since 5.0
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_INDICATOR_POPUP_ITEM
+ {
+ // UID of the status indicator.
+ WORD indicator_uid;
+
+ // Default text to be displayed for the indicator in the
+ // universal indicator popup.
+ LTEXT text;
+
+ // Reserved for future extensions.
+ LLINK extension = 0;
+ }
+
+// ---------------------------------------------------------------------------
+// Sct navi BUTTONS resources:
+// define the category button(s)
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_SCT_NAVI_BUTTONS
+ {
+ STRUCT navi_buttons[];
+ }
+
+// ---------------------------------------------------------------------------
+// Sct navi BUTTON resources
+// define a category button
+// ---------------------------------------------------------------------------
+//
+STRUCT AVKON_SCT_NAVI_BUTTON
+ {
+ WORD id;
+ LLINK button;
+ }
+
+// --------------------------------------------------------------------------
+// AVKON_DISCREET_POPUP
+// Resource structure for discreet popup (CAknDiscreetPopup).
+// @since 5.2
+// --------------------------------------------------------------------------
+//
+STRUCT AVKON_DISCREET_POPUP
+ {
+ WORD flags = 0; // popup flags
+ LTEXT titleTxt = ""; // first text line
+ LTEXT bodyTxt = ""; // second text line
+ LTEXT bmpFile = ""; // icon bitmap file
+ WORD bmpId = 0xffff; // icon bitmap id
+ WORD bmpMask = 0xffff; // icon bitmap mask id
+ LLINK majorSkinId = -1; // icon major skin id
+ LLINK minorSkinId = -1; // icon minor skin id
+ LLINK extension = 0; // reserved for future extension
+ }