--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarksui/uicontrols/src/LmkEditorFieldFactory.cpp Tue Feb 02 00:16:03 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* 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: Methods for Landmark field factory class.
+*
+*/
+
+
+
+
+
+
+
+// INCLUDE FILES
+#include "LmkEditorFieldFactory.h" // this class
+#include "CLmkEditorTextField.h"
+#include "CLmkEditorNumberField.h"
+#include "CLmkEditorListField.h"
+#include "CLmkEditorCoordinateField.h"
+#include "MLmkFieldData.h"
+#include "landmarks.hrh"
+#include <e32std.h>
+#include <lmkerrors.h>
+
+
+/// Unnamed namespace for local definitons
+namespace {
+
+// LOCAL CONSTANTS AND MACROS
+
+// ==================== LOCAL FUNCTIONS ====================
+
+#ifdef _DEBUG
+void Panic(TPanicCode aReason)
+ {
+ _LIT(KPanicText, "LmkEditorFieldFactory");
+ User::Panic(KPanicText, aReason);
+ }
+#endif // _DEBUG
+
+} // namespace
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ----------------------------------------------------
+// LmkEditorFieldFactory::CreateFieldL
+// ----------------------------------------------------
+//
+MLmkEditorField* LmkEditorFieldFactory::CreateFieldL
+ ( MLmkFieldData& aField,
+ MLmkEditorUiBuilder& aUiBuilder )
+ {
+ MLmkEditorField* editorField = NULL;
+ switch( aField.EditorType() )
+ {
+ //case ETextFieldEditor:
+ // Added for rel3.1
+ case ETextGenericFieldEditor:
+ case ETextPhoneNumberFieldEditor:
+ case ETextUriFieldEditor :
+ {
+ editorField = CLmkEditorTextField::NewL( aField, aUiBuilder );
+ break;
+ }
+ case ENumberFieldEditor:
+ {
+ editorField = CLmkEditorNumberField::NewL( aField, aUiBuilder );
+ break;
+ }
+ case EListFieldEditor:
+ {
+ editorField = CLmkEditorListField::NewL( aField, aUiBuilder );
+ break;
+ }
+ case ECoordinateFieldEditor:
+ {
+ editorField = CLmkEditorCoordinateField::NewL( aField,
+ aUiBuilder );
+ break;
+ }
+ default:
+ {
+ __ASSERT_DEBUG( EFalse, Panic(
+ KLmkPanicUnknownControlType ) );
+ break;
+ }
+ }
+
+ return editorField;
+ }
+
+
+MLmkEditorField* LmkEditorFieldFactory::CreateFieldL
+ ( MLmkFieldData& aField,
+ MLmkEditorUiBuilder& aUiBuilder,const TDesC& aCategoryName )
+ {
+
+ MLmkEditorField* editorField = NULL;
+ switch( aField.EditorType() )
+ {
+ //case ETextFieldEditor:
+ //case ETextFieldEditor:
+ // Added for rel3.1
+ case ETextGenericFieldEditor:
+ case ETextPhoneNumberFieldEditor:
+ case ETextUriFieldEditor :
+ {
+ editorField = CLmkEditorTextField::NewL( aField, aUiBuilder );
+ break;
+ }
+ case ENumberFieldEditor:
+ {
+ editorField = CLmkEditorNumberField::NewL( aField, aUiBuilder );
+ break;
+ }
+ case EListFieldEditor:
+ {
+ editorField = CLmkEditorListField::NewL( aField, aUiBuilder,aCategoryName );
+ break;
+ }
+ case ECoordinateFieldEditor:
+ {
+ editorField = CLmkEditorCoordinateField::NewL( aField,
+ aUiBuilder );
+ break;
+ }
+ default:
+ {
+ __ASSERT_DEBUG( EFalse, Panic(
+ KLmkPanicUnknownControlType ) );
+ break;
+ }
+ }
+
+ return editorField;
+ }
+
+
+
+
+// End of File