uifw/AvKon/src/aknlib.cpp
changeset 0 2f259fa3e83a
child 4 8ca85d2f0db7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/src/aknlib.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,354 @@
+/*
+* Copyright (c) 2002 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: 
+*
+*/
+
+#include "AknLib.h"
+#include <e32std.h>
+#include "avkon.hrh"
+#include <aknlists.h>
+#include <aknjavalists.h>
+#include <eikimage.h>
+#include <akntitle.h>
+#include <akncontext.h>
+#include "akncontextidle.h"
+#include <aknnavi.h>
+#include <AknSignal.h>
+#include <AknBattery.h>
+#include <AknIndicatorContainer.h>
+#include <aknnotecontrol.h>
+#include <aknQueryControl.h>
+#include <AknQueryDialog.h>
+#include <AknPopupFieldText.h>
+#include <aknsettingpage.h>
+#include <aknpopupsettingpage.h>
+#include <aknslider.h>
+#include <aknCharMap.h>
+#include <eikfrlb.h>
+#include <aknPopupHeadingPane.h>
+#include <AknQueryDialog.h>
+#include <aknQueryControl.h>
+#include <aknmessagequerycontrol.h>
+#include <aknmultilinequerycontrol.h>
+#include <aknlistquerycontrol.h>
+#include <AknPhoneNumberEditor.h>
+#include <AknNumEdwin.h>
+#include <AknAppGrid.h>
+#include "aknlistquerysearchcontrol.h"
+#include "aknstatuspanedigitalclock.h"
+#include "aknemptycontrol.h"
+#include "aknuniversalindicatorcontainer.h"
+#include "aknsignalindicatorcontainer.h"
+#include "aknbatteryindicatorcontainer.h"
+
+#include <aknbutton.h>
+
+
+_LIT(KResFileName,         "z:\\resource\\avkon.rsc");
+_LIT(KAknPrivResourceFile, "z:\\resource\\aknpriv.rsc");
+
+// Static DLL functions
+GLDEF_C void Panic(TAknPanic aPanic)
+    {
+    _LIT(KPanicCat,"AVKON");
+    User::Panic(KPanicCat,aPanic);
+    }
+
+
+//
+// CAknLibrary
+//
+CAknLibrary::CAknLibrary()
+    {
+    }
+
+EXPORT_C TFileName CAknLibrary::ResourceFile()
+    {
+    return KResFileName();
+    }
+
+EXPORT_C TFileName CAknLibrary::PrivateResourceFile()
+    {
+    return KAknPrivResourceFile();
+    }
+
+EXPORT_C TCreateByTypeFunction  CAknLibrary::ControlFactory()
+    {
+    return CreateByTypeL;
+    }
+
+
+SEikControlInfo CAknLibrary::CreateByTypeL(TInt aControlType)
+    {
+    SEikControlInfo controlInfo;
+    controlInfo.iControl = NULL;
+    controlInfo.iTrailerTextId = 0;
+    controlInfo.iFlags = 0;
+
+    switch (aControlType)
+        {
+    case EAknCtTest:
+        controlInfo.iControl = new(ELeave) CEikImage;
+        break;
+
+        // generic listboxes
+    case EAknCtFormattedListBox:
+        controlInfo.iControl = new(ELeave) CEikFormattedCellListBox;
+        break;
+        // SERIES60 listboxes
+
+    case EAknCtSingleListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleStyleListBox;
+        break;
+    case EAknCtSingleNumberListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleNumberStyleListBox;
+        break;
+    case EAknCtSingleHeadingListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleHeadingStyleListBox;
+        break;
+    case EAknCtSingleGraphicListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleGraphicStyleListBox;
+        break;
+    case EAknCtSingleGraphicHeadingListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingStyleListBox;
+        break;
+    case EAknCtSingleNumberHeadingListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleNumberHeadingStyleListBox;
+        break;
+    case EAknCtSingleLargeListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleLargeStyleListBox;
+        break;
+    case EAknCtSingle2GraphicListBox:
+        controlInfo.iControl = new(ELeave) CAknSingle2GraphicStyleListBox;
+        break;
+    case EAknCtDoubleListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleStyleListBox;
+        break;
+    case EAknCtDoubleNumberListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleNumberStyleListBox;
+        break;
+    case EAknCtDoubleTimeListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleTimeStyleListBox;
+        break;
+    case EAknCtDoubleLargeListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleLargeStyleListBox;
+        break;
+    case EAknCtDoubleGraphicListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleGraphicStyleListBox;
+        break;
+    case EAknCtDouble2GraphicListBox:
+        controlInfo.iControl = new(ELeave) CAknDouble2GraphicStyleListBox;
+        break;
+    case EAknCtDouble2LargeListBox:
+        controlInfo.iControl = new(ELeave) CAknDouble2LargeStyleListBox;
+        break;
+    case EAknCtDouble2GraphicLargeListBox:
+        controlInfo.iControl = new(ELeave) CAknDouble2GraphicLargeStyleListBox;
+        break;
+    case EAknCtSettingListBox:
+        controlInfo.iControl = new(ELeave) CAknSettingStyleListBox;
+        break;
+    case EAknCtSettingNumberListBox:
+        controlInfo.iControl = new(ELeave) CAknSettingNumberStyleListBox;
+        break;
+    case EAknCtSingleHeadingPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleHeadingPopupMenuStyleListBox;
+        break;
+
+    case EAknCtSinglePopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSinglePopupMenuStyleListBox;
+        break;
+    case EAknCtSingleGraphicPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleGraphicPopupMenuStyleListBox;
+        break;
+    case EAknCtSingleGraphicHeadingPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingPopupMenuStyleListBox;
+        break;
+    case EAknCtMenuDoublePopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknDoublePopupMenuStyleListBox;
+        break;
+    case EAknCtSinglePopupSubmenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSinglePopupSubmenuStyleListBox;
+        break;
+    case EAknCtDoubleLargeGraphicPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleLargeGraphicPopupMenuStyleListBox;
+        break;
+    case EAknCtDouble2PopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknDouble2PopupMenuStyleListBox;
+        break;
+    case EAknCtSingle2GraphicPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknSingle2GraphicPopupMenuStyleListBox;
+        break;
+    case EAknCtDoubleGraphicPopupMenuListBox:
+        controlInfo.iControl = new(ELeave) CAknDoubleGraphicPopupMenuStyleListBox;
+        break;
+
+    case EAknSetListBox:
+        controlInfo.iControl = new(ELeave) CAknSetStyleListBox;
+        break;
+    case EAknFormGraphicListBox:
+        controlInfo.iControl = new(ELeave) CAknFormGraphicStyleListBox;
+        break;
+
+/*
+        // SERIES60 popup listboxes
+    case EAknCtPopupSingle1ListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupSingle1StyleListBox;
+        break;
+    case EAknCtPopupSingle2ListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupSingle2StyleListBox;
+        break;
+
+    case EAknCtPopupSingleGraphic2ListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic2StyleListBox;
+        break;
+    case EAknCtPopupSingleGraphic3ListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic3StyleListBox;
+        break;
+    case EAknCtPopupSingleGraphicHeading2ListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupSingleGraphicHeading2StyleListBox;
+        break;
+    case EAknCtPopupDoubleListBox:
+        controlInfo.iControl = new(ELeave) CAknPopupDoubleStyleListBox;
+        break;
+*/
+
+    case EAknCtAppGrid:
+        controlInfo.iControl = new(ELeave) CAknAppStyleGrid;
+        break;
+    case EAknCtPinbGrid:
+        controlInfo.iControl = new(ELeave) CAknPinbStyleGrid;
+        break;
+    case EAknCtQdialGrid:
+        controlInfo.iControl = new(ELeave) CAknQdialStyleGrid;
+        break;
+    case EAknCtCaleMonthGrid:
+        controlInfo.iControl = new(ELeave) CAknCaleMonthStyleGrid;
+        break;
+
+        // status pane
+        case EAknCtTitlePane:
+            controlInfo.iControl = new(ELeave) CAknTitlePane;
+            break;
+        case EAknCtContextPane:
+            controlInfo.iControl = new(ELeave) CAknContextPane;
+            break;
+        case EAknCtIdleContextPane:
+            controlInfo.iControl = new(ELeave) CAknIdleContextPane;
+            break;
+        case EAknCtNaviPane:
+            controlInfo.iControl = new(ELeave) CAknNavigationControlContainer;
+            break;
+        case EAknCtSignalPane:
+            controlInfo.iControl = new(ELeave) CAknSignalPane;
+            break;
+        case EAknCtBatteryPane:
+            controlInfo.iControl = new(ELeave) CAknBatteryPane;
+            break;
+        case EAknCtIndicatorPane:
+            controlInfo.iControl = new(ELeave) CAknIndicatorContainer;
+            break;
+        case EAknCtUniversalIndicatorPane:
+            controlInfo.iControl = new(ELeave) CAknUniversalIndicatorContainer;
+            break;
+        case EAknCtDigitalClockPane:
+            controlInfo.iControl = new(ELeave) CAknStatuspaneDigitalClock;
+            break;
+        case EAknCtStatuspaneEmpty:
+            controlInfo.iControl = new(ELeave) CAknEmptyControl;
+            break;
+        case EAknCtSignalIndicatorContainerPane:
+            controlInfo.iControl = new(ELeave) CAknSignalIndicatorContainer;
+            break;
+        case EAknCtBatteryIndicatorContainerPane:
+            controlInfo.iControl = new(ELeave) CAknBatteryIndicatorContainer;
+            break;
+            
+        case EAknCtNote:
+            controlInfo.iControl = new(ELeave) CAknNoteControl;
+            break;
+        case EAknCtQuery:
+            controlInfo.iControl = new(ELeave) CAknQueryControl;
+            break;
+
+        case EAknExtCtQuery:
+            controlInfo.iControl = new(ELeave) CAknExtQueryControl;
+            break;
+
+        case EAknCtPopupField:
+            controlInfo.iControl = new(ELeave) CAknPopupField;
+            break;
+        case EAknCtPopupFieldText:
+            controlInfo.iControl = new(ELeave) CAknPopupFieldText;
+            break;
+        case EAknCtSearchField:
+            break;
+
+        case EAknCtVolumeControl:
+            controlInfo.iControl = new(ELeave) CAknVolumeControl;
+            break;
+        case EAknCtSlider:
+            controlInfo.iControl = new(ELeave) CAknSlider;
+            break;
+        case EAknCtSpecialCharacterMap:
+                controlInfo.iControl = new(ELeave) CAknCharMap;
+            break;
+        case EAknCtListQueryControl:
+            controlInfo.iControl = new(ELeave) CAknListQueryControl;
+            break;
+        case EAknCtListQuerySearchControl:
+            controlInfo.iControl = new(ELeave) CAknListQuerySearchControl;
+            break;
+        case EAknCtPopupHeadingPane:
+            controlInfo.iControl = new(ELeave) CAknPopupHeadingPane;
+            break;
+        case EAknPhoneNumberEditor:
+            controlInfo.iControl = new(ELeave) CAknPhoneNumberEditor;
+            break;
+        case EAknCtNumericSecretEditor:
+            controlInfo.iControl = new(ELeave) CAknNumericSecretEditor;
+            break;
+        case EAknCtPopupSettingList:
+            controlInfo.iControl = new(ELeave) CAknPopupSettingList;
+            break;
+        case EAknCtIntegerEdwin:
+            controlInfo.iControl = new(ELeave) CAknIntegerEdwin;
+            break;
+        case EAknCtMessageQuery:
+            controlInfo.iControl = new(ELeave) CAknMessageQueryControl;
+            break;
+        case EAknCtMultilineQuery:
+            controlInfo.iControl = new(ELeave) CAknMultilineQueryControl;
+            break;
+        case EAknExtCtMultilineQuery:
+            controlInfo.iControl = new(ELeave) CAknExtMultilineQueryControl;
+            break;
+        case EAknCtBitmapAnimation:
+            controlInfo.iControl = CAknBitmapAnimation::NewL();
+            break;
+        case EAknCtButton:
+            controlInfo.iControl = CAknButton::NewL();
+            break;
+    
+        default:
+            break;
+        }
+
+    return controlInfo;
+    }
+
+
+
+