meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrsubjectfield.h
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
child 16 b5fbb9b25d57
--- 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 <e32cmn.h>
 #include <eikedwob.h>
-#include <AknsControlContext.h>
+#include <aknscontrolcontext.h>
 
-#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