classicui_pub/ui_framework_definitions_api/inc/avkon.rh
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
equal deleted inserted replaced
-1:000000000000 0:2f259fa3e83a
       
     1 /*
       
     2 * Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Resource structure definitions for Avkon.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef __AVKON_HRH__
       
    20 #include <avkon.hrh>
       
    21 #endif
       
    22 
       
    23 #if !defined(__BADEF_RH__)
       
    24 #include <badef.rh>
       
    25 #endif
       
    26 
       
    27 #if !defined(__UIKON_HRH__)
       
    28 #include <uikon.hrh>
       
    29 #endif
       
    30 
       
    31 STRUCT AVKON_SYSTEM_FONT
       
    32     {
       
    33     LONG fontuid; // a value from fontids.hrh
       
    34     STRUCT named_font; // this must be a NAMED_FONT structure type
       
    35     }
       
    36 
       
    37 STRUCT NAVI_DECORATOR
       
    38     {
       
    39     WORD type=ENaviDecoratorControlNone;
       
    40     STRUCT control;
       
    41     }
       
    42 
       
    43 STRUCT TITLE_PANE
       
    44     {
       
    45     LTEXT txt="";
       
    46     LTEXT bmpfile="";
       
    47     WORD bmpid=0xffff;
       
    48     WORD bmpmask=0xffff;
       
    49     }
       
    50 
       
    51 STRUCT CONTEXT_PANE
       
    52     {
       
    53     LTEXT bmpfile="";
       
    54     WORD bmpid=0xffff;
       
    55     WORD bmpmask=0xffff;
       
    56     }
       
    57 
       
    58 STRUCT TAB_GROUP
       
    59     {
       
    60     WORD tab_width = EAknTabWidthWithTwoTabs;  // two tabs
       
    61     WORD active = 0; // index of the first active tab
       
    62     STRUCT tabs[];
       
    63     }
       
    64 
       
    65 STRUCT TAB
       
    66     {
       
    67     WORD id=0;
       
    68     LTEXT txt="";
       
    69     LTEXT bmpfile="";
       
    70     WORD bmpid=0xffff;
       
    71     WORD bmpmask=0xffff;
       
    72     }
       
    73 
       
    74 STRUCT NAVI_LABEL
       
    75     {
       
    76     LTEXT txt="";
       
    77     }
       
    78 
       
    79 STRUCT NAVI_IMAGE
       
    80     {
       
    81     LTEXT bmpfile="";
       
    82     WORD bmpid=0xffff;
       
    83     WORD bmpmask=0xffff;
       
    84     }
       
    85 
       
    86 STRUCT SIGNAL_PANE
       
    87     {
       
    88     WORD level = 0;
       
    89     }
       
    90 
       
    91 STRUCT BATTERY_PANE
       
    92     {
       
    93     WORD level = 0;
       
    94     }
       
    95 
       
    96 STRUCT INDICATOR_PANE
       
    97     {
       
    98     STRUCT indicators[];
       
    99     }
       
   100 
       
   101 STRUCT INDICATOR
       
   102     {
       
   103     WORD uid;
       
   104     WORD npriority=0xffff;
       
   105     WORD wpriority=0xffff;
       
   106     LTEXT bmpfile="";
       
   107     STRUCT states[];
       
   108     }
       
   109 
       
   110 STRUCT INDICATOR_STATE
       
   111     {
       
   112     WORD id;
       
   113     STRUCT icons[];
       
   114     }
       
   115 
       
   116 STRUCT INDICATOR_ICON
       
   117     {
       
   118     WORD narrowbmpid=0xffff;
       
   119     WORD narrowbmpmask=0xffff;
       
   120     WORD widebmpid=0xffff;
       
   121     WORD widebmpmask=0xffff;
       
   122     }
       
   123 
       
   124 STRUCT AVKON_VIEW
       
   125     {
       
   126     BYTE version=0; // resource struct version, do not change.
       
   127     LLINK hotkeys=0;
       
   128     LLINK menubar=0;
       
   129     LLINK cba=0;
       
   130     LLINK toolbar=0;
       
   131     LLINK extension=0; // reserved for future extensions
       
   132     }
       
   133 
       
   134 STRUCT AVKON_NOTE
       
   135     {
       
   136     WORD layout;
       
   137     LTEXT singular_label;
       
   138     LTEXT plural_label="";
       
   139     LTEXT imagefile="";
       
   140     WORD imageid=0xffff;
       
   141     WORD imagemask=0xffff;
       
   142     LTEXT iconfile="";
       
   143     WORD iconid=0xffff;
       
   144     WORD iconmask=0xffff;
       
   145     LLINK animation=0;
       
   146     WORD flags=0; //TNoteFlags (defined in aknnoteattributes.h)
       
   147     }
       
   148 
       
   149 STRUCT NOTE_COMPONENT
       
   150     {
       
   151     WORD component_type;
       
   152     WORD x;
       
   153     WORD y;
       
   154     WORD width;
       
   155     WORD height;
       
   156     }
       
   157 
       
   158 STRUCT NOTE
       
   159     {
       
   160     STRUCT components[];
       
   161     }
       
   162 
       
   163 STRUCT AVKON_CONFIRMATION_QUERY
       
   164     {
       
   165     WORD layout;
       
   166     LTEXT label;
       
   167     LTEXT bmpfile="";
       
   168     WORD bmpid=0xffff;
       
   169     WORD bmpmask=0xffff;
       
   170     LLINK animation=0; 
       
   171     }
       
   172 
       
   173 STRUCT AVKON_DATA_QUERY
       
   174     {
       
   175     WORD layout;
       
   176     LTEXT label;
       
   177     STRUCT control;
       
   178     }
       
   179 
       
   180 STRUCT AVKON_MESSAGE_QUERY
       
   181     {
       
   182     LTEXT message = "";
       
   183     }
       
   184 
       
   185 STRUCT AVKON_MULTI_LINE_DATA_QUERY
       
   186     {
       
   187     WORD layout;   
       
   188     LTEXT firstlabel;
       
   189     LLINK firstcontrol;
       
   190     LTEXT secondlabel;
       
   191     LLINK secondcontrol;
       
   192     }
       
   193 
       
   194 
       
   195 // use this with CAknQueryDialog.
       
   196 // This is for one dialog DLG line with EAknCtListQueryControl
       
   197 //
       
   198 // The list query window type is determined from EAknCtSinglePopupMenuListBox - if you want to
       
   199 // have your own borders, derive from CAknListQueryDialog and override some methods.
       
   200 
       
   201 STRUCT AVKON_LIST_QUERY_CONTROL
       
   202     {
       
   203     WORD listtype; // type of the list, for example EAknCtSinglePopupMenuListBox (window type is determined from this)
       
   204     STRUCT listbox; // LISTBOX resource, use AVKON_LIST_QUERY_LIST or AVKON_MULTISELECTION_LIST_QUERY_LIST
       
   205     LTEXT heading = "";
       
   206     LTEXT bmpfile="";
       
   207     WORD bmpid=0xffff;
       
   208     WORD bmpmask=0xffff;
       
   209     LLINK animation=0;
       
   210     }
       
   211 
       
   212 STRUCT AVKON_HEADING
       
   213     {
       
   214     LTEXT label = "";  // default is no heading
       
   215     LTEXT bmpfile="";
       
   216     WORD bmpid=0xffff;
       
   217     WORD bmpmask=0xffff;
       
   218     LLINK animation=0;
       
   219     LLINK headinglayout = R_AVKON_LIST_HEADING_PANE;
       
   220     }
       
   221 
       
   222 // CAknPopupField
       
   223 STRUCT POPUP_FIELD
       
   224     {
       
   225     WORD flags=0; // permitted flags: EAknPopupFieldFlagAllowsUserDefinedEntry
       
   226     WORD width=0; // in characters
       
   227     LTEXT other=""; // if non-empty, replaces 
       
   228     LLINK emptynote = 0; // note to be displayed if popupfield is empty
       
   229     LTEXT empty=""; // text to display if popupfield is empty
       
   230     LTEXT invalid = ""; // text to display if popupfield is invalid
       
   231     }
       
   232 
       
   233 STRUCT POPUP_FIELD_TEXT
       
   234     {
       
   235     STRUCT popupfield; // only use POPUP_FIELD here
       
   236     LLINK textarray = 0; // resource ID of an array of text
       
   237     WORD active = 0; // zero based, item in textarray to be initially selected
       
   238     }
       
   239 
       
   240 STRUCT POPUP_FIELD_SELECTION_BMP
       
   241     {
       
   242     LTEXT bmpfile="";
       
   243     WORD bmpidon=0xffff;
       
   244     WORD bmpmaskon=0xffff;
       
   245     WORD bmpidoff=0xffff;
       
   246     WORD bmpmaskoff=0xffff;
       
   247     }
       
   248 
       
   249 STRUCT SLIDER
       
   250     {
       
   251     WORD layout;
       
   252     WORD minvalue;
       
   253     WORD maxvalue;
       
   254     WORD step;
       
   255     WORD valuetype=EAknSliderValueBareFigure;
       
   256     WORD decimalplaces=0;
       
   257     LTEXT singular_valuelabel = "";
       
   258     LTEXT minlabel="";
       
   259     LTEXT maxlabel="";
       
   260     LTEXT valuelabel="";
       
   261     LLINK graphical_image=0;
       
   262     }
       
   263 
       
   264 STRUCT SLIDER_WITH_FEEDBACK_STYLE
       
   265     {
       
   266     WORD slidertype=EAknSliderWithFeedbackStyle;
       
   267     WORD feedbackstyle=EAknSliderFbStable;
       
   268     WORD layout;
       
   269     WORD minvalue;
       
   270     WORD maxvalue;
       
   271     WORD step;
       
   272     WORD valuetype=EAknSliderValueBareFigure;
       
   273     WORD decimalplaces=0;
       
   274     LTEXT singular_valuelabel = "";
       
   275     LTEXT minlabel="";
       
   276     LTEXT maxlabel="";
       
   277     LTEXT valuelabel="";
       
   278     LLINK graphical_image=0;
       
   279     }
       
   280 
       
   281 /** used with CAknVolumeControl
       
   282  * see avkon.hrh for the flag definitions
       
   283  * This struct uses default values for volume range:
       
   284  *  ESettingsVolumeControl, EDynRangeSettingsVolumeControl: 1-10
       
   285  *  ENaviPaneVolumeControl, EPopupVolumeControl, EDynRangeNaviPaneVolumeControl, 
       
   286  *  EDynRangePopupVolumeControl, ESmallPopupVolumeControl, 
       
   287  *  ESmallPopupVolumeControlWithPercent: 0-10   
       
   288  */ 
       
   289 STRUCT VOLUME
       
   290     {
       
   291     WORD flags;
       
   292     WORD value;
       
   293     LTEXT bmpfile="";
       
   294     WORD bmpid=0xffff;
       
   295     WORD bmpmask=0xffff;
       
   296     }
       
   297 
       
   298 /** used with CAknVolumeControl
       
   299  *  This struct is used with flags defined in
       
   300  *  TAknVolumeControlDynamicLayouts
       
   301  *  see avkon.hrh for the flag definitions
       
   302  *  @since 3.2 
       
   303  */ 
       
   304 STRUCT DYNAMIC_VOLUME
       
   305     {
       
   306     WORD identifier = 0xffff;  // Do not change
       
   307     WORD flags;
       
   308     WORD value;
       
   309     LTEXT bmpfile="";
       
   310     WORD bmpid=0xffff;
       
   311     WORD bmpmask=0xffff;
       
   312     WORD minvalue = 0;
       
   313     WORD maxvalue = 10;
       
   314     }
       
   315 
       
   316 STRUCT NUMSECRETED
       
   317     {
       
   318     WORD num_code_chars=8;
       
   319     }
       
   320 
       
   321 STRUCT GRID_STYLE
       
   322     {
       
   323     WORD layoutflags = 0;
       
   324     WORD primaryscroll = 0;
       
   325     WORD secondaryscroll = 0;
       
   326     WORD itemsinprimaryorient = 0;
       
   327     WORD itemsinsecondaryorient = 0;
       
   328     WORD height = 0;
       
   329     WORD width = 0;
       
   330     WORD gapwidth = 0;
       
   331     WORD gapheight = 0;
       
   332     }
       
   333 
       
   334 STRUCT GRID
       
   335     {
       
   336     BYTE version = 0;
       
   337     LONG flags = 0;
       
   338     WORD height = 5;        // in items
       
   339     WORD width = 10;        // in chars
       
   340     LLINK array_id = 0;
       
   341     LTEXT emptytext = "";
       
   342     LLINK style = 0; 
       
   343     }
       
   344 
       
   345 STRUCT AVKON_SETTING_PAGE
       
   346     {
       
   347     WORD number = EAknSettingPageNoOrdinalDisplayed;
       
   348     LTEXT label;
       
   349     LTEXT hint_text;
       
   350     LLINK softkey_resource = 0;
       
   351     LLINK menubar= 0;
       
   352     WORD type=0xffff;
       
   353     LLINK editor_resource_id = 0;
       
   354     LLINK invalid_contents_softkey_resource = 0;
       
   355     LLINK extension = 0;
       
   356     }
       
   357 
       
   358 // --------------------------------------------------------------------------
       
   359 // AVKON_SETTING_PAGE_EXTENSION
       
   360 // Resource structure extension for setting page.
       
   361 // @since 5.2
       
   362 // --------------------------------------------------------------------------
       
   363 //
       
   364 STRUCT AVKON_SETTING_PAGE_EXTENSION
       
   365     {
       
   366     WORD flags = 0;         // construction flags
       
   367     LLINK extension = 0;    // link to extension
       
   368     }
       
   369 
       
   370 STRUCT AVKON_SETTING_ITEM_LIST
       
   371     {
       
   372     WORD flags = 0; // Allowed values: EAknSettingItemListNumberedStyle 
       
   373     LTEXT title = "";
       
   374     WORD initial_number = 1;
       
   375     STRUCT items[];
       
   376     }
       
   377 
       
   378 STRUCT AVKON_SETTING_ITEM
       
   379     {
       
   380     WORD identifier = 0;
       
   381     LTEXT name ="";
       
   382     LLINK setting_page_resource = 0;
       
   383     WORD type=0xffff;  
       
   384     LLINK setting_editor_resource = 0;
       
   385     LLINK associated_resource = 0;
       
   386     LTEXT empty_item_text = "";
       
   387     LTEXT compulsory_ind_string = "";
       
   388     LLINK reserved = 0;  // Added for extensions
       
   389     }
       
   390 
       
   391 STRUCT AVKON_PASSWORD_CONFIRMATION
       
   392     {
       
   393     LLINK password_query_resource = 0;
       
   394     LLINK success_note_resource = 0;
       
   395     LLINK failure_note_resource = 0;
       
   396     }
       
   397 
       
   398 STRUCT AVKON_ENUMERATED_TEXT
       
   399     {
       
   400     WORD value = 0 ;
       
   401     LTEXT text;
       
   402     }
       
   403 
       
   404 STRUCT AVKON_POPUP_SETTING_TEXTS
       
   405     {
       
   406     WORD flags = 0;
       
   407     LLINK setting_texts_resource = 0;
       
   408     LLINK popped_up_texts_resource = 0;
       
   409     LLINK reserved = 0;
       
   410     }
       
   411 
       
   412 STRUCT AVKON_SEARCH_FIELD
       
   413     {
       
   414     }
       
   415 
       
   416 STRUCT AVKON_LISTBOX_LINES
       
   417     {
       
   418     STRUCT vline1;
       
   419     STRUCT vline2;
       
   420     STRUCT hline;
       
   421     }
       
   422 
       
   423 // Bitmap Animation
       
   424 STRUCT BMPANIM_DATA
       
   425     {
       
   426     BYTE identifier = 0; // Do not change, used to identify the used resource struct.
       
   427     WORD frameinterval  = -1;
       
   428     WORD playmode       = 0;
       
   429     BYTE flash      = 0;
       
   430     LTEXT bmpfile       = "";
       
   431     LLINK frames        = 0;
       
   432     LLINK backgroundframe   = 0;
       
   433     }
       
   434 
       
   435 STRUCT BMPANIM_FRAME
       
   436     {
       
   437     WORD time       = -1;
       
   438     WORD posx       = 0;
       
   439     WORD posy       = 0;
       
   440     WORD bmpid      = -1;
       
   441     WORD maskid     = -1;
       
   442     }
       
   443 
       
   444 // Resource-based layout resources (Deprecated)
       
   445 // These does not define absolute coordinates => resizing these layouts is possible!
       
   446 //
       
   447 // (those which does not mention column or form in their name could be used later by
       
   448 // other controls for their layout - there will be generic resource reader for these)
       
   449 
       
   450 // this is used with listboxes
       
   451 STRUCT AVKON_LB_LAYOUT_POS
       
   452     {
       
   453     WORD l=ELayoutEmpty; 
       
   454     WORD t=ELayoutEmpty; 
       
   455     WORD r=ELayoutEmpty; 
       
   456     WORD b=ELayoutEmpty; 
       
   457     WORD W=ELayoutEmpty; 
       
   458     WORD H=ELayoutEmpty;
       
   459     }
       
   460 
       
   461 // this is used with listboxes too
       
   462 STRUCT AVKON_LB_LAYOUT_GFX
       
   463     {
       
   464     WORD id;
       
   465     WORD C=ELayoutEmpty;
       
   466     WORD l=ELayoutEmpty;
       
   467     WORD t=ELayoutEmpty;
       
   468     WORD r=ELayoutEmpty;
       
   469     WORD b=ELayoutEmpty;
       
   470     WORD W=ELayoutEmpty;
       
   471     WORD H=ELayoutEmpty;
       
   472     }
       
   473 
       
   474 // This is used with listboxes
       
   475 STRUCT AVKON_LB_LAYOUT_TEXT
       
   476     {
       
   477     WORD id;
       
   478     WORD font; WORD C; WORD lm; WORD rm;  WORD B; WORD W; WORD align;
       
   479     }
       
   480 
       
   481 // This is used with CAknLayoutUtils::LayoutControl()
       
   482 STRUCT AVKON_LAYOUT_CONTROL
       
   483     {
       
   484     WORD C=ELayoutEmpty;
       
   485     WORD l=ELayoutEmpty;
       
   486     WORD t=ELayoutEmpty;
       
   487     WORD r=ELayoutEmpty;
       
   488     WORD b=ELayoutEmpty;
       
   489     WORD W=ELayoutEmpty;
       
   490     WORD H=ELayoutEmpty;
       
   491     }
       
   492 
       
   493 // This is used with TAknLayoutRect
       
   494 STRUCT AVKON_LAYOUT_RECT
       
   495     {
       
   496     WORD C=ELayoutEmpty;
       
   497     WORD l=ELayoutEmpty;
       
   498     WORD t=ELayoutEmpty;
       
   499     WORD r=ELayoutEmpty;
       
   500     WORD b=ELayoutEmpty;
       
   501     WORD W=ELayoutEmpty;
       
   502     WORD H=ELayoutEmpty;
       
   503     }
       
   504 
       
   505 // this is used with AknListBoxLayouts::LayoutImage
       
   506 #define AVKON_LAYOUT_IMAGE AVKON_LAYOUT_RECT
       
   507 
       
   508 STRUCT AVKON_LAYOUT_TEXT
       
   509     {
       
   510     WORD font;
       
   511     WORD C;
       
   512     WORD l;
       
   513     WORD r;
       
   514     WORD B;
       
   515     WORD W;
       
   516     WORD J;
       
   517     }
       
   518 
       
   519 // This should be used with CAknLayoutUtils::LayoutEdwin
       
   520 STRUCT AVKON_LAYOUT_EDWIN
       
   521     {
       
   522     WORD font;
       
   523     WORD C;
       
   524     WORD l;
       
   525     WORD r;
       
   526     WORD B;
       
   527     WORD W;
       
   528     WORD J;
       
   529     WORD lines=1;   // Number of lines shown
       
   530     WORD nextB=0;   // Second row's baseline position
       
   531     }
       
   532 
       
   533 // This can be used with CAknLayoutUtils::LayoutLabel to layout CEikLabel's.
       
   534 STRUCT AVKON_LAYOUT_LABEL
       
   535     {
       
   536     WORD font;
       
   537     WORD C;
       
   538     WORD l;
       
   539     WORD r;
       
   540     WORD B;
       
   541     WORD W;
       
   542     WORD J;
       
   543     WORD nextB=0;
       
   544     }
       
   545 
       
   546 // This is used with CAknLayoutUtils::LayoutPopupField()
       
   547 STRUCT AVKON_LAYOUT_FORM_FIELD_POPUP_PANE
       
   548     {
       
   549     WORD font;
       
   550     WORD C = ELayoutEmpty;
       
   551     WORD l = ELayoutEmpty;
       
   552     WORD t = ELayoutEmpty;
       
   553     WORD r = ELayoutEmpty;
       
   554     WORD b = ELayoutEmpty;
       
   555     WORD W = ELayoutEmpty;
       
   556     WORD H1 = ELayoutEmpty;
       
   557     WORD H2 = ELayoutEmpty;
       
   558     WORD H3 = ELayoutEmpty;
       
   559     WORD H4 = ELayoutEmpty;
       
   560     WORD H5 = ELayoutEmpty;
       
   561     WORD H6 = ELayoutEmpty;
       
   562     WORD lines = 1;   // Number of lines shown
       
   563     }
       
   564 
       
   565 STRUCT AVKON_LB_LAYOUT_AREA
       
   566     {
       
   567     WORD id;
       
   568     WORD x1; WORD y1;
       
   569     WORD x2; WORD y2;
       
   570     }
       
   571 
       
   572 STRUCT AVKON_LB_LAYOUT_COMMAND
       
   573     {
       
   574     WORD id;
       
   575     WORD cmd;
       
   576     WORD data=0;    
       
   577     }
       
   578 
       
   579 // This is only for listboxes, use 
       
   580 // AknLayoutUtils/TAknLayoutText/TAknLayoutRect for getting correct layouts.
       
   581 STRUCT AVKON_LAYOUT_MANAGER
       
   582     {
       
   583     STRUCT gfx[];  // AVKON_LAYOUT_GFX
       
   584     STRUCT text[]; // AVKON_LAYOUT_TEXT
       
   585     STRUCT cmds[]; // AVKON_LAYOUT_COMMAND
       
   586     STRUCT area[]; // AVKON_LAYOUT_AREA
       
   587     STRUCT pos;    // AVKON_LAYOUT_POS
       
   588     }
       
   589 
       
   590 // This should be used with AknEditUtils::ConstructEditingL
       
   591 STRUCT AVKON_CONFIG_EDWIN
       
   592     {
       
   593     WORD editingSpace;    // Max number of character in a editor field
       
   594     WORD editingWindow;   // Maximum number of lines in a editor field
       
   595     WORD characterCase;   // EAknEditorCharactersUpperCase, EAknEditorCharactersLowerCase, EAknEditorCharactersTextCase
       
   596     WORD justification;   // EAknEditorAlignNone, EAknEditorAlignCenter, EAknEditorAlignLeft, EAknEditorAlignRight
       
   597     WORD allowedToMoveInsertionPoint; 
       
   598     WORD cursorYesNo;
       
   599     WORD overflowYesNo;
       
   600     }
       
   601 
       
   602 STRUCT AVKON_CBA_BUTTON
       
   603     {
       
   604     BYTE version=KAknCbaVersion;
       
   605     WORD id=0;
       
   606     WORD longpressid=0;
       
   607     LTEXT txt="";
       
   608     LTEXT bmpfile="";
       
   609     WORD bmpid=0xffff;      // -1
       
   610     WORD bmpmask=0xffff;    // -1
       
   611     }
       
   612 
       
   613 // Special Character Table
       
   614 
       
   615 STRUCT SPECIAL_CHAR_TABLE
       
   616     {
       
   617     STRUCT contents[]; // SCT_CHAR_SET
       
   618     }
       
   619 
       
   620 STRUCT SCT_CHAR_SET
       
   621     {
       
   622     WORD id;
       
   623     LTEXT chars = "";
       
   624     }
       
   625 
       
   626 // ---------------------------------------------------------
       
   627 // Resource structure for CAknIconArray class.
       
   628 // ---------------------------------------------------------
       
   629 //
       
   630 STRUCT AKN_ICON_ARRAY
       
   631     {
       
   632     WORD type = EAknIconArraySimple;
       
   633     // Bitmap file name
       
   634     LTEXT bmpfile;
       
   635     // Array of AKN_ICON structures.
       
   636     STRUCT icons[];
       
   637     }
       
   638 
       
   639 STRUCT AKN_ICON_ARRAY_ARRAY
       
   640     {
       
   641     WORD type = EAknIconArrayComplex;
       
   642     STRUCT iconarrays[]; // AKN_ICON_ARRAY
       
   643     }
       
   644 
       
   645 // ---------------------------------------------------------
       
   646 // One icon in AKN_ICON_ARRAY
       
   647 // ---------------------------------------------------------
       
   648 //
       
   649 STRUCT AKN_ICON
       
   650     {
       
   651     // Id of the icon bitmap
       
   652     LONG iconId;
       
   653     // Id of the mask bitmap
       
   654     LONG maskId;
       
   655     }
       
   656 
       
   657 // Avkon KeySounds
       
   658 
       
   659 STRUCT AVKON_SOUND_INFO
       
   660     {
       
   661     WORD signature1 = 0x1234;
       
   662     WORD signature2 = 0x5678;
       
   663     WORD sid;
       
   664     WORD priority = EAvkonKeyClickPriority;
       
   665     LONG preference = EAvkonKeyClickPreference;
       
   666     LTEXT file="";
       
   667     WORD frequency=0;
       
   668     LONG ms=0;
       
   669     WORD sequencelength=0;
       
   670     BYTE sequence[];
       
   671     BYTE volume=9; // default to loudest value
       
   672     }
       
   673 
       
   674 STRUCT AVKON_SOUND_INFO_LIST 
       
   675     {
       
   676     STRUCT list[];
       
   677     }
       
   678 
       
   679 STRUCT AVKON_SKEY_INFO
       
   680     {
       
   681     WORD sid = EAvkonSIDDefaultSound;
       
   682     WORD key;
       
   683     BYTE type = ESKeyTypeShort;
       
   684     }
       
   685 
       
   686 STRUCT AVKON_SKEY_LIST
       
   687     {
       
   688     STRUCT list[];
       
   689     }
       
   690 
       
   691 STRUCT PHONE_NUMBER_EDITOR
       
   692     {
       
   693     WORD maxChars=30;
       
   694     WORD maxLines;
       
   695     LTEXT truncation="";
       
   696     STRUCT formats[];
       
   697     }
       
   698 
       
   699 STRUCT PHONE_NUMBER_EDITOR_FORMAT
       
   700     {
       
   701     WORD top;
       
   702     WORD left;
       
   703     WORD bottom;
       
   704     WORD right;
       
   705     LONG border=0;
       
   706     WORD lines;
       
   707     WORD bottomBaselineOffset;
       
   708     WORD baselineSeparation;
       
   709     WORD font;
       
   710     }
       
   711 
       
   712 // CAknPopupSettingList
       
   713 STRUCT POPUP_SETTING_LIST
       
   714     {
       
   715     WORD flags; // permitted flags: EAknPopupSettingListFlagAllowsUserDefinedEntry
       
   716     WORD width; // in characters.
       
   717     LTEXT other="Other ...";
       
   718     LTEXT empty_text="No options";
       
   719     LLINK new_item_setting_page_resource = 0; // These 3 to allow setting page launch from list pane
       
   720     WORD type=0xffff;               
       
   721     LLINK new_item_setting_editor_resource = 0;
       
   722     }
       
   723 
       
   724 // This comes from DIALOG resource and must be updates accordingly when
       
   725 // DIALOG resource is changed. see eikon.rh
       
   726 STRUCT AVKON_LIST_QUERY
       
   727     {
       
   728     LONG flags = EGeneralQueryFlags;
       
   729     LTEXT xxxx1 = "";
       
   730     LLINK xxxx2 = 0;
       
   731     LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__OK; // CBA
       
   732     STRUCT items[]; // AVKON_LIST_QUERY_DLG_LINE
       
   733     LLINK xxxx3 = 0;
       
   734     }
       
   735 
       
   736 STRUCT AVKON_MULTISELECTION_LIST_QUERY
       
   737     {
       
   738     LONG flags = EGeneralQueryFlags;
       
   739     LTEXT xxxx1 = "";
       
   740     LLINK xxxx2 = 0;
       
   741     LLINK softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK; // CBA
       
   742     STRUCT items[]; // AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
       
   743     LLINK xxxx3 = 0;
       
   744     }
       
   745 
       
   746 STRUCT AVKON_LIST_QUERY_DLG_LINE
       
   747     {
       
   748     WORD type = EAknCtListQueryControl;
       
   749     LTEXT prompt = "";
       
   750     WORD id = EListQueryControl;
       
   751     LONG itemflags = 0;
       
   752     STRUCT control; // AVKON_LIST_QUERY_CONTROL
       
   753     LTEXT trailer = "";
       
   754     LTEXT bmpfile = "";
       
   755     WORD bmpid = 0xffff;
       
   756     WORD bmpmask = 0xffff;
       
   757     LTEXT tooltip = "";
       
   758     }
       
   759 
       
   760 STRUCT AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
       
   761     {
       
   762     WORD type = EAknCtListQueryControl;
       
   763     LTEXT prompt = "";
       
   764     WORD id = EListQueryControl;
       
   765     LONG itemflags = 0;
       
   766     STRUCT control; // AVKON_LIST_QUERY_CONTROL
       
   767     LTEXT trailer = "";
       
   768     LTEXT bmpfile = "";
       
   769     WORD bmpid = 0xffff;
       
   770     WORD bmpmask = 0xffff;
       
   771     LTEXT tooltip = "";
       
   772     }
       
   773 
       
   774 STRUCT AVKON_LIST_QUERY_LIST
       
   775     {
       
   776     BYTE version = 0;
       
   777     LONG flags = EAknListBoxMenuList;
       
   778     WORD height = 5;
       
   779     WORD width = 10;
       
   780     LLINK array_id = 0;
       
   781     }
       
   782 
       
   783 STRUCT AVKON_MULTISELECTION_LIST_QUERY_LIST
       
   784     {
       
   785     BYTE version = 0;
       
   786     LONG flags = EAknListBoxStylusMultiselectionList;
       
   787     WORD height = 5;
       
   788     WORD width = 10;
       
   789     LLINK array_id = 0;    
       
   790     }
       
   791  
       
   792 // LISTBOX resources:
       
   793 STRUCT AVKON_SELECTION_LIST
       
   794     {
       
   795     BYTE version = 0;
       
   796     LONG flags = EAknListBoxSelectionList;
       
   797     WORD height = 5;
       
   798     WORD width = 10;
       
   799     LLINK array_id = 0;
       
   800     }
       
   801 STRUCT AVKON_MARKABLE_LIST
       
   802     {
       
   803     BYTE version = 0;
       
   804     LONG flags = EAknListBoxMarkableList;
       
   805     WORD height = 5;
       
   806     WORD width = 10;
       
   807     LLINK array_id = 0;
       
   808     }
       
   809 
       
   810 STRUCT AVKON_MULTISELECTION_LIST
       
   811     {
       
   812     BYTE version = 0;
       
   813     LONG flags = EAknListBoxMultiselectionList;
       
   814     WORD height = 5;
       
   815     WORD width = 10;
       
   816     LLINK array_id = 0;
       
   817     }
       
   818 
       
   819 STRUCT AVKON_MENU_LIST
       
   820     {
       
   821     BYTE version = 0;
       
   822     LONG flags = EAknListBoxMenuList;
       
   823     WORD height = 5;
       
   824     WORD width = 10;
       
   825     LLINK array_id = 0;
       
   826     }
       
   827 
       
   828 STRUCT AVKON_INTEGER_EDWIN
       
   829     {
       
   830     WORD  maxlength   = 0;
       
   831     LONG  min         = -99999999;
       
   832     LONG  max         = 99999999;
       
   833     LONG  unset_value = -100000000;
       
   834     LLINK extension1  = 0;
       
   835     LLINK extension2  = 0;
       
   836     }
       
   837  
       
   838 // Avkon note wrappers
       
   839 
       
   840 STRUCT AKN_NOTE_WRAPPER
       
   841     {
       
   842     // Id of the dialog resource for this note
       
   843     LLINK resId;
       
   844     // see TAknNoteDialogTimeout
       
   845     LONG timeout;
       
   846     // see TAknNoteDialogTone
       
   847     WORD  tone = -1;
       
   848     // Prompt text
       
   849     LTEXT text = "";
       
   850     }
       
   851 
       
   852 STRUCT AVKON_GROUPED_NOTE_TEXTS
       
   853     {
       
   854     LLINK singular_label; // must point to resource of type TBUF 
       
   855     LLINK plural_label;   // must point to resource of type TBUF 
       
   856     WORD flags = 0;       // for future proofing
       
   857     }
       
   858 
       
   859 // DEPRECATED.
       
   860 STRUCT AKN_SELECTION_LIST
       
   861     {
       
   862     WORD  flags          = 0;                   // see avkon.hrh / EAknFlagFind etc..
       
   863     WORD  listbox        = EAknCtSingleListBox; // listbox layout 
       
   864     LLINK menubar        = 0;                   // MENUBAR resource 
       
   865     LLINK dialogresource = R_AKN_SELECTION_LIST_DIALOG;
       
   866     }
       
   867 
       
   868 STRUCT AVKON_UNUSED
       
   869     {
       
   870     }
       
   871 
       
   872 STRUCT AVKON_COLOUR_SELECTION_GRID
       
   873     {
       
   874     LTEXT nonetext = "";
       
   875     STRUCT gridcontrol;  // GRID
       
   876     }
       
   877         
       
   878 STRUCT AVKON_LIST_QUERY_CONTROL_WITH_MSGBOX
       
   879     {
       
   880     WORD   listtype  = EAknListQueryWithMsgBox;
       
   881     WORD   actuallisttype;    
       
   882     STRUCT listbox;
       
   883     LTEXT  message   = "";
       
   884     LTEXT  heading   = "";
       
   885     LTEXT  bmpfile   = "";
       
   886     WORD   bmpid     = 0xffff;
       
   887     WORD   bmpmask   = 0xffff;
       
   888     LLINK  animation = 0;  
       
   889     }    
       
   890 
       
   891 // resource structures for CAknStylusActivatedPopUpContent
       
   892 STRUCT AVKON_STYLUSACTIVATEDPOPUP_CONTENT
       
   893     {
       
   894     LTEXT  titletext = "";
       
   895     LTEXT  infotext  = "";
       
   896 
       
   897     STRUCT cmdlinks[];    // AVKON_STYLUSACTIVATEDPOPUP_LINK
       
   898     LLINK  extension = 0; // for future extensions
       
   899     }
       
   900 
       
   901 STRUCT AVKON_STYLUSACTIVATEDPOPUP_LINK
       
   902     {
       
   903     BYTE  linkid; // use TAknStylusPopupCmdLinkIds, see avkon.hrh
       
   904     LTEXT linktext = "";
       
   905     LLINK extension = 0; // for future extensions
       
   906     }
       
   907 
       
   908 // Skinned bitmap Animation
       
   909 // Always use BMPANIM_FRAME_SKINNED with BMPANIM_DATA_SKINNED
       
   910 STRUCT BMPANIM_DATA_SKINNED
       
   911     {
       
   912     BYTE  identifier      = KAknBMPAnimVersion; // Do not change, used to identify the used resource struct.
       
   913     LLINK skinanimationid = -1; // First try to create animation by using this id
       
   914     WORD  frameinterval   = -1;
       
   915     WORD  playmode        = 0;
       
   916     BYTE  flash           = 0;
       
   917     LTEXT bmpfile         = "";
       
   918     LLINK frames          = 0;
       
   919     LLINK backgroundframe = 0;
       
   920     }
       
   921 
       
   922 STRUCT BMPANIM_FRAME_SKINNED
       
   923     {
       
   924     WORD  time        = -1;
       
   925     WORD  posx        = 0;
       
   926     WORD  posy        = 0;
       
   927     WORD  bmpid       = -1;
       
   928     WORD  maskid      = -1;
       
   929     LLINK majorskinid = -1;
       
   930     LLINK minorskinid = -1;
       
   931     }
       
   932 
       
   933 // ---------------------------------------------------------------------------
       
   934 // SCT CATEGORY BUTTONS resources:
       
   935 // define the category button(s)
       
   936 // ---------------------------------------------------------------------------
       
   937 //
       
   938 STRUCT AVKON_SCT_CATEGORY_BUTTONS
       
   939     {
       
   940     STRUCT category_buttons[]; // AVKON_SCT_CATEGORY_BUTTON
       
   941     }
       
   942 
       
   943 // ---------------------------------------------------------------------------
       
   944 // SCT CATEGORY BUTTON resources
       
   945 // define a category button
       
   946 // ---------------------------------------------------------------------------
       
   947 //
       
   948 STRUCT AVKON_SCT_CATEGORY_BUTTON
       
   949     {
       
   950     WORD categorybuttonid;      // TAknSCTCategoryButtons (defined on avkon.hrh)
       
   951     WORD id;                    // SCT enumerations (e.g. EAknSCTHalfCase) (defined on avkon.hrh)
       
   952     LLINK button;               // AVKON_BUTTON
       
   953     }
       
   954 
       
   955 // ---------------------------------------------------------------------------
       
   956 // AVKON_NOTE_SKINNED
       
   957 // Struct for defining a skinnable Avkon note, otherwise similar as AVKON_NOTE.
       
   958 // @since S60 5.0
       
   959 // ---------------------------------------------------------------------------
       
   960 //
       
   961 STRUCT AVKON_NOTE_SKINNED
       
   962     {
       
   963     WORD  layout;                     // Layout. 
       
   964     LTEXT singular_label;             // Singular label.    
       
   965     LTEXT plural_label      = "";     // Plural label.
       
   966     LTEXT imagefile         = "";     // Image file name (including path).
       
   967     WORD  imageid           = 0xffff; // Image id.
       
   968     WORD  imagemask         = 0xffff; // Image mask.
       
   969     LTEXT iconfile          = "";     // Icon file name (including path).
       
   970     WORD  iconid            = 0xffff; // Icon id.
       
   971     WORD  iconmask          = 0xffff; // Icon mask.
       
   972     LLINK animation         = 0;      // Animation.
       
   973     
       
   974     // EAknNoteFlagWithSkinnableGraphics is used to distinguish AVKON_NOTE_SKINNED
       
   975     // from AVKON_NOTE. Therefore it must always be set when using AVKON_NOTE_SKINNED.
       
   976     // Other flags may also be set, and they have the same behaviour as AVKON_NOTE.
       
   977     WORD  flags             = EAknNoteFlagWithSkinnableGraphics;
       
   978     
       
   979     LLINK image_majorskinid = -1;     // Major skin id for image, see AknsConstants.h.
       
   980     LLINK image_minorskinid = -1;     // Minor skin id for image, see AknsConstants.h.
       
   981     }
       
   982 
       
   983 // ---------------------------------------------------------------------------
       
   984 // AVKON_INDICATOR_POPUP_ITEM
       
   985 // Resource structure for universal indicator pane items.
       
   986 // @since 5.0
       
   987 // ---------------------------------------------------------------------------
       
   988 //
       
   989 STRUCT AVKON_INDICATOR_POPUP_ITEM
       
   990     {
       
   991     // UID of the status indicator.
       
   992     WORD indicator_uid;
       
   993 
       
   994     // Default text to be displayed for the indicator in the
       
   995     // universal indicator popup.
       
   996     LTEXT text;
       
   997     
       
   998     // Reserved for future extensions.
       
   999     LLINK extension = 0;
       
  1000     }
       
  1001 
       
  1002 // ---------------------------------------------------------------------------
       
  1003 // Sct navi BUTTONS resources:
       
  1004 // define the category button(s)
       
  1005 // ---------------------------------------------------------------------------
       
  1006 //
       
  1007 STRUCT AVKON_SCT_NAVI_BUTTONS
       
  1008     {
       
  1009     STRUCT navi_buttons[];
       
  1010     }
       
  1011 
       
  1012 // ---------------------------------------------------------------------------
       
  1013 // Sct navi BUTTON resources
       
  1014 // define a category button
       
  1015 // ---------------------------------------------------------------------------
       
  1016 //
       
  1017 STRUCT AVKON_SCT_NAVI_BUTTON
       
  1018     {
       
  1019     WORD id;
       
  1020     LLINK button;
       
  1021     }
       
  1022 
       
  1023 // --------------------------------------------------------------------------
       
  1024 // AVKON_DISCREET_POPUP
       
  1025 // Resource structure for discreet popup (CAknDiscreetPopup).
       
  1026 // @since 5.2
       
  1027 // --------------------------------------------------------------------------
       
  1028 //
       
  1029 STRUCT AVKON_DISCREET_POPUP
       
  1030     {
       
  1031     WORD flags = 0; // popup flags
       
  1032     LTEXT titleTxt = ""; // first text line
       
  1033     LTEXT bodyTxt = ""; // second text line
       
  1034     LTEXT bmpFile = ""; // icon bitmap file
       
  1035     WORD bmpId = 0xffff; // icon bitmap id
       
  1036     WORD bmpMask = 0xffff; // icon bitmap mask id
       
  1037     LLINK majorSkinId = -1; // icon major skin id
       
  1038     LLINK minorSkinId = -1; // icon minor skin id
       
  1039     LLINK extension = 0; // reserved for future extension
       
  1040     }