epoc32/include/mw/avkon.rh
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
     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 +