diff -r 8173571d354e -r 1fc85118c3ae landmarksui/uicontrols/src/CLmkEditorCoordinateField.cpp --- a/landmarksui/uicontrols/src/CLmkEditorCoordinateField.cpp Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,245 +0,0 @@ -/* -* 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 editor number field. -* -*/ - - - - - - - -// INCLUDE FILES -#include "CLmkEditorCoordinateField.h" -#include "MLmkEditorUiBuilder.h" -#include "LmkConsts.h" -#include "landmarks.hrh" -#include -#include -#include -#include -#include -#include - -// CONSTANTS -/// Unnamed namespace for local definitions -namespace { -const TReal KDefaultHorizontalAccuracy = 0.1; -} // namespace - -// ================= MEMBER FUNCTIONS ======================= - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::CLmkEditorCoordinateField -// ---------------------------------------------------- -// -CLmkEditorCoordinateField::CLmkEditorCoordinateField - ( MLmkFieldData& aField, - MLmkEditorUiBuilder& aUiBuilder ) : - CLmkEditorFieldBase( aField, aUiBuilder ) - { - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::ConstructL -// ---------------------------------------------------- -// -void CLmkEditorCoordinateField::ConstructL() - { - // Create and insert a line in the dialog - //using AVKON's coordinate editor - CreateAvkonCoordinateEditorL(); - iCaptionedCtrl = iUiBuilder.LineControl( ControlId() ); - iCaptionedCtrl->SetTakesEnterKey( ETrue ); - TPosition position; - iControl->Get(position); - if (iIsLatitude) - { - iCurrentValue = position.Latitude(); - } - else - { - iCurrentValue = position.Longitude(); - } - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::NewL -// ---------------------------------------------------- -// -CLmkEditorCoordinateField* CLmkEditorCoordinateField::NewL - ( MLmkFieldData& aField, - MLmkEditorUiBuilder& aUiBuilder ) - { - CLmkEditorCoordinateField* self = - new(ELeave) CLmkEditorCoordinateField( aField, aUiBuilder ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::~CLmkEditorCoordinateField -// ---------------------------------------------------- -// -CLmkEditorCoordinateField::~CLmkEditorCoordinateField() - { - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::SaveFieldL -// ---------------------------------------------------- -// -TBool CLmkEditorCoordinateField::SaveFieldL() - { - TPosition position; - iControl->Get(position); - TReal field = LandmarkItemField().DoubleData(); - TReal controlData; - if (iIsLatitude) - { - controlData = position.Latitude(); - } - else - { - controlData = position.Longitude(); - } - - if( iCurrentValue != controlData) - { - LandmarkItemField().SetTReal(controlData); - } - return ETrue; - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::ActivateL -// ---------------------------------------------------- -// -void CLmkEditorCoordinateField::ActivateL() - { - iCaptionedCtrl->ActivateL(); - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::UpdateL -// ---------------------------------------------------- -// -void CLmkEditorCoordinateField::UpdateL() - { - TReal fieldData = LandmarkItemField().DoubleData(); - TPosition position = ConstructPosition(fieldData); - iControl->Set(position); - iControl->DrawDeferred(); - } - -// ---------------------------------------------------- -// CLmkEditorCoordinateField::CreateAvkonCoordinateEditorL -// ---------------------------------------------------- -// -void CLmkEditorCoordinateField::CreateAvkonCoordinateEditorL() - { - //using AVKON's coordinate editor - iControl = static_cast( iUiBuilder.CreateLineL( - FieldLabel(), LandmarkItemField().UniqueFieldIdentity(), - EAknCtLocationEditor)); - ConstructEditorFromResourceL(); - - } -// ---------------------------------------------------- -// CLmkEditorCoordinateField::ConstructEditorFromResourceL -// ---------------------------------------------------- -// -void CLmkEditorCoordinateField::ConstructEditorFromResourceL() - { - - TRealX fieldData; - fieldData.SetNaN(); - TInt resId = R_LMK_LONG_EDITOR; - fieldData = LandmarkItemField().DoubleData(); - if (LandmarkItemField().FieldType() == ELatitude ) - { - resId = R_LMK_LAT_EDITOR; - iIsLatitude = ETrue; - } - TPosition position = ConstructPosition(fieldData); - TResourceReader reader; - iEnv->CreateResourceReaderLC(reader, resId); - iControl->ConstructFromResourceL(reader); - iControl->Set(position); - CleanupStack::PopAndDestroy(); // reader - } -// ---------------------------------------------------- -// CLmkEditorCoordinateField::ConstructPosition -// ---------------------------------------------------- -// -TPosition CLmkEditorCoordinateField::ConstructPosition(const TReal& aValue) - { - TRealX latData; - latData.SetNaN(); - TRealX longData; - longData.SetNaN(); - TTime time; - time.HomeTime(); - if (iIsLatitude) - { - latData = aValue; - } - else - { - longData = aValue; - } - TCoordinate coord(latData, longData); - TLocality loc(coord, KDefaultHorizontalAccuracy); - TPosition position(loc, time); - return position; - } - -// ----------------------------------------------------------------------------- -//CLmkEditorFieldBase::FieldValue() -// ----------------------------------------------------------------------------- -// -TReal CLmkEditorCoordinateField::FieldValue() const - { - TReal64 number = 0; - if (iControl) - { - TPosition pos; - iControl->Get(pos); - if (iIsLatitude) - { - number = pos.Latitude(); - } - else - { - number = pos.Longitude(); - } - } - return number; - } - -// ----------------------------------------------------------------------------- -//CLmkEditorFieldBase::ResetL() -// ----------------------------------------------------------------------------- -// -void CLmkEditorCoordinateField::ResetL() - { - TRealX latData; - latData.SetNaN(); - TPosition position = ConstructPosition(latData); - iControl->Set(position); - } -// End of File