uifw/AvKon/src/aknlib.cpp
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
equal deleted inserted replaced
-1:000000000000 0:2f259fa3e83a
       
     1 /*
       
     2 * Copyright (c) 2002 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: 
       
    15 *
       
    16 */
       
    17 
       
    18 #include "AknLib.h"
       
    19 #include <e32std.h>
       
    20 #include "avkon.hrh"
       
    21 #include <aknlists.h>
       
    22 #include <aknjavalists.h>
       
    23 #include <eikimage.h>
       
    24 #include <akntitle.h>
       
    25 #include <akncontext.h>
       
    26 #include "akncontextidle.h"
       
    27 #include <aknnavi.h>
       
    28 #include <AknSignal.h>
       
    29 #include <AknBattery.h>
       
    30 #include <AknIndicatorContainer.h>
       
    31 #include <aknnotecontrol.h>
       
    32 #include <aknQueryControl.h>
       
    33 #include <AknQueryDialog.h>
       
    34 #include <AknPopupFieldText.h>
       
    35 #include <aknsettingpage.h>
       
    36 #include <aknpopupsettingpage.h>
       
    37 #include <aknslider.h>
       
    38 #include <aknCharMap.h>
       
    39 #include <eikfrlb.h>
       
    40 #include <aknPopupHeadingPane.h>
       
    41 #include <AknQueryDialog.h>
       
    42 #include <aknQueryControl.h>
       
    43 #include <aknmessagequerycontrol.h>
       
    44 #include <aknmultilinequerycontrol.h>
       
    45 #include <aknlistquerycontrol.h>
       
    46 #include <AknPhoneNumberEditor.h>
       
    47 #include <AknNumEdwin.h>
       
    48 #include <AknAppGrid.h>
       
    49 #include "aknlistquerysearchcontrol.h"
       
    50 #include "aknstatuspanedigitalclock.h"
       
    51 #include "aknemptycontrol.h"
       
    52 #include "aknuniversalindicatorcontainer.h"
       
    53 #include "aknsignalindicatorcontainer.h"
       
    54 #include "aknbatteryindicatorcontainer.h"
       
    55 
       
    56 #include <aknbutton.h>
       
    57 
       
    58 
       
    59 _LIT(KResFileName,         "z:\\resource\\avkon.rsc");
       
    60 _LIT(KAknPrivResourceFile, "z:\\resource\\aknpriv.rsc");
       
    61 
       
    62 // Static DLL functions
       
    63 GLDEF_C void Panic(TAknPanic aPanic)
       
    64     {
       
    65     _LIT(KPanicCat,"AVKON");
       
    66     User::Panic(KPanicCat,aPanic);
       
    67     }
       
    68 
       
    69 
       
    70 //
       
    71 // CAknLibrary
       
    72 //
       
    73 CAknLibrary::CAknLibrary()
       
    74     {
       
    75     }
       
    76 
       
    77 EXPORT_C TFileName CAknLibrary::ResourceFile()
       
    78     {
       
    79     return KResFileName();
       
    80     }
       
    81 
       
    82 EXPORT_C TFileName CAknLibrary::PrivateResourceFile()
       
    83     {
       
    84     return KAknPrivResourceFile();
       
    85     }
       
    86 
       
    87 EXPORT_C TCreateByTypeFunction  CAknLibrary::ControlFactory()
       
    88     {
       
    89     return CreateByTypeL;
       
    90     }
       
    91 
       
    92 
       
    93 SEikControlInfo CAknLibrary::CreateByTypeL(TInt aControlType)
       
    94     {
       
    95     SEikControlInfo controlInfo;
       
    96     controlInfo.iControl = NULL;
       
    97     controlInfo.iTrailerTextId = 0;
       
    98     controlInfo.iFlags = 0;
       
    99 
       
   100     switch (aControlType)
       
   101         {
       
   102     case EAknCtTest:
       
   103         controlInfo.iControl = new(ELeave) CEikImage;
       
   104         break;
       
   105 
       
   106         // generic listboxes
       
   107     case EAknCtFormattedListBox:
       
   108         controlInfo.iControl = new(ELeave) CEikFormattedCellListBox;
       
   109         break;
       
   110         // SERIES60 listboxes
       
   111 
       
   112     case EAknCtSingleListBox:
       
   113         controlInfo.iControl = new(ELeave) CAknSingleStyleListBox;
       
   114         break;
       
   115     case EAknCtSingleNumberListBox:
       
   116         controlInfo.iControl = new(ELeave) CAknSingleNumberStyleListBox;
       
   117         break;
       
   118     case EAknCtSingleHeadingListBox:
       
   119         controlInfo.iControl = new(ELeave) CAknSingleHeadingStyleListBox;
       
   120         break;
       
   121     case EAknCtSingleGraphicListBox:
       
   122         controlInfo.iControl = new(ELeave) CAknSingleGraphicStyleListBox;
       
   123         break;
       
   124     case EAknCtSingleGraphicHeadingListBox:
       
   125         controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingStyleListBox;
       
   126         break;
       
   127     case EAknCtSingleNumberHeadingListBox:
       
   128         controlInfo.iControl = new(ELeave) CAknSingleNumberHeadingStyleListBox;
       
   129         break;
       
   130     case EAknCtSingleLargeListBox:
       
   131         controlInfo.iControl = new(ELeave) CAknSingleLargeStyleListBox;
       
   132         break;
       
   133     case EAknCtSingle2GraphicListBox:
       
   134         controlInfo.iControl = new(ELeave) CAknSingle2GraphicStyleListBox;
       
   135         break;
       
   136     case EAknCtDoubleListBox:
       
   137         controlInfo.iControl = new(ELeave) CAknDoubleStyleListBox;
       
   138         break;
       
   139     case EAknCtDoubleNumberListBox:
       
   140         controlInfo.iControl = new(ELeave) CAknDoubleNumberStyleListBox;
       
   141         break;
       
   142     case EAknCtDoubleTimeListBox:
       
   143         controlInfo.iControl = new(ELeave) CAknDoubleTimeStyleListBox;
       
   144         break;
       
   145     case EAknCtDoubleLargeListBox:
       
   146         controlInfo.iControl = new(ELeave) CAknDoubleLargeStyleListBox;
       
   147         break;
       
   148     case EAknCtDoubleGraphicListBox:
       
   149         controlInfo.iControl = new(ELeave) CAknDoubleGraphicStyleListBox;
       
   150         break;
       
   151     case EAknCtDouble2GraphicListBox:
       
   152         controlInfo.iControl = new(ELeave) CAknDouble2GraphicStyleListBox;
       
   153         break;
       
   154     case EAknCtDouble2LargeListBox:
       
   155         controlInfo.iControl = new(ELeave) CAknDouble2LargeStyleListBox;
       
   156         break;
       
   157     case EAknCtDouble2GraphicLargeListBox:
       
   158         controlInfo.iControl = new(ELeave) CAknDouble2GraphicLargeStyleListBox;
       
   159         break;
       
   160     case EAknCtSettingListBox:
       
   161         controlInfo.iControl = new(ELeave) CAknSettingStyleListBox;
       
   162         break;
       
   163     case EAknCtSettingNumberListBox:
       
   164         controlInfo.iControl = new(ELeave) CAknSettingNumberStyleListBox;
       
   165         break;
       
   166     case EAknCtSingleHeadingPopupMenuListBox:
       
   167         controlInfo.iControl = new(ELeave) CAknSingleHeadingPopupMenuStyleListBox;
       
   168         break;
       
   169 
       
   170     case EAknCtSinglePopupMenuListBox:
       
   171         controlInfo.iControl = new(ELeave) CAknSinglePopupMenuStyleListBox;
       
   172         break;
       
   173     case EAknCtSingleGraphicPopupMenuListBox:
       
   174         controlInfo.iControl = new(ELeave) CAknSingleGraphicPopupMenuStyleListBox;
       
   175         break;
       
   176     case EAknCtSingleGraphicHeadingPopupMenuListBox:
       
   177         controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingPopupMenuStyleListBox;
       
   178         break;
       
   179     case EAknCtMenuDoublePopupMenuListBox:
       
   180         controlInfo.iControl = new(ELeave) CAknDoublePopupMenuStyleListBox;
       
   181         break;
       
   182     case EAknCtSinglePopupSubmenuListBox:
       
   183         controlInfo.iControl = new(ELeave) CAknSinglePopupSubmenuStyleListBox;
       
   184         break;
       
   185     case EAknCtDoubleLargeGraphicPopupMenuListBox:
       
   186         controlInfo.iControl = new(ELeave) CAknDoubleLargeGraphicPopupMenuStyleListBox;
       
   187         break;
       
   188     case EAknCtDouble2PopupMenuListBox:
       
   189         controlInfo.iControl = new(ELeave) CAknDouble2PopupMenuStyleListBox;
       
   190         break;
       
   191     case EAknCtSingle2GraphicPopupMenuListBox:
       
   192         controlInfo.iControl = new(ELeave) CAknSingle2GraphicPopupMenuStyleListBox;
       
   193         break;
       
   194     case EAknCtDoubleGraphicPopupMenuListBox:
       
   195         controlInfo.iControl = new(ELeave) CAknDoubleGraphicPopupMenuStyleListBox;
       
   196         break;
       
   197 
       
   198     case EAknSetListBox:
       
   199         controlInfo.iControl = new(ELeave) CAknSetStyleListBox;
       
   200         break;
       
   201     case EAknFormGraphicListBox:
       
   202         controlInfo.iControl = new(ELeave) CAknFormGraphicStyleListBox;
       
   203         break;
       
   204 
       
   205 /*
       
   206         // SERIES60 popup listboxes
       
   207     case EAknCtPopupSingle1ListBox:
       
   208         controlInfo.iControl = new(ELeave) CAknPopupSingle1StyleListBox;
       
   209         break;
       
   210     case EAknCtPopupSingle2ListBox:
       
   211         controlInfo.iControl = new(ELeave) CAknPopupSingle2StyleListBox;
       
   212         break;
       
   213 
       
   214     case EAknCtPopupSingleGraphic2ListBox:
       
   215         controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic2StyleListBox;
       
   216         break;
       
   217     case EAknCtPopupSingleGraphic3ListBox:
       
   218         controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic3StyleListBox;
       
   219         break;
       
   220     case EAknCtPopupSingleGraphicHeading2ListBox:
       
   221         controlInfo.iControl = new(ELeave) CAknPopupSingleGraphicHeading2StyleListBox;
       
   222         break;
       
   223     case EAknCtPopupDoubleListBox:
       
   224         controlInfo.iControl = new(ELeave) CAknPopupDoubleStyleListBox;
       
   225         break;
       
   226 */
       
   227 
       
   228     case EAknCtAppGrid:
       
   229         controlInfo.iControl = new(ELeave) CAknAppStyleGrid;
       
   230         break;
       
   231     case EAknCtPinbGrid:
       
   232         controlInfo.iControl = new(ELeave) CAknPinbStyleGrid;
       
   233         break;
       
   234     case EAknCtQdialGrid:
       
   235         controlInfo.iControl = new(ELeave) CAknQdialStyleGrid;
       
   236         break;
       
   237     case EAknCtCaleMonthGrid:
       
   238         controlInfo.iControl = new(ELeave) CAknCaleMonthStyleGrid;
       
   239         break;
       
   240 
       
   241         // status pane
       
   242         case EAknCtTitlePane:
       
   243             controlInfo.iControl = new(ELeave) CAknTitlePane;
       
   244             break;
       
   245         case EAknCtContextPane:
       
   246             controlInfo.iControl = new(ELeave) CAknContextPane;
       
   247             break;
       
   248         case EAknCtIdleContextPane:
       
   249             controlInfo.iControl = new(ELeave) CAknIdleContextPane;
       
   250             break;
       
   251         case EAknCtNaviPane:
       
   252             controlInfo.iControl = new(ELeave) CAknNavigationControlContainer;
       
   253             break;
       
   254         case EAknCtSignalPane:
       
   255             controlInfo.iControl = new(ELeave) CAknSignalPane;
       
   256             break;
       
   257         case EAknCtBatteryPane:
       
   258             controlInfo.iControl = new(ELeave) CAknBatteryPane;
       
   259             break;
       
   260         case EAknCtIndicatorPane:
       
   261             controlInfo.iControl = new(ELeave) CAknIndicatorContainer;
       
   262             break;
       
   263         case EAknCtUniversalIndicatorPane:
       
   264             controlInfo.iControl = new(ELeave) CAknUniversalIndicatorContainer;
       
   265             break;
       
   266         case EAknCtDigitalClockPane:
       
   267             controlInfo.iControl = new(ELeave) CAknStatuspaneDigitalClock;
       
   268             break;
       
   269         case EAknCtStatuspaneEmpty:
       
   270             controlInfo.iControl = new(ELeave) CAknEmptyControl;
       
   271             break;
       
   272         case EAknCtSignalIndicatorContainerPane:
       
   273             controlInfo.iControl = new(ELeave) CAknSignalIndicatorContainer;
       
   274             break;
       
   275         case EAknCtBatteryIndicatorContainerPane:
       
   276             controlInfo.iControl = new(ELeave) CAknBatteryIndicatorContainer;
       
   277             break;
       
   278             
       
   279         case EAknCtNote:
       
   280             controlInfo.iControl = new(ELeave) CAknNoteControl;
       
   281             break;
       
   282         case EAknCtQuery:
       
   283             controlInfo.iControl = new(ELeave) CAknQueryControl;
       
   284             break;
       
   285 
       
   286         case EAknExtCtQuery:
       
   287             controlInfo.iControl = new(ELeave) CAknExtQueryControl;
       
   288             break;
       
   289 
       
   290         case EAknCtPopupField:
       
   291             controlInfo.iControl = new(ELeave) CAknPopupField;
       
   292             break;
       
   293         case EAknCtPopupFieldText:
       
   294             controlInfo.iControl = new(ELeave) CAknPopupFieldText;
       
   295             break;
       
   296         case EAknCtSearchField:
       
   297             break;
       
   298 
       
   299         case EAknCtVolumeControl:
       
   300             controlInfo.iControl = new(ELeave) CAknVolumeControl;
       
   301             break;
       
   302         case EAknCtSlider:
       
   303             controlInfo.iControl = new(ELeave) CAknSlider;
       
   304             break;
       
   305         case EAknCtSpecialCharacterMap:
       
   306                 controlInfo.iControl = new(ELeave) CAknCharMap;
       
   307             break;
       
   308         case EAknCtListQueryControl:
       
   309             controlInfo.iControl = new(ELeave) CAknListQueryControl;
       
   310             break;
       
   311         case EAknCtListQuerySearchControl:
       
   312             controlInfo.iControl = new(ELeave) CAknListQuerySearchControl;
       
   313             break;
       
   314         case EAknCtPopupHeadingPane:
       
   315             controlInfo.iControl = new(ELeave) CAknPopupHeadingPane;
       
   316             break;
       
   317         case EAknPhoneNumberEditor:
       
   318             controlInfo.iControl = new(ELeave) CAknPhoneNumberEditor;
       
   319             break;
       
   320         case EAknCtNumericSecretEditor:
       
   321             controlInfo.iControl = new(ELeave) CAknNumericSecretEditor;
       
   322             break;
       
   323         case EAknCtPopupSettingList:
       
   324             controlInfo.iControl = new(ELeave) CAknPopupSettingList;
       
   325             break;
       
   326         case EAknCtIntegerEdwin:
       
   327             controlInfo.iControl = new(ELeave) CAknIntegerEdwin;
       
   328             break;
       
   329         case EAknCtMessageQuery:
       
   330             controlInfo.iControl = new(ELeave) CAknMessageQueryControl;
       
   331             break;
       
   332         case EAknCtMultilineQuery:
       
   333             controlInfo.iControl = new(ELeave) CAknMultilineQueryControl;
       
   334             break;
       
   335         case EAknExtCtMultilineQuery:
       
   336             controlInfo.iControl = new(ELeave) CAknExtMultilineQueryControl;
       
   337             break;
       
   338         case EAknCtBitmapAnimation:
       
   339             controlInfo.iControl = CAknBitmapAnimation::NewL();
       
   340             break;
       
   341         case EAknCtButton:
       
   342             controlInfo.iControl = CAknButton::NewL();
       
   343             break;
       
   344     
       
   345         default:
       
   346             break;
       
   347         }
       
   348 
       
   349     return controlInfo;
       
   350     }
       
   351 
       
   352 
       
   353 
       
   354