classicui_pub/ui_framework_definitions_api/inc/avkon.rh
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
--- /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
+    }