classicui_pub/ui_framework_definitions_api/inc/avkon.hrh
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,1764 @@
+/*
+* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Constants for AVKON to be used in resource files.
+*
+*/
+
+#ifndef __AVKON_HRH__
+#define __AVKON_HRH__
+
+#if !defined(__UIKON_HRH__)
+#include <uikon.hrh>
+#endif
+
+#if !defined(__EIKON_HRH__)
+#include <eikon.hrh>
+#endif
+
+#include <AknFontCategory.hrh>
+#include <AknFontIdOffsets.hrh>
+
+// This file is very important for applications!
+//
+// Here we have many names you can find from Series 60 specifications
+// This file provides access for applications to the following services:
+//   * Selection Service
+//   * Find
+//
+
+// moved from uikon.hrh
+#define EEikStatusPaneLayoutAknLafDefined    0x10
+
+// internal, do not use (maybe you might need to use LoopScrolling though, but use it with some other flags...)
+#define EAknListBoxMultipleSelection         EEikListBoxMultipleSelection
+#define EAknListBoxIncrementalMatching       EEikListBoxIncrementalMatching
+#define EAknListBoxScrollBarSizeExcluded     0x0080
+#define EAknListBoxLoopScrolling             0x1000
+#define EAknListBoxEnterMarks                0x2000
+#define EAknListBoxShiftEnterMarks           0x4000
+// Note there's also EAknListBoxViewerFlags, which is better for apps.
+#define EAknListBoxViewerFlag                0x8000
+#define EAknListBoxPointerMultiselectionList 0x10000
+#define EAknListBoxPointerMarkableList       0x20000
+#define EAknListBoxDisableItemSpecificMenu   0x40000
+
+
+// These are combined to the viewerflag to make it fit to WORD in resources.
+#define EAknListBoxPageAtOnceScrolling EAknListBoxViewerFlag
+#define EAknListBoxDisableHighlight EAknListBoxViewerFlag
+
+// The next ones are used internally by SingleGraphicStyle and DoubleGraphicStyle
+#define EAknListBoxFlagsMarkableCheck (EAknListBoxShiftEnterMarks)
+#define EAknListBoxFlagsMultiselectionCheck (EAknListBoxEnterMarks)
+
+#define EAknGenericListBoxFlags (EAknListBoxScrollBarSizeExcluded)
+
+// Implementation detail, do not use - for dialog flags
+#define EAknDialogGenericFullScreen (EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | EEikDialogFlagFillAppClientRect | EEikDialogFlagCbaButtons | EEikDialogFlagWait)
+
+//
+//
+//  SELECTION SERVICE IMPLEMENTATION STARTS HERE (Use these in applications!)
+//
+// LISTBOX FLAGS (use these in applications)
+//
+#define EAknListBoxSelectionList                   (EAknGenericListBoxFlags)
+#define EAknListBoxSelectionListWithShortcuts      (EAknListBoxSelectionList | EAknListBoxIncrementalMatching)
+#define EAknListBoxMenuList                        (EAknGenericListBoxFlags)
+#define EAknListBoxMarkableList                    (EAknGenericListBoxFlags | EAknListBoxMultipleSelection | EAknListBoxShiftEnterMarks)
+#define EAknListBoxMarkableListWithShortcuts       (EAknListBoxMarkableList | EAknListBoxIncrementalMatching)
+#define EAknListBoxMultiselectionList              (EAknGenericListBoxFlags | EAknListBoxMultipleSelection | EAknListBoxEnterMarks)
+#define EAknListBoxMultiselectionListWithShortcuts (EAknListBoxMultiselectionList | EAknListBoxIncrementalMatching)
+
+// if pen input is supported, then these two flags can be used
+// to get Multiselection and Markable lists to work as s60 style by using stylus
+#define EAknListBoxStylusMultiselectionList   (EAknListBoxPointerMultiselectionList | EAknGenericListBoxFlags | EAknListBoxMultipleSelection | EAknListBoxEnterMarks)
+#define EAknListBoxStylusMarkableList         (EAknListBoxPointerMarkableList | EAknGenericListBoxFlags | EAknListBoxMultipleSelection | EAknListBoxShiftEnterMarks)
+
+#define EAknListBoxSelectionGrid              (EAknListBoxSelectionList)
+#define EAknListBoxSelectionGridWithShortcuts (EAknListBoxSelectionList | EAknListBoxIncrementalMatching)
+#define EAknListBoxMarkableGrid               (EAknListBoxMarkableList)
+#define EAknListBoxMarkableGridWithShortcuts  (EAknListBoxMarkableList | EAknListBoxIncrementalMatching)
+
+#define EAknListBoxMenuGrid                   (EAknListBoxMenuList)
+#define EAknListBoxItemSpecificMenuDisabled   ( EAknListBoxDisableItemSpecificMenu )
+//
+// Viewers (see Selection service)
+//
+#define EAknListBoxViewerFlags        (EAknListBoxPageAtOnceScrolling | EAknListBoxDisableHighlight)
+
+//
+// DIALOG FLAGS (applications should use these!)
+//
+#define EAknDialogSelectionList       (EAknDialogGenericFullScreen)
+#define EAknDialogMenuList            (EAknDialogGenericFullScreen)
+#define EAknDialogMarkableList        (EAknDialogGenericFullScreen | EEikDialogFlagDontEatUpDownEvents)
+#define EAknDialogMultiselectionList  (EAknDialogGenericFullScreen)
+
+#define EAknDialogGenericNoteFlags    (EEikDialogFlagNoDrag |EEikDialogFlagNoTitleBar | EEikDialogFlagCbaButtons )
+#define EAknDialogGenericQueryFlags   (EEikDialogFlagWait|EEikDialogFlagNoDrag | EEikDialogFlagNoTitleBar | EEikDialogFlagCbaButtons)
+
+// Flags for note dialogs:
+#define EAknErrorNoteFlags            (EAknDialogGenericNoteFlags | EEikDialogFlagCloseDialogWhenTapped)
+#define EAknWarningNoteFlags          (EAknDialogGenericNoteFlags | EEikDialogFlagCloseDialogWhenTapped)
+#define EAknInformationNoteFlags      (EAknDialogGenericNoteFlags | EEikDialogFlagCloseDialogWhenTapped)
+#define EAknConfirmationNoteFlags     (EAknDialogGenericNoteFlags | EEikDialogFlagCloseDialogWhenTapped)
+#define EAknProgressNoteFlags         (EAknDialogGenericNoteFlags | EEikDialogFlagNotifyEsc)
+#define EAknWaitNoteFlags             (EAknProgressNoteFlags)
+#define EAknPermanentNoteFlags        (EAknDialogGenericNoteFlags | EEikDialogFlagModeless)
+#define EAknSoftNotificationNoteFlags (EAknDialogGenericNoteFlags)
+
+// Flags for query dialogs:
+#define EGeneralQueryFlags (EAknDialogGenericQueryFlags)
+#define EAknGeneralQueryFlags (EAknDialogGenericQueryFlags)
+
+//
+// CBA LABELS (applications should use these)
+//
+#define R_AVKON_SOFTKEYS_SELECTION_LIST        R_AVKON_SOFTKEYS_OPTIONS_BACK
+#define R_AVKON_SOFTKEYS_MENU_LIST             R_AVKON_SOFTKEYS_OK_CANCEL
+#define R_AVKON_SOFTKEYS_SETTING_LIST          R_AVKON_SOFTKEYS_OPTIONS_CANCEL
+#define R_AVKON_SOFTKEYS_TEXT_SETTING_ITEM     R_AVKON_SOFTKEYS_OK_BACK
+#define R_AVKON_SOFTKEYS_POPUP_SETTING_ITEM    R_AVKON_SOFTKEYS_MENU_LIST
+#define R_AVKON_SOFTKEYS_SLIDER_SETTING_ITEM   R_AVKON_SOFTKEYS_OPTIONS_BACK
+#define R_AVKON_SOFTKEYS_MULTISELECTION_LIST   R_AVKON_SOFTKEYS_OK_CANCEL
+#define R_AVKON_SOFTKEYS_MARKABLE_LIST         R_AVKON_SOFTKEYS_SELECTION_LIST
+
+
+//
+// Menu panes (context specific menu panes)
+//
+#define R_AVKON_MENUPANE_SELECTION_LIST      R_AVKON_MENUPANE_EMPTY
+#define R_AVKON_MENUPANE_SETTING_LIST        R_AVKON_MENUPANE_EMPTY
+#define R_AVKON_MENUPANE_MARKABLE_LIST       R_AVKON_MENUPANE_MARKABLE_LIST_EDIT_LIST_IMPLEMENTATION
+#define R_AVKON_MENUPANE_MULTISELECTION_LIST R_AVKON_MENUPANE_EMPTY
+
+//
+// There are also ready-made HandleCommandL() implementations for selection service in aknutils.h
+//
+// AknSelectionService::HandleSelectionListProcessCommandL(aCommand, iListBox);
+// AknSelectionService::HandleMultiSelectionListProcessCommandL(aCommand, iListBox);
+// AknSelectionService::HandleMarkableSelectionListProcessCommandL(aCommand, iListBox);
+//
+
+//
+// Application icon dimensions (for proper layout in Application Shell and Fast Application Swap)
+//
+
+enum
+    {
+    EAknApplicationIconWidth = 42,
+    EAknApplicationIconHeight = 29
+    };
+
+//
+//
+//  SELECTION SERVICE IMPLEMENTATION ENDS HERE
+//
+//
+
+
+//
+// FIND IMPLEMENTATION STARTS HERE, use AknFind with these.
+//
+
+// Options menu. Use these instead of R_AVKON_MENUPANE_[SELECTION|MARKABLE]_LIST when find popup window is needed
+#define R_AVKON_MENUPANE_SELECTION_LIST_WITH_FIND_POPUP R_AVKON_MENUPANE_FIND_POPUP_IMPLEMENTATION
+#define R_AVKON_MENUPANE_MARKABLE_LIST_WITH_FIND_POPUP  R_AVKON_MENUPANE_FIND_POPUP_IMPLEMENTATION_MARKABLE
+
+#define EAknFindBoxEditorFlags (CEikEdwin::ENoLineOrParaBreaks)
+
+//
+// FIND IMPLEMENTATION ENDS HERE
+//
+
+// for ProcessCommandL()
+enum
+    {
+    EAknDummyForProcessCommands = 4000,
+    EAknMarkAll,         // selection service impl
+    EAknUnmarkAll,       // selection service impl
+    EAknCmdHelp,
+    EAknCmdAddToPinboard,
+    EAknCmdFindPopupActivated,
+    EAknCmdEditModeT9,
+    EAknCmdEditModeMultitap,
+    EAknCmdEditModeNumber,
+    EAknCmdEditInsertNumber,
+    EAknCmdEditInsertSymbol,
+    EAknCmdInputLanguage,
+    EAknCmdPredictiveTextCascade,
+    EAknCmdT9PredictiveMatches,
+    EAknCmdT9PredictiveInsertWord,
+    EAknCmdT9PredictiveEditWord,
+    EAknCmdT9PredictiveT9Off,
+    EAknCmdMultitapPredictiveT9On,
+    EAknCmdExit,
+    EAknCmdEditTextMenu,
+    EAknCmdEditListMenu, // selection service impl
+    EAknCmdMark,         // selection service impl
+    EAknCmdUnmark,       // selection service impl
+    EAknCmdOpen,         // selection service impl
+
+    // command ids for APAC build
+    EChinFepCmdInstructions,
+    EChinFepCmdModePinyin,
+    EChinFepCmdModeZhuyin,
+    EChinFepCmdModeStroke,
+    EChinFepCmdModeLatinUpper,
+    EChinFepCmdModeLatinLower,
+    EChinFepCmdModeNumber,
+    EChinFepCmdModeZhuyinFind,
+    EChinFepCmdModeStrokeFind,
+
+    EAknCmdEditModeArabicIndicNumber,
+    EAknCmdEditModeAlpha,
+    EAknCmdEditModeLatinText,
+    EAknCmdEditModeIndicNumber,
+
+    // command ids for Japanese build
+    EJapanFepCmdModeHiragana,
+    EJapanFepCmdModeKatakana,
+    EJapanFepCmdModePictographs,
+    EJapanFepCmdModeFullWidth,
+    EJapanFepCmdModeHalfWidth,
+    EJapanFepCmdModePredictiveOn,
+    EJapanFepCmdModePredictiveOff,
+    EJapanFepCmdModeUserDic,
+    EJapanFepCmdModeKutenCodeInput,
+    EAknCmdEditInsertPictograph,
+    EJapanFepCmdPredictiveTextCascade,
+    EJapanFepCmdMultitapPredictiveT9On,
+    EJapanFepCmdEditModeAlpha,
+    EJapanFepCmdEditModeNumber,
+
+    // Command ids for CangJie IME and Chinese Option Menu
+    EAknCmdInputMethod,
+    EChinFepCmdModeCangJie,
+    EChinFepCmdModeCangJieOption,
+
+    // Edit menu specific command id
+    EAknCmdEditMenuSctSelected,
+
+    // Command ids for Hwr IME and Chinese Option Menu
+    EPenInputCmdCut,
+    EPenInputCmdCopy,
+    EPenInputCmdPaste,
+    EPenInputCmdSetting,
+    EPenInputCmdHwrTraining,
+    EFepInputCmdHelp,
+
+    /**
+    * Command id for eastern arabic-indic digit type menu item.
+    * @since 3.1
+    */
+    EAknCmdEditModeEasternArabicIndicNumber,
+
+    /**
+    * Command id for launching task swapper from options menu.
+    * @since 3.1
+    */
+    EAknCmdTaskSwapper,
+
+    // Add new command ids here.
+    /**
+    * Command ids for Japanese insert symbol
+    * The behaviour of this id is same as EAknCmdEditInsertSymbol.
+    */
+    EAknCmdEditInsertSymbolJp,
+
+    /**
+    * Command ids for clear direction of Japanese input from options menu.
+    * @since 3.2
+    */
+    EAknCmdEditClearDirectionLeft,
+    EAknCmdEditClearDirectionRight,
+
+    /**
+    * Command id for Auto Word Completion Edit menu item.
+    * @since 3.2
+    */
+    EAknCmdPredictiveModeCascade, // Edit Menu
+    EAknCmdPredictiveNormal,      // To turn AutoCompletion Off
+    EAknCmdPredictiveAutoWord,    // To turn AutoCompletion On
+    EAknCmdEditItemPlaceHolder,
+
+    /**
+    * Command ids for Japanese Touch input Option Menu
+    * @since 3.2
+    */
+    EPenInputJpCmdFullWidth,
+    EPenInputJpCmdHalfWidth,
+    EPenInputJpCmdConversionOn,
+    EPenInputJpCmdConversionOff,
+    EPenInputJpCmdPredictiveOn,
+    EPenInputJpCmdPredictiveOff,
+    EPenInputJpCmdSaveWord,
+    EPenInputJpCmdKutenCode,
+
+    EAknCmdEditMenuClose,
+    /**
+    * Command to hide application in background
+    * @since 5.0
+    */
+    EAknCmdHideInBackground,
+
+    //preview Input
+    EPenInputPreview,
+    EPenInputCmdPreviewOn,
+    EPenInputCmdPreviewOff,
+
+    /**
+    * Command ids for ITI input Option Menu
+    * @since
+    */
+
+    EAknFepCmdPredMatches,
+    EAknFepCmdPredActivate,
+    EAknFepCmdPredDeactivate,
+    EAknFepCmdPredSettings,
+    EAknFepCmdPredInputLanguage,
+    EAknFepCmdPredHelp,
+    EAknFepCmdPredAutoComplSetting,
+    EAknFepCmdPredAutoComplMultiSetting,
+    EAknFepCmdPredTypingCorrectionSetting,
+    EAknFepCmdPredNumberCandidateSetting,
+    EAknFepCmdPredSettingChange,
+    EAknFepCmdPredPrimaryCandidateSetting,
+
+		// Command ids for Japanese Option Menu
+    EPenInputCmdRomajiInputOn,
+    EPenInputCmdRomajiInputOff,
+    
+    //Command id for launching arabic handwriting recognition dictionary on-off menu
+    EPenInputCmdRecognitionWithDictionary,
+    EAknCmdEditModeKorean,
+    EAknCmdEditModeEnglish,
+
+		/**
+     * Command ids for UDB Editing with ITI input
+     * @since 3.2.3
+     */
+    EAknFepCmdPredEditUserDictionary,
+    EAknFepPredDictionaryCmdEdit,
+    EAknFepPredDictionaryCmdAdd,
+    EAknFepPredDictionaryCmdDelete,
+    EAknFepPredDictionaryCmdMarkUnmark,
+    
+    //Command id for launch phrase creation view
+    EAknCmdUserDBDlg,
+    
+    /**
+    * open smiley dialog in edit menu
+    */
+    EAknCmdEditInsertSmiley,
+
+    EPenInputCmdVITUT,
+    EPeninputCmdFSQ,
+    
+    /**
+    * Command id for dealing with discreet popup's close
+    */
+    EAknDiscreetPopupCmdClose,
+    
+    /**
+    * @deprecated
+    * Do not use.
+    */
+    EAknCmdEnd = 4999
+    };
+
+/**
+* Note that although these are the command ids resulting from the CBA key press, codes returned from
+* CAknDialog::ExecuteLD are mapped in the routine CEikDialog::MappedCommandId.  This routine should be consulted
+* before knowing what the dialog will return.
+*/
+enum // CBA constants
+    {
+    EAknSoftkeyOk      = EEikBidOk,
+    EAknSoftkeyCancel  = EEikBidCancel,
+    EAknSoftkeySelect  = EEikBidSelect,
+    EAknSoftkeyOptions = 3000,
+    EAknSoftkeyBack,
+    EAknSoftkeyMark,
+    EAknSoftkeyUnmark,
+    EAknSoftkeyInsert,
+    EAknSoftkeyYes,
+    EAknSoftkeyNo,
+    EAknSoftkeyDone,
+    EAknSoftkeyClose,
+    EAknSoftkeyExit,
+    EAknSoftkeyClear,
+    EAknSoftkeyUnlock,
+    EAknSoftkeySave,
+    EAknSoftkeyShow,
+    EAknSoftkeyListen,
+    EAknSoftkeyRead,
+    EAknSoftkeySearch,
+    EAknSoftkeyEmpty,
+    EAknSoftkeyLock,
+    EAknSoftkeyCall,
+    EAknSoftkeyAgain,
+    EAknSoftkeyQuit,
+    EAknSoftkeyDetails,
+    EAknSoftkeyNext,
+    EAknSoftkeyOther,
+    EAknSoftkeyEdit,
+    EAknSoftkeyOpen,
+    EAknSoftkeySend,
+    EAknSoftkeyView,
+    EAknSoftkeyContextOptions,
+    EAknSoftkeyChange,
+    EAknSoftkeyShiftMSK,
+    EAknSoftkeyForwardKeyEvent,
+    EAknSoftkeyHide,
+    EAknSoftkeyEmergencyCall,
+    EAknSoftkeyDialler
+    };
+
+enum
+    {
+    EAknSoftkeyDummyUsedWithShortcuts = 3200
+    };
+
+enum
+    {
+    EAknCBAFlagRespondWhenInvisible = 0x02   // softkeys still respond to key events even when control is invisible
+    };
+
+// Predefined softkey ranges for supporting limited automatic control of such things as
+// return from dialog-like contexts.
+// All dialog-like contexts should  return 0 for values in the first range.
+// CEikDialog does not use the other implied ranges at all.
+// Other contexts may use the "accept" range for internal behaviour
+#define EAknSoftkeyLowestUserRejectId   0x1000
+#define EAknSoftkeyLowestUserAcceptId   0x1100
+#define EAknSoftkeyLowestUserNeutralId  0x1200
+
+// Define a Cba version number of differentiate from GT CBA
+// Current GT version is 0, but it's worth avoiding 1,2 etc in
+// case of future incompatibilities.
+#define KAknCbaVersion 10
+
+#define KAknBMPAnimVersion 10
+
+// Avkon control id's start from 5700
+// Phonebook control id's start from 6000
+
+// Avkon Control Type codes
+#define KAknCtFirstControlId    5699
+#define KAknCtLastControlId     0x2000
+
+enum
+    {
+    EAknCtTest = KAknCtFirstControlId,
+    EAknControlIdBase = 5700,
+
+    EAknCtFormattedListBox, // generic formatted listbox
+
+    // "General list pane descendants"
+    EAknCtSingleListBox,
+    EAknCtSingleNumberListBox,
+    EAknCtSingleHeadingListBox,
+    EAknCtSingleGraphicListBox,
+    EAknCtSingleGraphicHeadingListBox,
+    EAknCtSingleNumberHeadingListBox,
+    EAknCtSingleLargeListBox,
+    EAknCtDoubleListBox,
+    EAknCtDoubleNumberListBox,   // this is also big number implementation
+    EAknCtDoubleTimeListBox,
+    EAknCtDoubleLargeListBox,    // this is also big large graphic implementation
+    EAknCtDoubleGraphicListBox,
+    EAknCtSettingListBox,        // this is also big setting pane implementation
+    EAknCtSettingNumberListBox,  // this is also big setting number pane implementation
+
+    // "Pop up window list pane descendants"
+    EAknCtSinglePopupMenuListBox,
+    EAknCtSingleGraphicPopupMenuListBox,
+    EAknCtSingleGraphicHeadingPopupMenuListBox,
+    EAknCtMenuDoublePopupMenuListBox,
+    EAknCtSinglePopupSubmenuListBox,
+    EAknCtDoubleLargeGraphicPopupMenuListBox,
+    EAknCtSingleHeadingPopupMenuListBox,
+
+    // "List pane elements and descendants(settings, edited)"
+    EAknSetListBox,
+
+    // "List pane elements (form, popup)"
+    EAknFormGraphicListBox,
+
+    // These are listboxes too.
+    EAknCtAppGrid,
+    EAknCtPinbGrid,      // This is provided as example only.
+    EAknCtQdialGrid,     // this is provided as example only.
+    EAknCtCaleMonthGrid, // this is provided as example only.
+
+    // Avkon Status pane controls
+    EAknCtTitlePane,
+    EAknCtContextPane,
+    EAknCtNaviPane,
+    EAknCtSignalPane,
+    EAknCtBatteryPane,
+    EAknCtIndicatorPane,
+    EAknCtIdleContextPane,
+
+    // For AVKON notes and queries:
+    EAknCtNote,
+    EAknCtQuery,
+    EAknCtMultilineQuery,
+
+    // For AVKON popup field:
+    EAknCtPopupField,
+    EAknCtPopupFieldText,
+
+    // For AVKON Form
+    EAknCtFormLabelEditor,
+
+    // For LAF reader
+    EAknCtLAF,
+    EAknCtPopupHeadingPane,
+    EAknCtSearchField,
+
+    // For Setting Page
+    EAknCtSettingPage,
+
+    // For AknVolumeControl and AknSlider
+    EAknCtVolumeControl,
+    EAknCtSlider,
+    EAknCtListQueryControl,
+    EAknCtSpecialCharacterMap,
+
+    // For AknPhoneNumberEditor
+    EAknPhoneNumberEditor,
+
+    // Numeric secret editor
+    EAknCtNumericSecretEditor,
+
+    // Popup Setting List Page
+    EAknCtPopupSettingList,
+
+    // Message query
+    EAknCtMessageQuery,
+
+    // Specialized numeric edwins
+    EAknCtIntegerEdwin,
+    EAknCtFloatingPointEdwin,
+    EAknCtSelectionListFixedFind,
+    EAknCtSelectionListPopupFind,
+    EAknCtEmptyList,
+    EAknCtDouble2GraphicListBox,
+    EAknCtDouble2LargeListBox,
+    EAknCtDouble2PopupMenuListBox,
+
+    // NOTE: DO NOT USE THESE LISTS (break ui-style, only for java)!!!
+    EAknCtSingle2GraphicListBox,
+    EAknCtDouble2GraphicLargeListBox,
+    // END OF NOTE
+
+    // Colour selection grid
+    EAknCtColourSelectionDialogNoneField, // Deprecated
+    EAknCtColourSelectionDialogGrid,      // Deprecated
+
+    // Find box in list query dialog
+    EAknCtListQuerySearchControl,
+
+    // Derived query control for ip & fixed point queries
+    EAknExtCtQuery,
+
+    // Derived multiline query control for ip&ip queries
+    EAknExtCtMultilineQuery,
+
+    EAknCtBitmapAnimation,
+
+    // button for 5.0
+    EAknCtButton,
+
+    // new popup lists for 3.0
+    EAknCtSingle2GraphicPopupMenuListBox,
+    EAknCtDoubleGraphicPopupMenuListBox,
+
+    // Colour selection grid control for rel 3.0.
+    EAknCtColourSelectionGridDialog,
+
+    // Small digital clock for Avkon Status pane 3.1
+    EAknCtDigitalClockPane,
+
+    // Empty control for Avkon Status pane 3.1
+    EAknCtStatuspaneEmpty,
+
+    // use messageBox with listQuery, 3.0->
+    EAknListQueryWithMsgBox,
+
+    // Status pane
+    /** Application side container for universal indicator container */
+    EAknCtUniversalIndicatorPane,
+    /** Application side container for signal pane */
+    EAknCtSignalIndicatorContainerPane,
+    /** Application side container for battery pane */
+    EAknCtBatteryIndicatorContainerPane,
+
+    // Toolbar extension
+    EAknCtToolbarExtension,
+
+    /** For selection list with adaptive search */
+	/** @since 5.0 */
+    EAknCtSelectionListAdaptiveFind,
+
+    /** For Smiley Picker Dialog */
+    /** @since 5.0 */
+    EAknCtSmileyMap,
+
+    /** For slider with feedback style */
+	/** @since 5.1 */
+    EAknSliderWithFeedbackStyle,
+    // This is the marker for the last AVKON control id: It does not construct a control
+    EAknCtLastControlId = KAknCtLastControlId
+
+    // Control ids beyond (or including) this value will be dealt with as custom controls.
+
+    // However, to assist collaboration between applications, the following S60 -specific
+    // application- related ranges are documented here:
+    //
+    // Phonebook- related control ids = 0x2800 - 0x2C00
+    //
+    // Applications which do not have to correlate with any other DLLs or apps, should use the
+    // range 0x2001 - 0x2800
+    //
+
+    // Control ID range 0xF000 - 0xFFFF is reserved for licensee controls.
+    };
+
+// Navi decorator control types
+enum
+    {
+    ENaviDecoratorControlNone,
+    ENaviDecoratorControlTabGroup,
+    ENaviDecoratorLabel,
+    ENaviDecoratorImage,
+    ENaviDecoratorToolTip // Hint text
+    };
+
+// Navigation pane tab width specifiers
+enum
+    {
+    EAknTabWidthWithTwoTabs       = 36,
+    EAknTabWidthWithTwoLongTabs   = 74,
+    EAknTabWidthWithThreeTabs     = 22,
+    EAknTabWidthWithThreeLongTabs = 67,
+    EAknTabWidthWithFourTabs      = 18,
+    EAknTabWidthWithOneTab        = 107
+    };
+
+// Note dialog constants
+enum
+    {
+    EGeneralLayout = 1,
+    EConfirmationLayout,
+    EProgressLayout,
+    ENoteWithImageLayout,
+    ETextualNotificationLayout,
+    ENotificationWithGraphicsLayout,
+    EAknNoteControlAnimationCreationFailed,
+    EWaitLayout
+    };
+
+enum
+    {
+    EAknInvalidBorderCount = 1,
+    EAknInvalidDimensionArrayOutOfBounds,
+    EAknNoNoteControlDimensionDefined,
+    EAknNoteControlNullArgumentUsed
+    };
+
+enum EAknNoteItemType
+    {
+    EAknNoteNoType = 1,
+    EAknNoteBitmap,
+    EAknNoteNumberTypeIndication,
+    EAknNoteProgressBar,
+    EAknNoteLabel,
+    EAknNoteAnimation
+    };
+
+enum TNoteCtrlIds
+    {
+    EGeneralNote = 1
+    };
+
+/** Note control flags */
+#define EAknNoteNoTextWrapping            0x001 ///< Sets the TNoteFlags::ENoteNoTextWrapping
+#define EAknNoteLeftSoftkeyWhenTapped     0x080 ///< Sets the TNoteFlags::ENoteLeftSKWhenTapped
+/**
+ * Note: EAknNoteFlagWithSkinnableGraphics can only be used with AVKON_NOTE_SKINNED.
+ * Using it with AVKON_NOTE will cause a panic in resource reading.
+ * @since S60 5.0
+ */
+#define EAknNoteFlagWithSkinnableGraphics 0x100 ///< Sets the TNoteFlags::ENoteWithSkinnableGraphics
+
+// Query dialog constants
+
+// These are query types, and each type must be mapped
+// to a layout (e.g. code layout or data layout)
+// If you add or change a type here you need to update
+// KQueryTypeToLayout in aknquerycontrol.cpp otherwise
+// query control will crash with EAknPanicNotSupported
+// because the layout is not known
+enum
+    {
+    EDataLayout = 1,
+    EConfirmationQueryLayout,
+    ECodeLayout,
+    ETimeLayout,
+    EDateLayout,
+    EListLayout,
+    EMultiListLayout,
+    EMultiLineDataLayout,
+    EDurationLayout,
+    ETextSoftNotification,
+    ENumberLayout,
+    EPinLayout,
+    EPhoneLayout,
+    EMessageQueryLayout,
+    EStaticSizeDataLayout,
+    EFloatingPointLayout,
+    EIpLayout,
+    EFixedPointLayout,
+    EDataLayoutAllowEmptyInput,
+    ELocationLayout
+    };
+
+enum
+    {
+    ETextEditor=1,
+    ESecretEditor,
+    ETimeEditor,
+    EDateEditor,
+    ENumberEditor,
+    EDurationEditor,
+    EIpEditor,
+    EFixedPointEditor,
+    ELocationEditor
+    };
+
+enum EAknMultilineDataLayout
+    {
+    EMultiDataFirstEdwin = 1,
+    EMultiDataSecondEdwin,
+    EMultiDataFirstSecEd,
+    EMultiDataSecondSecEd,
+    EMultiDataFirstTimeEd,
+    EMultiDataSecondTimeEd,
+    EMultiDataFirstDateEd,
+    EMultiDataSecondDateEd,
+    EMultiDataFirstDurEd,
+    EMultiDataSecondDurEd,
+    EMultiDataFirstPhoneEd,
+    EMultiDataSecondPhoneEd,
+    EMultiDataFirstNumEd,
+    EMultiDataSecondNumEd,
+    EMultiDataFirstPinEd,
+    EMultiDataSecondPinEd,
+    EMultiDataFirstIpEd,
+    EMultiDataSecondIpEd,
+    EMultiDataFirstLocationEd,
+    EMultiDataSecondLocationEd,
+    EMultiDataFirstEdwinAllowEmpty,
+    EMultiDataSecondEdwinAllowEmpty
+    };
+
+enum TQueryCtrlIds
+    {
+    EGeneralQuery = 0x500,
+    EMultilineFirstLine,
+    EMultilineSecondLine
+    };
+
+enum TListQueryCtrlIds
+    {
+    EListQueryMainInboxList = 1,
+    EListQueryMainDraftList,
+    EListQueryMainOutboxList,
+    EListQueryAppViewLabel,
+    EListQueryMsgEditField,
+    EListQueryHeading,
+    EListQueryControl
+    };
+
+enum TSelectionListCtrlIds
+    {
+    ESelectionListControl = 1,
+    EFindControl,
+    EAknEmptyListControl,
+    EAknListQueryMessageBox
+    };
+
+// layout commands (for lists currently)
+enum
+    {
+    ELayoutNoCmd = 1,
+    ELayoutOptional,        // optional items
+    ELayoutRightSeparator,  // adds separator
+    ELayoutTransparentCell, // transparent cell for formattedlistbox only
+    ELayoutItemMark,        // sets column/subcell to handle item mark in multiselection lists
+    ELayoutNotFilled,
+    ELayoutNotAlwaysDrawn
+    };
+
+enum
+    {
+    ELayoutAlignNone,
+    ELayoutAlignCenter,
+    ELayoutAlignLeft,
+    ELayoutAlignRight,
+    ELayoutAlignBidi
+    };
+
+// Editor alignment
+enum
+    {
+    EAknEditorAlignNone   = ELayoutAlignNone,
+    EAknEditorAlignCenter = ELayoutAlignCenter,
+    EAknEditorAlignLeft   = ELayoutAlignLeft,
+    EAknEditorAlignRight  = ELayoutAlignRight,
+    EAknEditorAlignBidi   = ELayoutAlignBidi
+    };
+
+// Editor character case
+enum
+    {
+    EAknEditorCharactersUpperCase = EAknEditorUpperCase,
+    EAknEditorCharactersLowerCase = EAknEditorLowerCase,
+    EAknEditorCharactersTextCase  = EAknEditorTextCase
+    };
+
+/**
+*
+* Series 60 pre-2.8 Font Ids
+*
+*/
+enum
+    {
+    EFontNone = 0,
+    ELatinPlain12,
+    ELatinBold12,
+    ELatinBold13,
+    ELatinBold17,
+    ELatinBold19,
+    ENumberPlain5,
+    EClockBold30,
+    ELatinClock14,
+    EFontCustom,
+    EPlain12,
+    EPlain16,
+    EApacPlain12 = EPlain12,
+    EApacPlain16 = EPlain16,
+    EBold18,
+    EBold24,
+    ELatinBold16,
+    ECalcBold21,
+    ECalcOperBold21,
+    ECalcOperBold13,
+    EHighestFixedLayoutFont = KHighestFixedLayoutFont
+    };
+
+/**
+* Series 60 Logical Fonts
+*
+* @since Series 60 2.6
+*/
+enum TAknLogicalFontId
+    {
+    EAknLogicalFontPrimaryFont      = KHighestFixedLayoutFont + KAknFontCategoryPrimary,
+    EAknLogicalFontSecondaryFont    = KHighestFixedLayoutFont + KAknFontCategorySecondary,
+    EAknLogicalFontTitleFont        = KHighestFixedLayoutFont + KAknFontCategoryTitle,
+    EAknLogicalFontPrimarySmallFont = KHighestFixedLayoutFont + KAknFontCategoryPrimarySmall,
+    EAknLogicalFontDigitalFont      = KHighestFixedLayoutFont + KAknFontCategoryDigital,
+    EAknHighestLogicalFont          = KAknHighestLogicalFont
+    };
+
+#define ELayoutEmpty (-16380)
+
+// For layout resource of findbox
+enum
+    {
+    EAknLayoutFindPaneIconId = 1,
+    EAknLayoutFindPaneEditorId,
+    EAknLayoutMainPaneListGenPane,
+    EAknLayoutMainPaneListGenPaneWithFindBox,
+    EAknLayoutMainPaneFindPane,
+
+    EAknListSinglePane,
+    EAknListSingleNumberPane,
+    EAknListSingleHeadingPane,
+    EAknListSingleGraphicPane,
+    EAknListSingleGraphicHeadingPane,
+    EAknListSingleNumberHeadingPane,
+    EAknListSingleLargeGraphicPane,
+    EAknListDoubleNumberPane,
+    EAknListDoubleTimePane,
+    EAknListDoubleLargeGraphicPane,
+    EAknListDoubleGraphicPane,
+    EAknListSettingNumberPane,
+
+    EAknLayoutFindPaneVShadow,
+    EAknLayoutFindPaneHShadow,
+    EAknLayoutFindPaneOutlineRect,
+
+    EAknLayoutEmptyList1stLine,
+    EAknLayoutEmptyList2ndLine
+    };
+
+
+// Status pane pane Uids
+
+#define EEikStatusPaneUidSignal       0x100059B9
+#define EEikStatusPaneUidBattery      0x100059BA
+#define EEikStatusPaneUidContext      0x100059BB
+#define EEikStatusPaneUidTitle        0x100059BC
+#define EEikStatusPaneUidNavi         0x100059BD
+#define EEikStatusPaneUidIndic        0x100059BE
+#define EEikStatusPaneUidMessage      0x100059BF
+#define EEikStatusPaneUidClock        0x100059C0
+#define EEikStatusPaneUidDigitalClock 0x10275090
+#define EEikStatusPaneUidEmpty        0x102750A3
+
+// POPUP_FIELD flags
+#define EAknPopupFieldFlagAllowsUserDefinedEntry  0x01
+#define EAknPopupFieldFlagInitialised             0x02
+#define EAknPopupFieldFlagButton                  0x04
+#define EAknPopupFieldNoGraphic                   0x08
+
+enum
+    {
+    EAknDialogQueryValueTextEditor1 = 1,
+    EAknDialogQueryValueNumberEditor1,
+    EAknDialogQueryValuePhoneEditor1,
+    EAknDialogQueryValueTimeEditor1,
+    EAknDialogQueryValueDateEditor1,
+    EAknDialogQueryValueDurationEditor1,
+    EAknFormQueryControl,
+    EAknPopupFieldEmptyListNote
+    };
+
+// POPUP_SETTING_LIST flags
+enum
+    {
+    EAknPopupSettingListFlagAllowsUserDefinedEntry = 0x001,
+    EAknPopupSettingListFlagInitialised            = 0x002
+    };
+
+// FORM default menu constants
+enum
+    {
+    EAknFormCmdEdit = 950,
+    EAknFormCmdAdd,
+    EAknFormCmdSave,
+    EAknFormCmdLabel,
+    EAknFormCmdDelete,
+    EAknFormMaxDefault
+    };
+
+/**
+* Avkon controls that support vertical and horizontal orientation should use
+* these constants for orientation.
+*
+* @since 3.2
+*/
+enum TAknOrientation
+    {
+    EAknOrientationVertical = 0,
+    EAknOrientationHorizontal
+    };
+
+// Slider layouts
+enum
+    {
+    EAknFormSliderLayout1 = 1,
+    EAknFormSliderLayout2,
+    EAknFormSliderLayout3,
+    EAknSettingsItemSliderLayout,
+    EAknSettingsItemSliderLayoutWithGraphics,
+    EAknMIDPFormSliderLayout,
+    EAknSliderLayoutVertical,
+    EAknSliderLayoutHorizontal
+    };
+
+// Slider value types
+enum
+    {
+    EAknSliderValueNone,
+    EAknSliderValueBareFigure,
+    EAknSliderValuePercentage,
+    EAknSliderValueFraction,
+    EAknSliderValueDecimal
+    };
+
+// Slider feedback styles
+enum TAknFeedbackStyle
+    {
+    EAknSliderFbStable,
+    EAknSliderFbDynamic
+    };
+/** Volume layouts */
+enum
+    {
+    ESettingsVolumeControl, /** setting page volume control */
+    ENaviPaneVolumeControl, /** navi pane volume control */
+    EPopupVolumeControl     /** volume pop up control */
+    };
+
+/** dynamic volume layouts
+ *  @since 3.2 */
+enum TAknVolumeControlDynamicLayouts
+    {
+    EDynRangeSettingsVolumeControl = 3, /** Hi-res volume control */
+    EDynRangeNaviPaneVolumeControl,     /** Hi-res volume control */
+    EDynRangePopupVolumeControl,        /** Hi-res volume control */
+    ESmallPopupVolumeControl,           /** same as EDynRangePopupVolumeControl */
+    ESmallPopupVolumeControlWithPercent /** same as EDynRangePopupVolumeControl */
+    };
+
+// Small indicator pane indicators & navi pane editor indicators
+enum
+    {
+    // Status pane's indicator pane's indicators.
+    EAknIndicatorIrActive,
+    EAknIndicatorEnvelope,
+    EAknIndicatorEmailMessage,
+    EAknIndicatorDataMessage,
+    EAknIndicatorFaxMessage,
+    EAknIndicatorOtherMessage,
+    EAknIndicatorSecuredConnection,
+    EAknIndicatorVoiceMailWaiting,
+    EAknIndicatorVoiceMailWaitingOnLine1,
+    EAknIndicatorVoiceMailWaitingOnLine2,
+    EAknIndicatorVoiceMailWaitingOnBothLines,
+    EAknIndicatorHomeZone,
+    EAknIndicatorBluetooth,
+    EAknIndicatorBluetoothModuleOn,
+    EAknIndicatorOutbox,
+    EAknIndicatorKeyguard,
+    EAknIndicatorAllCallsForwarded,
+    EAknIndicatorCallsForwardedOnLine1,
+    EAknIndicatorCallsForwardedOnLine2,
+    EAknIndicatorCallsForwardedOnBothLines,
+    EAknIndicatorCallsForwardedToVoiceMailbox,
+    EAknIndicatorSelectedLine,
+    EAknIndicatorAlarmClock,
+    EAknIndicatorHeadset,
+    EAknIndicatorLoopset,
+    EAknIndicatorIHFActive,
+    EAknIndicatorInstantMessage,
+    EAknIndicatorTTY,
+    EAknIndicatorUSBConnection,
+    EAknIndicatorMissedCalls,
+    EAknIndicatorRemoteMailboxEmailMessage,
+    EAknIndicatorLocation,
+    EAknIndicatorHeadsetUnavailable,
+    EAknIndicatorRoaming,
+    EAknIndicatorLocationOn,
+    EAknIndicatorLocationOff,
+    EAknIndicatorPoC,
+    EAknIndicatorWlanAvailable,
+    EAknIndicatorWlanActive,
+    EAknIndicatorWlanActiveSecure,
+    EAknIndicatorCarkit,
+    EAknIndicatorPoCDnD,
+    EAknIndicatorPoCMissed,
+    EAknIndicatorTvOut,
+    EAknIndicatorVoIP,
+    EAknIndicatorTARM,
+    EAknIndicatorTARMModuleOn,
+    EAknIndicatorMobileTV,
+    EAknIndicatorMobileTVRec,
+    EAknIndicatorHAC,
+    EAknIndicatorMemoryCard,
+    EAknIndicatorVideoSharing,
+    EAknIndicatorSynchronization,
+    EAknIndicatorGPS,
+    EAknIndicatorBluetoothVisible,
+    EAknIndicatorBluetoothModuleOnVisible,
+    EAknIndicatorFMTxSending,
+    EAknIndicatorFMTxEnabled,
+    EAknIndicatorMissedCalendarAlarm,
+    EAknIndicatorUSBMemConnected,
+    EAknIndicatorUSBMemActive,
+    EAknIndicatorStopWatch,
+    EAknIndicatorMecoServiceTab,
+    EAknIndicatorHDMI,
+
+    // Navi pane editor indicators
+    EAknNaviPaneEditorIndicatorT9 = 100,
+    EAknNaviPaneEditorIndicatorUpperCase,
+    EAknNaviPaneEditorIndicatorLowerCase,
+    EAknNaviPaneEditorIndicatorTextCase,
+    EAknNaviPaneEditorIndicatorNumberCase,
+    EAknNaviPaneEditorIndicatorQuery,
+    EAknNaviPaneEditorIndicatorQwertyShift,
+
+    // indicators for selection modes
+    EAknNaviPaneEditorIndicatorUpperCaseSelect,
+    EAknNaviPaneEditorIndicatorLowerCaseSelect,
+    EAknNaviPaneEditorIndicatorTextCaseSelect,
+    EAknNaviPaneEditorIndicatorNumberCaseSelect,
+    EAknNaviPaneEditorIndicatorAutoComplete,
+
+
+    EAknNaviPaneEditorIndicatorArabicCase = 130,
+    EAknNaviPaneEditorIndicatorHebrewCase,
+    EAknNaviPaneEditorIndicatorArabicIndicNumberCase,
+
+    EAknNaviPaneEditorIndicatorDevanagariCase = 140,
+    EAknNaviPaneEditorIndicatorDevanagariIndicNumberCase,
+    EAknNaviPaneEditorIndicatorDevanagariPhoneticUpperCase,
+    EAknNaviPaneEditorIndicatorDevanagariPhoneticLowerCase,
+    // APAC
+    EAknNaviPaneEditorIndicatorPinyin = 150,
+    EAknNaviPaneEditorIndicatorZhuyin,
+    EAknNaviPaneEditorIndicatorStroke, // Stroke editor indicator for simplified Chinese.
+
+    EAknNaviPaneEditorIndicatorZhuyinFind,
+    EAknNaviPaneEditorIndicatorStrokeFind,
+
+    EAknNaviPaneEditorIndicatorCangJie,
+
+    EAknNaviPaneEditorIndicatorPinyinPhrase,
+    EAknNaviPaneEditorIndicatorZhuyinPhrase,
+    EAknNaviPaneEditorIndicatorStrokePhrase,
+    EAknNaviPaneEditorIndicatorStrokeTradPhrase,
+
+    // THAI
+    EAknNaviPaneEditorIndicatorThai = 170,
+
+    EAknNaviPaneEditorIndicatorStrokeTrad,  // Stroke editor indicator for traditional Chinese.
+
+    //FARSI aND URDU
+    EAknNaviPaneEditorIndicatorFarsiAndUrduCase,
+
+    // Application indicators to editor indicator pane
+    EAknNaviPaneEditorIndicatorAudioAttached = 200,
+    EAknNaviPaneEditorIndicatorImageAttached,
+    EAknNaviPaneEditorIndicatorObjects,
+    EAknNaviPaneEditorIndicatorAttachment,
+    EAknNaviPaneEditorIndicatorMessageLength,
+    EAknNaviPaneEditorIndicatorMessageInfo,
+
+    // Extra application indicators to editor indicator pane in small statuspane
+    EAknNaviPaneEditorIndicatorWaitBar,
+    EAknNaviPaneEditorIndicatorProgressBar,
+    EAknNaviPaneEditorIndicatorSecuredConnection,
+    EAknNaviPaneEditorIndicatorWmlWaitGlobe,
+    EAknNaviPaneEditorIndicatorGprs,
+    EAknNaviPaneEditorIndicatorFileSize,
+    EAknNaviPaneEditorIndicatorWmlWindows,
+    EAknNaviPaneEditorIndicatorMcePriorityHigh,
+    EAknNaviPaneEditorIndicatorMcePriorityLow,
+    EAknNaviPaneEditorIndicatorWmlWindowsText,
+    EAknNaviPaneEditorIndicatorWlanAvailable,
+    EAknNaviPaneEditorIndicatorWlanActive,
+    EAknNaviPaneEditorIndicatorWlanActiveSecure,
+
+    // Navi pane editor indicators for Japanese
+    EAknNaviPaneEditorIndicatorJapaneseHiraganaKanji = 300, // Hiragana/Kanji
+    EAknNaviPaneEditorIndicatorJapaneseHiragana,            // Hiragana
+    EAknNaviPaneEditorIndicatorJapaneseFullKatakana,        // Full-width Katakana
+    EAknNaviPaneEditorIndicatorJapaneseHalfKatakana,        // Half-width Katakana
+    EAknNaviPaneEditorIndicatorJapaneseFullUpperAlphabet,   // Full-width Upper Case alphabet
+    EAknNaviPaneEditorIndicatorJapaneseFullLowerAlphabet,   // Full-width Lower Case alphabet
+    EAknNaviPaneEditorIndicatorJapaneseFullTextAlphabet,    // Full-width Text Case alphabet
+    EAknNaviPaneEditorIndicatorJapaneseFullNumeric,         // Full-width numeric
+
+    // Navi pane editor indicators for Korean
+    EAknNaviPaneEditorIndicatorKoreanHangul,
+    EAknNaviPaneEditorIndicatorKoreanHangulSelect,
+
+    // Navi Pane editor indicators for Vietnamese
+    EAknNaviPaneEditorIndicatorVietnameseUpperCase = 400,
+    EAknNaviPaneEditorIndicatorVietnameseLowerCase,
+    EAknNaviPaneEditorIndicatorVietnameseTextCase,
+
+    // Navi Pane editor indicators for Fn key
+    EAknNaviPaneEditorIndicatorFnKeyPressed =500,
+    EAknNaviPaneEditorIndicatorFnKeyLocked,
+    
+    // Navi Pane editor indicators for Greek
+    EAknNaviPaneEditorIndicatorGreekUpperCase = 600,
+    EAknNaviPaneEditorIndicatorGreekLowerCase,
+    EAknNaviPaneEditorIndicatorGreekTextCase,
+        
+    // Navi Pane editor indicators for Cyrillic
+    EAknNaviPaneEditorIndicatorCyrillicUpperCase = 700,
+    EAknNaviPaneEditorIndicatorCyrillicLowerCase,
+    EAknNaviPaneEditorIndicatorCyrillicTextCase,
+    
+    // Navi pane indicator for hybrid mode in easy dialling
+    EAknNaviPaneEditorIndicatorHybridLatin = 800,
+        
+    // Reserved for dynamic indicators
+    EAknNaviPaneEditorIndicatorDynamicUidRangeFirst = 10000,
+    EAknNaviPaneEditorIndicatorDynamicUidRangeLast  = 11000
+    };
+
+enum  // Indicator states
+    {
+    EAknIndicatorStateOff,
+    EAknIndicatorStateOn,
+    EAknIndicatorStateAnimate
+    };
+
+enum // Signal indicator states
+    {
+    // GPRS indicator states
+    EAknSignalGprsIndicatorOff = 0,
+    EAknSignalGprsIndicatorAvailable, // Same as EAknSignalGprsIndicatorOff
+    EAknSignalGprsIndicatorAttached,
+    EAknSignalGprsIndicatorEstablishingContext,
+    EAknSignalGprsIndicatorContext,
+    EAknSignalGprsIndicatorSuspended,
+    EAknSignalGprsIndicatorMultipdp,
+
+     // Common packet data indicator states
+    EAknSignalCommonPacketDataIndicatorOff = 0x100,
+    EAknSignalCommonPacketDataIndicatorAvailable, // Same as EAknSignalCommonPacketDataIndicatorOff
+    EAknSignalCommonPacketDataIndicatorAttached,
+    EAknSignalCommonPacketDataIndicatorEstablishingContext,
+    EAknSignalCommonPacketDataIndicatorContext,
+    EAknSignalCommonPacketDataIndicatorSuspended,
+    EAknSignalCommonPacketDataIndicatorMultipdp,
+
+     // WCDMA indicator states
+    EAknSignalWcdmaIndicatorOff = 0x200,
+    EAknSignalWcdmaIndicatorAvailable,
+    EAknSignalWcdmaIndicatorAttached,
+    EAknSignalWcdmaIndicatorEstablishingContext,
+    EAknSignalWcdmaIndicatorContext,
+    EAknSignalWcdmaIndicatorMultipdp,
+    EAknSignalWcdmaIndicatorSuspended,
+
+    // CDMA indicator states
+    EAknSignalCdmaIndicatorOff = 0x300,
+    EAknSignalCdmaIndicatorNoService,
+    EAknSignalCdmaIndicatorAvailable,
+    EAknSignalCdmaIndicatorNotAvailable,
+    EAknSignalCdmaIndicatorActive,
+    EAknSignalCdmaIndicatorDormant,
+    EAknSignalCdmaIndicatorSending,
+    EAknSignalCdmaIndicatorReceiving,
+
+     // EDGE indicator states
+    EAknSignalEdgeIndicatorOff = 0x400,
+    EAknSignalEdgeIndicatorAvailable,
+    EAknSignalEdgeIndicatorAttached,
+    EAknSignalEdgeIndicatorEstablishingContext,
+    EAknSignalEdgeIndicatorContext,
+    EAknSignalEdgeIndicatorSuspended,
+    EAknSignalEdgeIndicatorMultipdp,
+
+     // HSDPA indicator states
+    EAknSignalHsdpaIndicatorOff = 0x500,
+    EAknSignalHsdpaIndicatorAvailable,
+    EAknSignalHsdpaIndicatorAttached,
+    EAknSignalHsdpaIndicatorEstablishingContext,
+    EAknSignalHsdpaIndicatorContext,
+    EAknSignalHsdpaIndicatorSuspended,
+    EAknSignalHsdpaIndicatorMultipdp
+    };
+
+#define KAknSignalOffLineMode 0x00010000
+
+// Grid layout flags
+#define EAknGridHorizontalOrientation               0x01
+#define EAknGridVerticalOrientation                 0x02
+#define EAknGridRightToLeft                         0x04
+#define EAknGridLeftToRight                         0x08
+#define EAknGridBottomToTop                         0x10
+#define EAknGridTopToBottom                         0x20
+// Chooses right-to-left or left-to-right depending on language's writing direction
+// You MUST use CurrentDataIndex() and CurrentItemIndex() from grid correctly if you
+// choose this flag! (Most cases you want to use CurrentDataIndex(), not CurrentItemIndex!)
+#define EAknGridLanguageSpecificHorizontalDirection 0x40
+
+#define EAknGridFollowsItemsAndStops                0x00
+#define EAknGridFollowsItemsAndLoops                0x01
+#define EAknGridFollowsGrid                         0x02
+#define EAknGridStops                               0x04
+#define EAknGridIncrementLineAndStops               0x08
+#define EAknGridIncrementLineAndLoops               0x10
+
+// Bitmap Animation flags
+#define EAknBitmapAnimationPlayModePlay             0x00
+#define EAknBitmapAnimationPlayModeCycle            0x01
+#define EAknBitmapAnimationPlayModeBounce           0x02
+
+// Defining colors in resource file (this is for defining your own color schemes, do not use in
+// applications!) (num is the number from LAF specification!) This is used in eikcolor.ra to setup
+// color lists.
+#define AVKON_COLOR(num,r,g,b) CTRL_COLOR { logical_color=(num); color = COLOR { red=(r); green=(g); blue=(b); }; }
+
+// This is used in eikcolor.ra
+#define AVKON_RGB(num,r,g,b) COLOR { red=(r); green=(g); blue=(b); }
+
+//
+// defines for different listbox layouts
+// gfx = index to the image in icon array in A column
+// heading = heading text in B column
+// text = main text for C column
+// optgfx1 = index to optional image in D column
+// optgfx2 = index to 2nd optional image in D column
+//
+// Example:  LB_SINGLE_GRAPHIC_HEADING(1, qgn_icon_1, qtn_text_1)
+
+#define LB_SINGLE(text)                                 text
+#define LB_SINGLE_NUMBER(num,text)                      #num ## "/t" ## text
+#define LB_SINGLE_HEADING(heading, text)                heading ## "/t" ## text
+#define LB_SINGLE_GRAPHIC(gfx, text)                    #gfx ## text
+#define LB_SINGLE_GRAPHIC_HEADING(gfx, heading, text)   #gfx ## "/t" ## heading ## "/t" ## text
+
+// SCT enumerations
+enum  // ids in SCT_CHAR_SET resource.
+    {
+    EAknSCTLowerCase,
+    EAknSCTUpperCase,
+    EAknSCTNumeric,
+    EAknSCTFullCase,
+    EAknSCTHalfCase,
+    EAknSCTQwerty,
+    EAknSCTChiChineseInputModes = EAknSCTUpperCase,
+    EAknSCTChiLatinInputModes = EAknSCTLowerCase,
+    // The following definitions are used for category buttons
+    EAknSCTPictograph = 10,
+    EAknSCTPictograph1,
+    EAknSCTPictograph2
+    };
+
+// For Setting Page resource so that no number is displayed
+#define EAknSettingPageNoOrdinalDisplayed     (-16380)
+
+// Flag for Setting Item resource
+#define EAknSettingItemNumberedStyle          (0x0001)
+#define EAknSettingItemIncludeHiddenInOrdinal (0x0002)
+
+enum TSCTQueryCtrlIds
+    {
+    EAknSCTQueryHeadingId = 1,
+    EAknSCTQueryContentId
+    };
+
+enum TSmileyQueryCtrlIds
+    {
+    EAknSmileyQueryHeadingId = 1,
+    EAknSmileyQueryContentId
+    };
+
+// Enemerations for Avkon KeySounds
+
+enum TAvkonSKeyRepeatType
+    {
+    ESKeyTypeShort,
+    ESKeyTypeLong,
+    ESKeyTypeRepeat
+    };
+
+// These SID numbers should specify all AVKON defined SID's
+// The first item starts from 1000 so there are no clashes
+// with application defined SID's (which should start at 0)
+enum TAvkonSystemSID
+    {
+    EAvkonSIDNoSound                 = 1000,
+    EAvkonSIDDefaultSound            = 1001,
+    EAvkonSIDStandardKeyClick        = 1002,
+    EAvkonSIDConfirmationTone        = 1003,
+    EAvkonSIDInformationTone         = 1003,
+    EAvkonSIDWarningTone             = 1004,
+    EAvkonSIDErrorTone               = 1005,
+    EAvkonSIDVolumeMaxTone           = 1006,
+    EAvkonSIDVolumeMinTone           = 1007,
+    EAvkonSIDReadialCompleteTone     = 1008,
+    EAvkonSIDBatteryLowTone          = 1009,
+    EAvkonSIDChargingBatteryTone     = 1010,
+    EAvkonSIDConnectionStartTone     = 1011,
+    EAvkonSIDConnectionStopTone      = 1012,
+    EAvkonSIDOperationReadyTone      = 1013,
+    EAvkonSIDNameDiallerStartTone    = 1014,
+    EAvkonSIDNameDiallerErrorTone    = 1015,
+    EAvkonSIDNameDiallerAbortTone    = 1016,
+    EAvkonSIDPowerOffTone            = 1017,
+    EAvkonSIDPowerOnTone             = 1018,
+    EAvkonSIDRechargeBatteryTone     = 1019,
+    EAvkonSIDVoiceRecordingTone      = 1020,
+    EAvkonSIDVoiceRecordingStartTone = 1021,
+    EAvkonSIDVoiceRecordingStopTone  = 1022,
+    EAvkonSIDWrongCharger            = 1023,
+    EAvkonSIDNetBusy                 = 1024,
+    EAvkonSIDNetCallWaiting          = 1025,
+    EAvkonSIDNetReorder              = 1026,
+    EAvkonSIDNetCongestion           = 1027,
+    EAvkonSIDNetSpecialInformation   = 1028,
+    EAvkonSIDNetRadioNotAvailable    = 1029,
+    EAvkonSIDIHFActive               = 1030,
+    EAvkonSIDRadioPathAcknowledge    = 1031,
+    EAvkonSIDDial                    = 1032,
+    EAvkonSIDRingGoing               = 1033,
+    EAvkonSIDLocationRequest         = 1034
+    };
+
+// These are used as priority values for Media Server
+enum TAvkonSoundsPriority
+    {
+    EAvkonKeyClickPriority           = 45, // contains DTMF and camera
+    EAvkonPoweringTonesPriority      = 50,
+    EAvkonLowLevelNotesPriority      = 55,
+    EAvkonConfirmationNotePriority   = 55,
+    EAvkonVolumeSettingTonesPriority = 60,
+    EAvkonConnectionTonesPriority    = 65,
+    EAvkonHighLevelNotesPriority     = 70,
+    EAvkonErrorNotePriority          = 70,
+    EAvkonWarningNotePriority        = 70,
+    EAvkonVoiceDiallingTonesPriority = 73,
+    EAvkonNetworkingTonesPriority    = 75,
+    EAvkonRecordingTonesPriority     = 80,
+    EAvkonChargingTonesPriority      = 85,
+    EAvkonNewMessageTonesPriority    = 90,
+    EAvkonAlarmTonesPriority         = 95,
+    EAvkonRingingTonesPriority       = 100
+    };
+
+// These are used as priority preference values for Media Server
+enum TAvkonSoundsPreference
+    {
+    EAknAudioPrefIncomingCall        = 0x01340001,
+    EAknAudioPrefIncomingCallLine2   = 0x01330001,
+    EAknAudioPrefIncomingDataCall    = 0x01320001,
+    EAknAudioPrefAutoRedialCompleted = 0x01310001,
+
+    EAknAudioPrefAlarmClock          = 0x01220001,
+    EAknAudioPrefCalendarAlarm       = 0x01210001,
+
+    // Message Preferences
+    EAknAudioPrefNewSMS              = 0x01120001,
+    EAknAudioPrefNewSpecialMessage   = 0x01110001,
+
+    // Battery preferences
+    EAknAudioPrefBatteryLow          = 0x01030001,
+    EAknAudioPrefRechargeBattery     = 0x01020001,
+    EAknAudioPrefWrongCharger        = 0x01010001,
+
+    // Recording Tone preferences
+    EAknAudioPrefVoiceRecStart       = 0x00930001,
+    EAknAudioPrefVoiceRecRecording   = 0x00920001,
+    EAknAudioPrefVoiceRecStop        = 0x00910001,
+
+    // Network preferences
+    EAknAudioPrefRadioPathAck        = 0x00890001,
+    EAknAudioPrefDial                = 0x00880001,
+    EAknAudioPrefRingGoing           = 0x00870001,
+    EAknAudioPrefBusy                = 0x00860001,
+    EAknAudioPrefCallWaiting         = 0x00850001,
+    EAknAudioPrefReorder             = 0x00840001,
+    EAknAudioPrefCongestion          = 0x00830001,
+    EAknAudioPrefSpecialInformation  = 0x00820001,
+    EAknAudioPrefRadioNotAvailable   = 0x00810001,
+
+    // High level preferences
+    EAknAudioPrefError               = 0x00720001,
+    EAknAudioPrefWarning             = 0x00710001,
+
+    // Voice Dialling preferences
+    EAknAudioPrefVoiceStarting       = 0x00630001,
+    EAknAudioPrefVoiceError          = 0x00620001,
+    EAknAudioPrefVoiceAbort          = 0x00610001,
+
+    // Connection preferences
+    EAknAudioPrefConnectionStart     = 0x00530001,
+    EAknAudioPrefConnectionStop      = 0x00520001,
+    EAknAudioPrefOperationReady      = 0x00510001,
+
+    // Volume / IHF preferences /Previews
+    EAknAudioPrefFilePreview         = 0x00440001,
+    EAknAudioPrefAudioVolumeMin      = 0x00430001,
+    EAknAudioPrefAudioVolumeMax      = 0x00420001,
+    EAknAudioPrefIHFActive           = 0x00410001,
+
+    // Low Level preferences
+    EAknAudioPrefCharging            = 0x00330001,
+    EAknAudioPrefConfirmation        = 0x00320001,
+    EAknAudioPrefDefaultTone         = 0x00310001,
+
+    // Phone power preferences
+    EAknAudioPrefPowerOn             = 0x00220001,
+    EAknAudioPrefPowerOff            = 0x00210001,
+
+    // Key press / camera click preferences
+    EAknAudioPrefKeyPressNonDTMF     = 0x00140001,
+    EAknAudioPrefKeyDownDTMF         = 0x00130001,
+    EAknAudioPrefKeyUpDTMF           = 0x00120001,
+    EAknAudioPrefCamera              = 0x00110001,
+
+    // Record and VoCos Preferences
+    EAknAudioPrefVoiceRec            = 0x00060001,
+    EAknAudioPrefComposer            = 0x00050001,
+    EAknAudioPrefRingFilePreview     = 0x00040001,
+    EAknAudioPrefVocosPlayback       = 0x00030001,
+    EAknAudioPrefVocosTrain          = 0x00020001,
+    EAknAudioPrefVocosRecog          = 0x00010001,
+
+    EAvkonKeyClickPreference         = 0x00140001,
+    EAvkonConfirmationNotePreference = 0x00320001,
+    EAvkonErrorNotePreference        = 0x00720001,
+    EAvkonWarningNotePreference      = 0x00710001
+    };
+
+// Constants for integer editor widths; may be required in resource
+#define EAknMaxIntegerDigits    12
+
+enum TMessageQueryCtrlIds
+    {
+    EAknMessageQueryHeaderId = 1,
+    EAknMessageQueryContentId
+    };
+
+// CAknIncallBubble flags
+    /**
+    *   Bit             Explanation
+    *   0 and 1         Call state
+    *   2               No Ciphering
+    *   3               Is muted
+    *   4               Is Visible
+    *   5               Is a Fax
+    *   6               Is a Data call
+    *   7               Is a Hscsd data call
+    *   8               Line 2 indication
+    *   9               Is a Video call
+    *   10              Is an emergency call
+    *   11              Is a VoIP call
+    *   12              Is a full screen touch input window show
+    *   13              If a full screen touch input window hide
+    *   ...
+    *   ...
+    *   31              Reserved for incall bubble notifier internal use.
+    */
+
+enum TAvkonIncallStatusBubbleFlags
+    {
+    EAknStatusBubbleAlerting         = 0x00, // One of
+    EAknStatusBubbleActive           = 0x01, // these
+    EAknStatusBubbleOnHold           = 0x02, // to set
+    EAknStatusBubbleDisconnected     = 0x03, // the call state
+    EAknStatusBubbleNoCiphering      = 0x04,
+    EAknStatusBubbleMuted            = 0x08,
+    EAknStatusBubbleVisible          = 0x10,
+    EAknStatusBubbleFax              = 0x20,
+    EAknStatusBubbleData             = 0x40,
+    EAknStatusBubbleDataHscsd        = 0x80,
+    EAknStatusBubbleLine2            = 0x100,
+    EAknStatusBubbleVideo            = 0x200,
+    EAknStatusBubbleEmergency        = 0x400,
+    EAknStatusBubbleVoIP             = 0x800,
+    EAknStatusBubbleInputShow            = 0x1000,
+    EAknStatusBubbleInputHide            = 0x2000,
+    EAknStatusBubbleReservedInternal = 0x80000000
+    };
+
+/**
+ * Timeouts for note dialog wrappers
+ * These should be kept same as CAknNoteDialog::TTimeout.
+ */
+enum TAknNoteDialogTimeout
+    {
+    EAknNoteDialogUndefinedTimeout = 0,
+    EAknNoteDialogShortTimeout     = 1500000,
+    EAknNoteDialogLongTimeout      = 3000000,
+
+    // Change these if Notes UI spec changes:
+    EAknConfirmationNoteTimeout    = EAknNoteDialogShortTimeout,
+    EAknInformationNoteTimeout     = EAknNoteDialogLongTimeout,
+    EAknErrorNoteTimeout           = EAknNoteDialogLongTimeout,
+    EAknWarningNoteTimeout         = EAknNoteDialogLongTimeout
+    };
+
+/**
+ * Tones for note dialog wrappers
+ * These should be kept same as CAknNoteDialog::TTone.
+ */
+enum TAknNoteDialogTone
+    {
+    EAknNoteDialogNoTone           = 0,
+    EAknNoteDialogConfirmationTone = EAvkonSIDConfirmationTone,
+    EAknNoteDialogWarningTone      = EAvkonSIDWarningTone,
+    EAknNoteDialogErrorTone        = EAvkonSIDErrorTone
+    };
+
+enum TAknSelectionListDialogFlags
+    {
+    EAknFlagFind = 0x0001
+    };
+
+enum TAknIconArrayType
+    {
+    EAknIconArrayNone,
+    EAknIconArraySimple,
+    EAknIconArrayComplex
+    };
+
+// This enum is to distinguish at runtime whether you are in
+// European or APAC build variant.
+enum EVariantFlag
+   {
+   EEuropeanVariant=0,
+   EApacVariant
+   };
+
+// This can be extended for additional subvariants.  Routine in AknUtils should be updated
+// to return the correct sub-variant.
+enum ESubVariantFlag
+   {
+   ENoSubVariant = 0,
+   EPrcSubVariant,
+   EHongKongSubVariant,
+   ETaiwanSubVariant
+   };
+
+// This is the max length of the screensaver text
+#define KScreensaverTextMaxLength 15
+
+// These flags are to be used in conjunction with CAknForm
+#define KSingleLineHorizontalScrollingEditorFlags EEikEdwinAlternativeWrapping | EEikEdwinNoWrap
+#define KMultiLineExpandingEditorFlags            EEikEdwinNoHorizScrolling | EEikEdwinResizable
+
+// Deprecated
+#define AVERELL_NOTE                    AVKON_NOTE
+#define AVERELL_CONFIRMATION_QUERY      AVKON_CONFIRMATION_QUERY
+#define AVERELL_DATA_QUERY              AVKON_DATA_QUERY
+
+enum TAknKeyBlockMode
+    {
+    EDefaultBlockMode = 0,
+    ENoKeyBlock
+    };
+
+// Separator line.
+enum TAknSeparatorLinePosition
+    {
+    ENoLine,
+    EAColumn,
+    EABColumn,
+    EBCColumn,
+    EBCColumnStretched
+    };
+
+enum TAknColourSelectionDialogIds
+    {
+    ECtrlGridType = 100,
+    EColourGridPopup,
+    EColourGridPopupNone
+    };
+
+// custom text cursor constants
+
+enum TAknCustomTextCursorIds
+    {
+    KAknCustomTextCursorIdLeftToRight     = 0x101fdf03,
+    KAknCustomTextCursorIdRightToLeft     = 0x101fdf04,
+    KAknCustomTextCursorIdLeftToRightThin = 0x101fe51c,
+    KAknCustomTextCursorIdRightToLeftThin = 0x101fe51d
+    };
+
+enum TAknNaviPaneBackgroundTypes
+    {
+    EAknNaviPaneBackgroundTypeNotDefined  = 0,
+    EAknNaviPaneBackgroundTypeWipe        = 1,
+    EAknNaviPaneBackgroundTypeSolid       = 2
+    };
+
+// common bitmap file definitions (for .rss etc.)
+
+#define COMMONDIALOGS_BITMAP_FILE    "z:\\resource\\apps\\commondialogs.mbm"
+#define CALLSTATUS_BITMAP_FILE       "z:\\resource\\apps\\callstatus.mbm"
+#define MEMORYCARDUI_BITMAP_FILE     "z:\\resource\\apps\\aknmemorycardui.mbm"
+#define AVKON_BITMAP_FILE            "z:\\resource\\apps\\avkon2.mbm"
+#define AVKON_VARIATED_BITMAPS_FILE  "z:\\resource\\apps\\variatedbitmaps.mbm"
+#define SMILEY_ICONS_MIF_FILE        "z:\\resource\\apps\\smiley.mif"
+
+// End key closing event. If this window server event is received,
+// by default application will be closed unless it is system application.
+#define KAknUidValueEndKeyCloseEvent 0x101F87F0
+
+enum TAknStylusPopUpCmdLinkIds
+    {
+    EAknStylusPopUpCmdLink1 = 0,
+    EAknStylusPopUpCmdLink2
+    };
+
+/**
+* Battery indicator states.
+*/
+enum TAknBatteryIndicatorStates
+    {
+    EAknBatteryIndicatorNormal = 1,
+    EAknBatteryIndicatorPowerSave
+    };
+
+// Category button IDs enumerations for SCT
+// Those IDs are used on AVKON_SCT_CATEGORY_BUTTON resource.
+// r:5.0
+enum  TAknSCTCategoryButtons
+    {
+    EAknSCTCategoryButtonHalfCase = 0,
+    EAknSCTCategoryButtonFullCase,
+    EAknSCTCategoryButtonPicto,
+    EAknSCTCategoryButtonPicto1,
+    EAknSCTCategoryButtonPicto2,
+    EAknSCTCategoryButtonLastId         // not set to ids
+    };
+enum TAknFepDualLanguageSettingDualInput
+    {
+    EAknFepDualLanguageSettingDualInputPrimary,
+    EAknFepDualLanguageSettingDualInputSecondary
+    };
+
+enum TAknSctTableNaviButtons
+    {
+    EAknSctTableNaviExit = 0,
+    EAknSctTableNaviSpecialChar,
+    EAknSctTableNaviEmotion,
+    EAknSctTableNaviLastId
+    };
+
+enum TAknSctPageNaviButtons
+    {
+    EAknSctPageNaviPrevPage = 0,
+    EAknSctPageNaviNextPage,
+    EAknSctPageNaviLastId
+    };
+
+//
+// Flags for CAknDiscreetPopup
+//
+// Popup's duration is long (default is short)
+#define KAknDiscreetPopupDurationLong       0x00000001
+// Popup switches the device light on
+#define KAknDiscreetPopupLightsOn           0x00000002
+// Popup plays the confirmation tone
+#define KAknDiscreetPopupConfirmationTone   0x00000004
+// Popup plays the warning tone
+#define KAknDiscreetPopupWarningTone        0x00000008
+// Popup plays the error tone
+#define KAknDiscreetPopupErrorTone          0x00000010
+#endif // __AVKON_HRH__
+
+//
+// Flags for CAknSettingPage (used in extension resource)
+//
+#define KAknSettingPageNoEmbeddedSoftKeys 0x00000001
+