diff -r a3a1ae9acec6 -r da5135c61bad meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrsubjectfield.h --- a/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrsubjectfield.h Mon Mar 15 12:39:10 2010 +0200 +++ b/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrsubjectfield.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" @@ -21,19 +21,21 @@ #include #include -#include +#include -#include "cesmriconfield.h" +#include "cesmrfield.h" +#include "nmrbitmapmanager.h" class CESMREditor; class MESMRTitlePaneObserver; -class CAknsFrameBackgroundControlContext; +class CMRImage; +class CAknsBasicBackgroundControlContext; /** * This class is a custom field control that shows the subject of calendar events */ NONSHARABLE_CLASS( CESMRSubjectField ) : - public CESMRIconField, + public CESMRField, public MEikEdwinSizeObserver, public MEikEdwinObserver { @@ -55,28 +57,33 @@ * Destructor. */ virtual ~CESMRSubjectField(); - -public: // From CESMRField + +public: // Interface + void SetTitlePaneObserver( MESMRTitlePaneObserver* aObserver ); + +protected: // From CESMRField + TSize MinimumSize(); void InitializeL(); void InternalizeL( MESMRCalEntry& aEntry ); void ExternalizeL( MESMRCalEntry& aEntry ); - void SetOutlineFocusL( TBool aFocus ); - TInt ExpandedHeight() const; - void GetMinimumVisibleVerticalArea(TInt& aUpper, TInt& aLower); + void SetOutlineFocusL( TBool aFocus ); + void GetCursorLineVerticalPos(TInt& aUpper, TInt& aLower); void ListObserverSet(); - void ExecuteGenericCommandL( TInt aCommand ); -public: // From MEikEdwinSizeObserver + TBool ExecuteGenericCommandL( TInt aCommand ); + +protected: // From MEikEdwinSizeObserver TBool HandleEdwinSizeEventL( CEikEdwin* aEdwin, TEdwinSizeEvent aType, TSize aSize ); -public: // From MEikEdwinObserver - void HandleEdwinEventL( CEikEdwin *aEdwin, TEdwinEvent aEventType ); +protected: // From MEikEdwinObserver + void HandleEdwinEventL(CEikEdwin* aEdwin,TEdwinEvent aEventType); -public: // From CCoeControl - void ActivateL(); - void PositionChanged(); - -public: // Interface - void SetTitlePaneObserver( MESMRTitlePaneObserver* aObserver ); +protected: // From CCoeControl + TInt CountComponentControls() const; + CCoeControl* ComponentControl( TInt aInd ) const; + void SizeChanged(); + void SetContainerWindowL( const CCoeControl& aContainer ); + TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent, + TEventCode aType ); private: /** @@ -91,26 +98,30 @@ * @param aTextId default text id * @param aIconID icon id */ - void ConstructL( TESMREntryFieldId aId, TInt aTextId, TAknsItemID aIconID ); - + void ConstructL( + TESMREntryFieldId aId, + TInt aTextId, + NMRBitmapManager::TMRBitmapId aIconID ); + + void SetPriorityIconL( TUint aPriority ); + private: // Not owned. Text editor. CESMREditor* iSubject; - - // Field size. + // Own: Field icon + CMRImage* iFieldIcon; + // Own: Priority icon + CMRImage* iPriorityIcon; + // Own: Edwin size TSize iSize; - - // Default text id. - TInt iTextId; - // Not owned MESMRTitlePaneObserver* iTitlePaneObserver; - - // Background control context - MAknsControlContext* iBackground; - - // Actual background for the editor - CAknsFrameBackgroundControlContext* iFrameBgContext; + // Field editor line count + TInt iLineCount; + // Own: Background for the editor when it is focused + CAknsBasicBackgroundControlContext* iBgControlContext; + // Stores current priority value + TUint iCurrentPriority; }; #endif // CESMRSUBJECTFIELD_H