diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrtimefield.h --- a/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrtimefield.h Mon Mar 15 12:39:10 2010 +0200 +++ b/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrtimefield.h Wed Mar 31 21:08:33 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2009 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" @@ -19,20 +19,20 @@ #ifndef CESMRTIMEFIELD_H #define CESMRTIMEFIELD_H -#include "cesmriconfield.h" +// INCLUDES +#include "cesmrfield.h" //Forward declarations -class CEikLabel; -class CTimeContainer; +class CMRImage; +class CMRTimeContainer; class MESMRFieldValidator; -class CEikTimeEditor; /** * Time field for ESMR editor. Time field has start and end time * separated by a '-'. Focus traverses from left to right and right * to left. */ -NONSHARABLE_CLASS( CESMRTimeField ): public CESMRIconField +NONSHARABLE_CLASS( CESMRTimeField ): public CESMRField { public: /** @@ -51,12 +51,16 @@ public: // From CCoeControl void SetContainerWindowL( const CCoeControl& aControl ); TKeyResponse OfferKeyEventL(const TKeyEvent& aEvent, TEventCode aType); + TInt CountComponentControls() const; + CCoeControl* ComponentControl( TInt aIndex ) const; + void SizeChanged(); public: // From ESMRField - void InitializeL(); TBool OkToLoseFocusL( TESMREntryFieldId aNext ); void SetOutlineFocusL( TBool aFocus ); - + void SetValidatorL( MESMRFieldValidator* aValidator ); + TBool ExecuteGenericCommandL( TInt aCommand ); + private: /** * Constructor. @@ -72,147 +76,13 @@ private: /** - * Own. Container for the time fields. - */ - CTimeContainer* iContainer; - }; - - -//Forward declarations -class MAknsControlContext; -class CAknsFrameBackgroundControlContext; - -/** - * Container control for the time fields and the separator. - */ -NONSHARABLE_CLASS( CTimeContainer ): public CCoeControl - { - -public: - /** - * Creates new CTimeContainer object. Ownership - * is transferred to caller. - * @param aValidator validator object - * @param aParent parent control - * @param aFieldId CESMRField id of the control/container - * @return Pointer to created object, - */ - static CTimeContainer* NewL( - MESMRFieldValidator* aValidator, - CCoeControl* aParent, - TESMREntryFieldId aFieldId ); - - /** - * Destructor. - */ - ~CTimeContainer(); - -public: // From CCoeControl - void SetContainerWindowL( const CCoeControl& aControl ); - TInt CountComponentControls() const; - CCoeControl* ComponentControl( TInt aInd ) const; - void SizeChanged(); - TKeyResponse OfferKeyEventL(const TKeyEvent& aEvent, TEventCode aType); - void FocusChanged(TDrawNow aDrawNow); - void ActivateL(); - void PositionChanged(); - -public: // interface - /** - * Sets font and font color for editors. - * - * @param aFont new font - * @param aLayout pointer to layoutmanager - */ - void SetFontL( const CFont* aFont, CESMRLayoutManager* aLayout ); - - /** - * Returns currently focused editor. - * - * @return currently focused editor - */ - CEikTimeEditor* FocusedEditor(); - - /** - * Returns ETrue if its ok to change focus. - * - * @param current field id - * @param next field id - * @return ETrue if its ok to change focus + * Ref: Container for the time fields. + * Created by this class but deleted by base class. */ - TBool OkToLoseFocusL( TESMREntryFieldId aFrom, TESMREntryFieldId aTo ); - -private: // Implementation - /** - * Constructor. - * - * @param aValidator validator object - */ - CTimeContainer( MESMRFieldValidator* aValidator, TESMREntryFieldId aFieldId ); - - /** - * Second phase constructor. - * - * @param aParent parent control - */ - void ConstructL( CCoeControl* aParent ); - - /** - * Changes focus to left if its possible. - * - * @param aEvent key event - * @param aType event code - */ - TKeyResponse ChangeFocusLeftL(const TKeyEvent& aEvent, TEventCode aType); - - /** - * Changes focus to right if its possible. - * - * @param aEvent key event - * @param aType event code - */ - TKeyResponse ChangeFocusRightL(const TKeyEvent& aEvent, TEventCode aType); - - void CheckIfValidatingNeededL( - TBool aStartFocusedBefore, - TInt aStartFieldIndex, - TBool aEndFocusedBefore, - TInt aEndFieldIndex ); - - void TriggerStartTimeChangedL(); - void TriggerEndTimeChangedL(); - -private: // data - /** - * Own. Start time editor. - */ - CEikTimeEditor* iStartTime; - - /** - * Own. End time editor. - */ - CEikTimeEditor* iEndTime; - - /** - * Own. Separator label between start and end fields. - */ - CEikLabel* iSeparator; - - /** - * Not owned. Validator class for time and sanity checks. - */ + CMRTimeContainer* iContainer; - MESMRFieldValidator* iValidator; - // Own: Field Id - TESMREntryFieldId iFieldId; - // Background control context - MAknsControlContext* iBackground; - // Actual background for the start time editor - CAknsFrameBackgroundControlContext* iStartTimeBgContext; - // Actual background for the end time editor - CAknsFrameBackgroundControlContext* iEndTimeBgContext; - // Not owned. Layout manager. - CESMRLayoutManager* iLayout; + /// Own: Field icon + CMRImage* iFieldIcon; }; #endif // CESMRTIMEFIELD_H