1.1 --- a/epoc32/include/mw/avkon.rh Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/mw/avkon.rh Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,993 @@
1.4 -avkon.rh
1.5 +/*
1.6 +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* 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
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description: Resource structure definitions for Avkon.
1.19 +*
1.20 +*/
1.21 +
1.22 +
1.23 +#ifndef __AVKON_HRH__
1.24 +#include <avkon.hrh>
1.25 +#endif
1.26 +
1.27 +#if !defined(__BADEF_RH__)
1.28 +#include <BADEF.RH>
1.29 +#endif
1.30 +
1.31 +#if !defined(__UIKON_HRH__)
1.32 +#include <uikon.hrh>
1.33 +#endif
1.34 +
1.35 +STRUCT AVKON_SYSTEM_FONT
1.36 + {
1.37 + LONG fontuid; // a value from fontids.hrh
1.38 + STRUCT named_font; // this must be a NAMED_FONT structure type
1.39 + }
1.40 +
1.41 +STRUCT NAVI_DECORATOR
1.42 + {
1.43 + WORD type=ENaviDecoratorControlNone;
1.44 + STRUCT control;
1.45 + }
1.46 +
1.47 +STRUCT TITLE_PANE
1.48 + {
1.49 + LTEXT txt="";
1.50 + LTEXT bmpfile="";
1.51 + WORD bmpid=0xffff;
1.52 + WORD bmpmask=0xffff;
1.53 + }
1.54 +
1.55 +STRUCT CONTEXT_PANE
1.56 + {
1.57 + LTEXT bmpfile="";
1.58 + WORD bmpid=0xffff;
1.59 + WORD bmpmask=0xffff;
1.60 + }
1.61 +
1.62 +STRUCT TAB_GROUP
1.63 + {
1.64 + WORD tab_width = EAknTabWidthWithTwoTabs; // two tabs
1.65 + WORD active = 0; // index of the first active tab
1.66 + STRUCT tabs[];
1.67 + }
1.68 +
1.69 +STRUCT TAB
1.70 + {
1.71 + WORD id=0;
1.72 + LTEXT txt="";
1.73 + LTEXT bmpfile="";
1.74 + WORD bmpid=0xffff;
1.75 + WORD bmpmask=0xffff;
1.76 + }
1.77 +
1.78 +STRUCT NAVI_LABEL
1.79 + {
1.80 + LTEXT txt="";
1.81 + }
1.82 +
1.83 +STRUCT NAVI_IMAGE
1.84 + {
1.85 + LTEXT bmpfile="";
1.86 + WORD bmpid=0xffff;
1.87 + WORD bmpmask=0xffff;
1.88 + }
1.89 +
1.90 +STRUCT SIGNAL_PANE
1.91 + {
1.92 + WORD level = 0;
1.93 + }
1.94 +
1.95 +STRUCT BATTERY_PANE
1.96 + {
1.97 + WORD level = 0;
1.98 + }
1.99 +
1.100 +STRUCT INDICATOR_PANE
1.101 + {
1.102 + STRUCT indicators[];
1.103 + }
1.104 +
1.105 +STRUCT INDICATOR
1.106 + {
1.107 + WORD uid;
1.108 + WORD npriority=0xffff;
1.109 + WORD wpriority=0xffff;
1.110 + LTEXT bmpfile="";
1.111 + STRUCT states[];
1.112 + }
1.113 +
1.114 +STRUCT INDICATOR_STATE
1.115 + {
1.116 + WORD id;
1.117 + STRUCT icons[];
1.118 + }
1.119 +
1.120 +STRUCT INDICATOR_ICON
1.121 + {
1.122 + WORD narrowbmpid=0xffff;
1.123 + WORD narrowbmpmask=0xffff;
1.124 + WORD widebmpid=0xffff;
1.125 + WORD widebmpmask=0xffff;
1.126 + }
1.127 +
1.128 +STRUCT AVKON_VIEW
1.129 + {
1.130 + BYTE version=0; // resource struct version, do not change.
1.131 + LLINK hotkeys=0;
1.132 + LLINK menubar=0;
1.133 + LLINK cba=0;
1.134 + LLINK toolbar=0;
1.135 + LLINK extension=0; // reserved for future extensions
1.136 + }
1.137 +
1.138 +STRUCT AVKON_NOTE
1.139 + {
1.140 + WORD layout;
1.141 + LTEXT singular_label;
1.142 + LTEXT plural_label="";
1.143 + LTEXT imagefile="";
1.144 + WORD imageid=0xffff;
1.145 + WORD imagemask=0xffff;
1.146 + LTEXT iconfile="";
1.147 + WORD iconid=0xffff;
1.148 + WORD iconmask=0xffff;
1.149 + LLINK animation=0;
1.150 + WORD flags=0; //TNoteFlags (defined in aknnoteattributes.h)
1.151 + }
1.152 +
1.153 +STRUCT NOTE_COMPONENT
1.154 + {
1.155 + WORD component_type;
1.156 + WORD x;
1.157 + WORD y;
1.158 + WORD width;
1.159 + WORD height;
1.160 + }
1.161 +
1.162 +STRUCT NOTE
1.163 + {
1.164 + STRUCT components[];
1.165 + }
1.166 +
1.167 +STRUCT AVKON_CONFIRMATION_QUERY
1.168 + {
1.169 + WORD layout;
1.170 + LTEXT label;
1.171 + LTEXT bmpfile="";
1.172 + WORD bmpid=0xffff;
1.173 + WORD bmpmask=0xffff;
1.174 + LLINK animation=0;
1.175 + }
1.176 +
1.177 +STRUCT AVKON_DATA_QUERY
1.178 + {
1.179 + WORD layout;
1.180 + LTEXT label;
1.181 + STRUCT control;
1.182 + }
1.183 +
1.184 +STRUCT AVKON_MESSAGE_QUERY
1.185 + {
1.186 + LTEXT message = "";
1.187 + }
1.188 +
1.189 +STRUCT AVKON_MULTI_LINE_DATA_QUERY
1.190 + {
1.191 + WORD layout;
1.192 + LTEXT firstlabel;
1.193 + LLINK firstcontrol;
1.194 + LTEXT secondlabel;
1.195 + LLINK secondcontrol;
1.196 + }
1.197 +
1.198 +
1.199 +// use this with CAknQueryDialog.
1.200 +// This is for one dialog DLG line with EAknCtListQueryControl
1.201 +//
1.202 +// The list query window type is determined from EAknCtSinglePopupMenuListBox - if you want to
1.203 +// have your own borders, derive from CAknListQueryDialog and override some methods.
1.204 +
1.205 +STRUCT AVKON_LIST_QUERY_CONTROL
1.206 + {
1.207 + WORD listtype; // type of the list, for example EAknCtSinglePopupMenuListBox (window type is determined from this)
1.208 + STRUCT listbox; // LISTBOX resource, use AVKON_LIST_QUERY_LIST or AVKON_MULTISELECTION_LIST_QUERY_LIST
1.209 + LTEXT heading = "";
1.210 + LTEXT bmpfile="";
1.211 + WORD bmpid=0xffff;
1.212 + WORD bmpmask=0xffff;
1.213 + LLINK animation=0;
1.214 + }
1.215 +
1.216 +STRUCT AVKON_HEADING
1.217 + {
1.218 + LTEXT label = ""; // default is no heading
1.219 + LTEXT bmpfile="";
1.220 + WORD bmpid=0xffff;
1.221 + WORD bmpmask=0xffff;
1.222 + LLINK animation=0;
1.223 + LLINK headinglayout = R_AVKON_LIST_HEADING_PANE;
1.224 + }
1.225 +
1.226 +// CAknPopupField
1.227 +STRUCT POPUP_FIELD
1.228 + {
1.229 + WORD flags=0; // permitted flags: EAknPopupFieldFlagAllowsUserDefinedEntry
1.230 + WORD width=0; // in characters
1.231 + LTEXT other=""; // if non-empty, replaces
1.232 + LLINK emptynote = 0; // note to be displayed if popupfield is empty
1.233 + LTEXT empty=""; // text to display if popupfield is empty
1.234 + LTEXT invalid = ""; // text to display if popupfield is invalid
1.235 + }
1.236 +
1.237 +STRUCT POPUP_FIELD_TEXT
1.238 + {
1.239 + STRUCT popupfield; // only use POPUP_FIELD here
1.240 + LLINK textarray = 0; // resource ID of an array of text
1.241 + WORD active = 0; // zero based, item in textarray to be initially selected
1.242 + }
1.243 +
1.244 +STRUCT POPUP_FIELD_SELECTION_BMP
1.245 + {
1.246 + LTEXT bmpfile="";
1.247 + WORD bmpidon=0xffff;
1.248 + WORD bmpmaskon=0xffff;
1.249 + WORD bmpidoff=0xffff;
1.250 + WORD bmpmaskoff=0xffff;
1.251 + }
1.252 +
1.253 +STRUCT SLIDER
1.254 + {
1.255 + WORD layout;
1.256 + WORD minvalue;
1.257 + WORD maxvalue;
1.258 + WORD step;
1.259 + WORD valuetype=EAknSliderValueBareFigure;
1.260 + WORD decimalplaces=0;
1.261 + LTEXT singular_valuelabel = "";
1.262 + LTEXT minlabel="";
1.263 + LTEXT maxlabel="";
1.264 + LTEXT valuelabel="";
1.265 + LLINK graphical_image=0;
1.266 + }
1.267 +
1.268 +/** used with CAknVolumeControl
1.269 + * see avkon.hrh for the flag definitions
1.270 + * This struct uses default values for volume range:
1.271 + * ESettingsVolumeControl, EDynRangeSettingsVolumeControl: 1-10
1.272 + * ENaviPaneVolumeControl, EPopupVolumeControl, EDynRangeNaviPaneVolumeControl,
1.273 + * EDynRangePopupVolumeControl, ESmallPopupVolumeControl,
1.274 + * ESmallPopupVolumeControlWithPercent: 0-10
1.275 + */
1.276 +STRUCT VOLUME
1.277 + {
1.278 + WORD flags;
1.279 + WORD value;
1.280 + LTEXT bmpfile="";
1.281 + WORD bmpid=0xffff;
1.282 + WORD bmpmask=0xffff;
1.283 + }
1.284 +
1.285 +/** used with CAknVolumeControl
1.286 + * This struct is used with flags defined in
1.287 + * TAknVolumeControlDynamicLayouts
1.288 + * see avkon.hrh for the flag definitions
1.289 + * @since 3.2
1.290 + */
1.291 +STRUCT DYNAMIC_VOLUME
1.292 + {
1.293 + WORD identifier = 0xffff; // Do not change
1.294 + WORD flags;
1.295 + WORD value;
1.296 + LTEXT bmpfile="";
1.297 + WORD bmpid=0xffff;
1.298 + WORD bmpmask=0xffff;
1.299 + WORD minvalue = 0;
1.300 + WORD maxvalue = 10;
1.301 + }
1.302 +
1.303 +STRUCT NUMSECRETED
1.304 + {
1.305 + WORD num_code_chars=8;
1.306 + }
1.307 +
1.308 +STRUCT GRID_STYLE
1.309 + {
1.310 + WORD layoutflags = 0;
1.311 + WORD primaryscroll = 0;
1.312 + WORD secondaryscroll = 0;
1.313 + WORD itemsinprimaryorient = 0;
1.314 + WORD itemsinsecondaryorient = 0;
1.315 + WORD height = 0;
1.316 + WORD width = 0;
1.317 + WORD gapwidth = 0;
1.318 + WORD gapheight = 0;
1.319 + }
1.320 +
1.321 +STRUCT GRID
1.322 + {
1.323 + BYTE version = 0;
1.324 + LONG flags = 0;
1.325 + WORD height = 5; // in items
1.326 + WORD width = 10; // in chars
1.327 + LLINK array_id = 0;
1.328 + LTEXT emptytext = "";
1.329 + LLINK style = 0;
1.330 + }
1.331 +
1.332 +STRUCT AVKON_SETTING_PAGE
1.333 + {
1.334 + WORD number = EAknSettingPageNoOrdinalDisplayed;
1.335 + LTEXT label;
1.336 + LTEXT hint_text;
1.337 + LLINK softkey_resource = 0;
1.338 + LLINK menubar= 0;
1.339 + WORD type=0xffff;
1.340 + LLINK editor_resource_id = 0;
1.341 + LLINK invalid_contents_softkey_resource = 0;
1.342 + LLINK extension = 0;
1.343 + }
1.344 +
1.345 +STRUCT AVKON_SETTING_ITEM_LIST
1.346 + {
1.347 + WORD flags = 0; // Allowed values: EAknSettingItemListNumberedStyle
1.348 + LTEXT title = "";
1.349 + WORD initial_number = 1;
1.350 + STRUCT items[];
1.351 + }
1.352 +
1.353 +STRUCT AVKON_SETTING_ITEM
1.354 + {
1.355 + WORD identifier = 0;
1.356 + LTEXT name ="";
1.357 + LLINK setting_page_resource = 0;
1.358 + WORD type=0xffff;
1.359 + LLINK setting_editor_resource = 0;
1.360 + LLINK associated_resource = 0;
1.361 + LTEXT empty_item_text = "";
1.362 + LTEXT compulsory_ind_string = "";
1.363 + LLINK reserved = 0; // Added for extensions
1.364 + }
1.365 +
1.366 +STRUCT AVKON_PASSWORD_CONFIRMATION
1.367 + {
1.368 + LLINK password_query_resource = 0;
1.369 + LLINK success_note_resource = 0;
1.370 + LLINK failure_note_resource = 0;
1.371 + }
1.372 +
1.373 +STRUCT AVKON_ENUMERATED_TEXT
1.374 + {
1.375 + WORD value = 0 ;
1.376 + LTEXT text;
1.377 + }
1.378 +
1.379 +STRUCT AVKON_POPUP_SETTING_TEXTS
1.380 + {
1.381 + WORD flags = 0;
1.382 + LLINK setting_texts_resource = 0;
1.383 + LLINK popped_up_texts_resource = 0;
1.384 + LLINK reserved = 0;
1.385 + }
1.386 +
1.387 +STRUCT AVKON_SEARCH_FIELD
1.388 + {
1.389 + }
1.390 +
1.391 +STRUCT AVKON_LISTBOX_LINES
1.392 + {
1.393 + STRUCT vline1;
1.394 + STRUCT vline2;
1.395 + STRUCT hline;
1.396 + }
1.397 +
1.398 +// Bitmap Animation
1.399 +STRUCT BMPANIM_DATA
1.400 + {
1.401 + BYTE identifier = 0; // Do not change, used to identify the used resource struct.
1.402 + WORD frameinterval = -1;
1.403 + WORD playmode = 0;
1.404 + BYTE flash = 0;
1.405 + LTEXT bmpfile = "";
1.406 + LLINK frames = 0;
1.407 + LLINK backgroundframe = 0;
1.408 + }
1.409 +
1.410 +STRUCT BMPANIM_FRAME
1.411 + {
1.412 + WORD time = -1;
1.413 + WORD posx = 0;
1.414 + WORD posy = 0;
1.415 + WORD bmpid = -1;
1.416 + WORD maskid = -1;
1.417 + }
1.418 +
1.419 +// Resource-based layout resources (Deprecated)
1.420 +// These does not define absolute coordinates => resizing these layouts is possible!
1.421 +//
1.422 +// (those which does not mention column or form in their name could be used later by
1.423 +// other controls for their layout - there will be generic resource reader for these)
1.424 +
1.425 +// this is used with listboxes
1.426 +STRUCT AVKON_LB_LAYOUT_POS
1.427 + {
1.428 + WORD l=ELayoutEmpty;
1.429 + WORD t=ELayoutEmpty;
1.430 + WORD r=ELayoutEmpty;
1.431 + WORD b=ELayoutEmpty;
1.432 + WORD W=ELayoutEmpty;
1.433 + WORD H=ELayoutEmpty;
1.434 + }
1.435 +
1.436 +// this is used with listboxes too
1.437 +STRUCT AVKON_LB_LAYOUT_GFX
1.438 + {
1.439 + WORD id;
1.440 + WORD C=ELayoutEmpty;
1.441 + WORD l=ELayoutEmpty;
1.442 + WORD t=ELayoutEmpty;
1.443 + WORD r=ELayoutEmpty;
1.444 + WORD b=ELayoutEmpty;
1.445 + WORD W=ELayoutEmpty;
1.446 + WORD H=ELayoutEmpty;
1.447 + }
1.448 +
1.449 +// This is used with listboxes
1.450 +STRUCT AVKON_LB_LAYOUT_TEXT
1.451 + {
1.452 + WORD id;
1.453 + WORD font; WORD C; WORD lm; WORD rm; WORD B; WORD W; WORD align;
1.454 + }
1.455 +
1.456 +// This is used with CAknLayoutUtils::LayoutControl()
1.457 +STRUCT AVKON_LAYOUT_CONTROL
1.458 + {
1.459 + WORD C=ELayoutEmpty;
1.460 + WORD l=ELayoutEmpty;
1.461 + WORD t=ELayoutEmpty;
1.462 + WORD r=ELayoutEmpty;
1.463 + WORD b=ELayoutEmpty;
1.464 + WORD W=ELayoutEmpty;
1.465 + WORD H=ELayoutEmpty;
1.466 + }
1.467 +
1.468 +// This is used with TAknLayoutRect
1.469 +STRUCT AVKON_LAYOUT_RECT
1.470 + {
1.471 + WORD C=ELayoutEmpty;
1.472 + WORD l=ELayoutEmpty;
1.473 + WORD t=ELayoutEmpty;
1.474 + WORD r=ELayoutEmpty;
1.475 + WORD b=ELayoutEmpty;
1.476 + WORD W=ELayoutEmpty;
1.477 + WORD H=ELayoutEmpty;
1.478 + }
1.479 +
1.480 +// this is used with AknListBoxLayouts::LayoutImage
1.481 +#define AVKON_LAYOUT_IMAGE AVKON_LAYOUT_RECT
1.482 +
1.483 +STRUCT AVKON_LAYOUT_TEXT
1.484 + {
1.485 + WORD font;
1.486 + WORD C;
1.487 + WORD l;
1.488 + WORD r;
1.489 + WORD B;
1.490 + WORD W;
1.491 + WORD J;
1.492 + }
1.493 +
1.494 +// This should be used with CAknLayoutUtils::LayoutEdwin
1.495 +STRUCT AVKON_LAYOUT_EDWIN
1.496 + {
1.497 + WORD font;
1.498 + WORD C;
1.499 + WORD l;
1.500 + WORD r;
1.501 + WORD B;
1.502 + WORD W;
1.503 + WORD J;
1.504 + WORD lines=1; // Number of lines shown
1.505 + WORD nextB=0; // Second row's baseline position
1.506 + }
1.507 +
1.508 +// This can be used with CAknLayoutUtils::LayoutLabel to layout CEikLabel's.
1.509 +STRUCT AVKON_LAYOUT_LABEL
1.510 + {
1.511 + WORD font;
1.512 + WORD C;
1.513 + WORD l;
1.514 + WORD r;
1.515 + WORD B;
1.516 + WORD W;
1.517 + WORD J;
1.518 + WORD nextB=0;
1.519 + }
1.520 +
1.521 +// This is used with CAknLayoutUtils::LayoutPopupField()
1.522 +STRUCT AVKON_LAYOUT_FORM_FIELD_POPUP_PANE
1.523 + {
1.524 + WORD font;
1.525 + WORD C = ELayoutEmpty;
1.526 + WORD l = ELayoutEmpty;
1.527 + WORD t = ELayoutEmpty;
1.528 + WORD r = ELayoutEmpty;
1.529 + WORD b = ELayoutEmpty;
1.530 + WORD W = ELayoutEmpty;
1.531 + WORD H1 = ELayoutEmpty;
1.532 + WORD H2 = ELayoutEmpty;
1.533 + WORD H3 = ELayoutEmpty;
1.534 + WORD H4 = ELayoutEmpty;
1.535 + WORD H5 = ELayoutEmpty;
1.536 + WORD H6 = ELayoutEmpty;
1.537 + WORD lines = 1; // Number of lines shown
1.538 + }
1.539 +
1.540 +STRUCT AVKON_LB_LAYOUT_AREA
1.541 + {
1.542 + WORD id;
1.543 + WORD x1; WORD y1;
1.544 + WORD x2; WORD y2;
1.545 + }
1.546 +
1.547 +STRUCT AVKON_LB_LAYOUT_COMMAND
1.548 + {
1.549 + WORD id;
1.550 + WORD cmd;
1.551 + WORD data=0;
1.552 + }
1.553 +
1.554 +// This is only for listboxes, use
1.555 +// AknLayoutUtils/TAknLayoutText/TAknLayoutRect for getting correct layouts.
1.556 +STRUCT AVKON_LAYOUT_MANAGER
1.557 + {
1.558 + STRUCT gfx[]; // AVKON_LAYOUT_GFX
1.559 + STRUCT text[]; // AVKON_LAYOUT_TEXT
1.560 + STRUCT cmds[]; // AVKON_LAYOUT_COMMAND
1.561 + STRUCT area[]; // AVKON_LAYOUT_AREA
1.562 + STRUCT pos; // AVKON_LAYOUT_POS
1.563 + }
1.564 +
1.565 +// This should be used with AknEditUtils::ConstructEditingL
1.566 +STRUCT AVKON_CONFIG_EDWIN
1.567 + {
1.568 + WORD editingSpace; // Max number of character in a editor field
1.569 + WORD editingWindow; // Maximum number of lines in a editor field
1.570 + WORD characterCase; // EAknEditorCharactersUpperCase, EAknEditorCharactersLowerCase, EAknEditorCharactersTextCase
1.571 + WORD justification; // EAknEditorAlignNone, EAknEditorAlignCenter, EAknEditorAlignLeft, EAknEditorAlignRight
1.572 + WORD allowedToMoveInsertionPoint;
1.573 + WORD cursorYesNo;
1.574 + WORD overflowYesNo;
1.575 + }
1.576 +
1.577 +STRUCT AVKON_CBA_BUTTON
1.578 + {
1.579 + BYTE version=KAknCbaVersion;
1.580 + WORD id=0;
1.581 + WORD longpressid=0;
1.582 + LTEXT txt="";
1.583 + LTEXT bmpfile="";
1.584 + WORD bmpid=0xffff; // -1
1.585 + WORD bmpmask=0xffff; // -1
1.586 + }
1.587 +
1.588 +// Special Character Table
1.589 +
1.590 +STRUCT SPECIAL_CHAR_TABLE
1.591 + {
1.592 + STRUCT contents[]; // SCT_CHAR_SET
1.593 + }
1.594 +
1.595 +STRUCT SCT_CHAR_SET
1.596 + {
1.597 + WORD id;
1.598 + LTEXT chars = "";
1.599 + }
1.600 +
1.601 +// ---------------------------------------------------------
1.602 +// Resource structure for CAknIconArray class.
1.603 +// ---------------------------------------------------------
1.604 +//
1.605 +STRUCT AKN_ICON_ARRAY
1.606 + {
1.607 + WORD type = EAknIconArraySimple;
1.608 + // Bitmap file name
1.609 + LTEXT bmpfile;
1.610 + // Array of AKN_ICON structures.
1.611 + STRUCT icons[];
1.612 + }
1.613 +
1.614 +STRUCT AKN_ICON_ARRAY_ARRAY
1.615 + {
1.616 + WORD type = EAknIconArrayComplex;
1.617 + STRUCT iconarrays[]; // AKN_ICON_ARRAY
1.618 + }
1.619 +
1.620 +// ---------------------------------------------------------
1.621 +// One icon in AKN_ICON_ARRAY
1.622 +// ---------------------------------------------------------
1.623 +//
1.624 +STRUCT AKN_ICON
1.625 + {
1.626 + // Id of the icon bitmap
1.627 + LONG iconId;
1.628 + // Id of the mask bitmap
1.629 + LONG maskId;
1.630 + }
1.631 +
1.632 +// Avkon KeySounds
1.633 +
1.634 +STRUCT AVKON_SOUND_INFO
1.635 + {
1.636 + WORD signature1 = 0x1234;
1.637 + WORD signature2 = 0x5678;
1.638 + WORD sid;
1.639 + WORD priority = EAvkonKeyClickPriority;
1.640 + LONG preference = EAvkonKeyClickPreference;
1.641 + LTEXT file="";
1.642 + WORD frequency=0;
1.643 + LONG ms=0;
1.644 + WORD sequencelength=0;
1.645 + BYTE sequence[];
1.646 + BYTE volume=9; // default to loudest value
1.647 + }
1.648 +
1.649 +STRUCT AVKON_SOUND_INFO_LIST
1.650 + {
1.651 + STRUCT list[];
1.652 + }
1.653 +
1.654 +STRUCT AVKON_SKEY_INFO
1.655 + {
1.656 + WORD sid = EAvkonSIDDefaultSound;
1.657 + WORD key;
1.658 + BYTE type = ESKeyTypeShort;
1.659 + }
1.660 +
1.661 +STRUCT AVKON_SKEY_LIST
1.662 + {
1.663 + STRUCT list[];
1.664 + }
1.665 +
1.666 +STRUCT PHONE_NUMBER_EDITOR
1.667 + {
1.668 + WORD maxChars=30;
1.669 + WORD maxLines;
1.670 + LTEXT truncation="";
1.671 + STRUCT formats[];
1.672 + }
1.673 +
1.674 +STRUCT PHONE_NUMBER_EDITOR_FORMAT
1.675 + {
1.676 + WORD top;
1.677 + WORD left;
1.678 + WORD bottom;
1.679 + WORD right;
1.680 + LONG border=0;
1.681 + WORD lines;
1.682 + WORD bottomBaselineOffset;
1.683 + WORD baselineSeparation;
1.684 + WORD font;
1.685 + }
1.686 +
1.687 +// CAknPopupSettingList
1.688 +STRUCT POPUP_SETTING_LIST
1.689 + {
1.690 + WORD flags; // permitted flags: EAknPopupSettingListFlagAllowsUserDefinedEntry
1.691 + WORD width; // in characters.
1.692 + LTEXT other="Other ...";
1.693 + LTEXT empty_text="No options";
1.694 + LLINK new_item_setting_page_resource = 0; // These 3 to allow setting page launch from list pane
1.695 + WORD type=0xffff;
1.696 + LLINK new_item_setting_editor_resource = 0;
1.697 + }
1.698 +
1.699 +// This comes from DIALOG resource and must be updates accordingly when
1.700 +// DIALOG resource is changed. see eikon.rh
1.701 +STRUCT AVKON_LIST_QUERY
1.702 + {
1.703 + LONG flags = EGeneralQueryFlags;
1.704 + LTEXT xxxx1 = "";
1.705 + LLINK xxxx2 = 0;
1.706 + LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__OK; // CBA
1.707 + STRUCT items[]; // AVKON_LIST_QUERY_DLG_LINE
1.708 + LLINK xxxx3 = 0;
1.709 + }
1.710 +
1.711 +STRUCT AVKON_MULTISELECTION_LIST_QUERY
1.712 + {
1.713 + LONG flags = EGeneralQueryFlags;
1.714 + LTEXT xxxx1 = "";
1.715 + LLINK xxxx2 = 0;
1.716 + LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK; // CBA
1.717 + STRUCT items[]; // AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
1.718 + LLINK xxxx3 = 0;
1.719 + }
1.720 +
1.721 +STRUCT AVKON_LIST_QUERY_DLG_LINE
1.722 + {
1.723 + WORD type = EAknCtListQueryControl;
1.724 + LTEXT prompt = "";
1.725 + WORD id = EListQueryControl;
1.726 + LONG itemflags = 0;
1.727 + STRUCT control; // AVKON_LIST_QUERY_CONTROL
1.728 + LTEXT trailer = "";
1.729 + LTEXT bmpfile = "";
1.730 + WORD bmpid = 0xffff;
1.731 + WORD bmpmask = 0xffff;
1.732 + LTEXT tooltip = "";
1.733 + }
1.734 +
1.735 +STRUCT AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
1.736 + {
1.737 + WORD type = EAknCtListQueryControl;
1.738 + LTEXT prompt = "";
1.739 + WORD id = EListQueryControl;
1.740 + LONG itemflags = 0;
1.741 + STRUCT control; // AVKON_LIST_QUERY_CONTROL
1.742 + LTEXT trailer = "";
1.743 + LTEXT bmpfile = "";
1.744 + WORD bmpid = 0xffff;
1.745 + WORD bmpmask = 0xffff;
1.746 + LTEXT tooltip = "";
1.747 + }
1.748 +
1.749 +STRUCT AVKON_LIST_QUERY_LIST
1.750 + {
1.751 + BYTE version = 0;
1.752 + LONG flags = EAknListBoxMenuList;
1.753 + WORD height = 5;
1.754 + WORD width = 10;
1.755 + LLINK array_id = 0;
1.756 + }
1.757 +
1.758 +STRUCT AVKON_MULTISELECTION_LIST_QUERY_LIST
1.759 + {
1.760 + BYTE version = 0;
1.761 + LONG flags = EAknListBoxStylusMultiselectionList;
1.762 + WORD height = 5;
1.763 + WORD width = 10;
1.764 + LLINK array_id = 0;
1.765 + }
1.766 +
1.767 +// LISTBOX resources:
1.768 +STRUCT AVKON_SELECTION_LIST
1.769 + {
1.770 + BYTE version = 0;
1.771 + LONG flags = EAknListBoxSelectionList;
1.772 + WORD height = 5;
1.773 + WORD width = 10;
1.774 + LLINK array_id = 0;
1.775 + }
1.776 +STRUCT AVKON_MARKABLE_LIST
1.777 + {
1.778 + BYTE version = 0;
1.779 + LONG flags = EAknListBoxMarkableList;
1.780 + WORD height = 5;
1.781 + WORD width = 10;
1.782 + LLINK array_id = 0;
1.783 + }
1.784 +
1.785 +STRUCT AVKON_MULTISELECTION_LIST
1.786 + {
1.787 + BYTE version = 0;
1.788 + LONG flags = EAknListBoxMultiselectionList;
1.789 + WORD height = 5;
1.790 + WORD width = 10;
1.791 + LLINK array_id = 0;
1.792 + }
1.793 +
1.794 +STRUCT AVKON_MENU_LIST
1.795 + {
1.796 + BYTE version = 0;
1.797 + LONG flags = EAknListBoxMenuList;
1.798 + WORD height = 5;
1.799 + WORD width = 10;
1.800 + LLINK array_id = 0;
1.801 + }
1.802 +
1.803 +STRUCT AVKON_INTEGER_EDWIN
1.804 + {
1.805 + WORD maxlength = 0;
1.806 + LONG min = -99999999;
1.807 + LONG max = 99999999;
1.808 + LONG unset_value = -100000000;
1.809 + LLINK extension1 = 0;
1.810 + LLINK extension2 = 0;
1.811 + }
1.812 +
1.813 +// Avkon note wrappers
1.814 +
1.815 +STRUCT AKN_NOTE_WRAPPER
1.816 + {
1.817 + // Id of the dialog resource for this note
1.818 + LLINK resId;
1.819 + // see TAknNoteDialogTimeout
1.820 + LONG timeout;
1.821 + // see TAknNoteDialogTone
1.822 + WORD tone = -1;
1.823 + // Prompt text
1.824 + LTEXT text = "";
1.825 + }
1.826 +
1.827 +STRUCT AVKON_GROUPED_NOTE_TEXTS
1.828 + {
1.829 + LLINK singular_label; // must point to resource of type TBUF
1.830 + LLINK plural_label; // must point to resource of type TBUF
1.831 + WORD flags = 0; // for future proofing
1.832 + }
1.833 +
1.834 +// DEPRECATED.
1.835 +STRUCT AKN_SELECTION_LIST
1.836 + {
1.837 + WORD flags = 0; // see avkon.hrh / EAknFlagFind etc..
1.838 + WORD listbox = EAknCtSingleListBox; // listbox layout
1.839 + LLINK menubar = 0; // MENUBAR resource
1.840 + LLINK dialogresource = R_AKN_SELECTION_LIST_DIALOG;
1.841 + }
1.842 +
1.843 +STRUCT AVKON_UNUSED
1.844 + {
1.845 + }
1.846 +
1.847 +STRUCT AVKON_COLOUR_SELECTION_GRID
1.848 + {
1.849 + LTEXT nonetext = "";
1.850 + STRUCT gridcontrol; // GRID
1.851 + }
1.852 +
1.853 +STRUCT AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
1.854 + {
1.855 + WORD listtype = EAknListQueryWithMsgBox;
1.856 + WORD actuallisttype;
1.857 + STRUCT listbox;
1.858 + LTEXT message = "";
1.859 + LTEXT heading = "";
1.860 + LTEXT bmpfile = "";
1.861 + WORD bmpid = 0xffff;
1.862 + WORD bmpmask = 0xffff;
1.863 + LLINK animation = 0;
1.864 + }
1.865 +
1.866 +// resource structures for CAknStylusActivatedPopUpContent
1.867 +STRUCT AVKON_STYLUSACTIVATEDPOPUP_CONTENT
1.868 + {
1.869 + LTEXT titletext = "";
1.870 + LTEXT infotext = "";
1.871 +
1.872 + STRUCT cmdlinks[]; // AVKON_STYLUSACTIVATEDPOPUP_LINK
1.873 + LLINK extension = 0; // for future extensions
1.874 + }
1.875 +
1.876 +STRUCT AVKON_STYLUSACTIVATEDPOPUP_LINK
1.877 + {
1.878 + BYTE linkid; // use TAknStylusPopupCmdLinkIds, see avkon.hrh
1.879 + LTEXT linktext = "";
1.880 + LLINK extension = 0; // for future extensions
1.881 + }
1.882 +
1.883 +// Skinned bitmap Animation
1.884 +// Always use BMPANIM_FRAME_SKINNED with BMPANIM_DATA_SKINNED
1.885 +STRUCT BMPANIM_DATA_SKINNED
1.886 + {
1.887 + BYTE identifier = KAknBMPAnimVersion; // Do not change, used to identify the used resource struct.
1.888 + LLINK skinanimationid = -1; // First try to create animation by using this id
1.889 + WORD frameinterval = -1;
1.890 + WORD playmode = 0;
1.891 + BYTE flash = 0;
1.892 + LTEXT bmpfile = "";
1.893 + LLINK frames = 0;
1.894 + LLINK backgroundframe = 0;
1.895 + }
1.896 +
1.897 +STRUCT BMPANIM_FRAME_SKINNED
1.898 + {
1.899 + WORD time = -1;
1.900 + WORD posx = 0;
1.901 + WORD posy = 0;
1.902 + WORD bmpid = -1;
1.903 + WORD maskid = -1;
1.904 + LLINK majorskinid = -1;
1.905 + LLINK minorskinid = -1;
1.906 + }
1.907 +
1.908 +// ---------------------------------------------------------------------------
1.909 +// SCT CATEGORY BUTTONS resources:
1.910 +// define the category button(s)
1.911 +// ---------------------------------------------------------------------------
1.912 +//
1.913 +STRUCT AVKON_SCT_CATEGORY_BUTTONS
1.914 + {
1.915 + STRUCT category_buttons[]; // AVKON_SCT_CATEGORY_BUTTON
1.916 + }
1.917 +
1.918 +// ---------------------------------------------------------------------------
1.919 +// SCT CATEGORY BUTTON resources
1.920 +// define a category button
1.921 +// ---------------------------------------------------------------------------
1.922 +//
1.923 +STRUCT AVKON_SCT_CATEGORY_BUTTON
1.924 + {
1.925 + WORD categorybuttonid; // TAknSCTCategoryButtons (defined on avkon.hrh)
1.926 + WORD id; // SCT enumerations (e.g. EAknSCTHalfCase) (defined on avkon.hrh)
1.927 + LLINK button; // AVKON_BUTTON
1.928 + }
1.929 +
1.930 +// ---------------------------------------------------------------------------
1.931 +// AVKON_NOTE_SKINNED
1.932 +// Struct for defining a skinnable Avkon note, otherwise similar as AVKON_NOTE.
1.933 +// @since S60 5.0
1.934 +// ---------------------------------------------------------------------------
1.935 +//
1.936 +STRUCT AVKON_NOTE_SKINNED
1.937 + {
1.938 + WORD layout; // Layout.
1.939 + LTEXT singular_label; // Singular label.
1.940 + LTEXT plural_label = ""; // Plural label.
1.941 + LTEXT imagefile = ""; // Image file name (including path).
1.942 + WORD imageid = 0xffff; // Image id.
1.943 + WORD imagemask = 0xffff; // Image mask.
1.944 + LTEXT iconfile = ""; // Icon file name (including path).
1.945 + WORD iconid = 0xffff; // Icon id.
1.946 + WORD iconmask = 0xffff; // Icon mask.
1.947 + LLINK animation = 0; // Animation.
1.948 +
1.949 + // EAknNoteFlagWithSkinnableGraphics is used to distinguish AVKON_NOTE_SKINNED
1.950 + // from AVKON_NOTE. Therefore it must always be set when using AVKON_NOTE_SKINNED.
1.951 + // Other flags may also be set, and they have the same behaviour as AVKON_NOTE.
1.952 + WORD flags = EAknNoteFlagWithSkinnableGraphics;
1.953 +
1.954 + LLINK image_majorskinid = -1; // Major skin id for image, see AknsConstants.h.
1.955 + LLINK image_minorskinid = -1; // Minor skin id for image, see AknsConstants.h.
1.956 + }
1.957 +
1.958 +// ---------------------------------------------------------------------------
1.959 +// AVKON_INDICATOR_POPUP_ITEM
1.960 +// Resource structure for universal indicator pane items.
1.961 +// @since 5.0
1.962 +// ---------------------------------------------------------------------------
1.963 +//
1.964 +STRUCT AVKON_INDICATOR_POPUP_ITEM
1.965 + {
1.966 + // UID of the status indicator.
1.967 + WORD indicator_uid;
1.968 +
1.969 + // Default text to be displayed for the indicator in the
1.970 + // universal indicator popup.
1.971 + LTEXT text;
1.972 +
1.973 + // Reserved for future extensions.
1.974 + LLINK extension = 0;
1.975 + }
1.976 +
1.977 +// ---------------------------------------------------------------------------
1.978 +// Sct navi BUTTONS resources:
1.979 +// define the category button(s)
1.980 +// ---------------------------------------------------------------------------
1.981 +//
1.982 +STRUCT AVKON_SCT_NAVI_BUTTONS
1.983 + {
1.984 + STRUCT navi_buttons[];
1.985 + }
1.986 +
1.987 +// ---------------------------------------------------------------------------
1.988 +// Sct navi BUTTON resources
1.989 +// define a category button
1.990 +// ---------------------------------------------------------------------------
1.991 +//
1.992 +STRUCT AVKON_SCT_NAVI_BUTTON
1.993 + {
1.994 + WORD id;
1.995 + LLINK button;
1.996 + }
1.997 +