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