meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.h
branchRCL_3
changeset 12 4ce476e64c59
parent 1 12c456ceeff2
child 16 b5fbb9b25d57
--- a/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.h	Mon Mar 15 12:39:10 2010 +0200
+++ b/meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrviewerdescriptionfield.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,17 +21,19 @@
 #include <e32cmn.h>
 #include <eikedwob.h>
 #include "cesmrfield.h"
+#include "cesmrrichtextviewer.h"
 
-class CESMRRichTextViewer;
 class CESMRLocationPlugin;
 class CESMRFeatureSettings;
+class CESMRUrlParserPlugin;
 
 /**
  * Description field is a custom control
  * that shows the description of a calendar event.
  */
 NONSHARABLE_CLASS( CESMRViewerDescriptionField ): public CESMRField,
-    public MEikEdwinSizeObserver
+                                                  public MEikEdwinSizeObserver,
+                                                  public MESMRRichTextObserver
     {
 
 public:
@@ -48,10 +50,11 @@
 public: // From CESMRField
     void InternalizeL( MESMRCalEntry& aEntry );
     void InitializeL();
-    void GetMinimumVisibleVerticalArea( TInt& aUpper, TInt& aLower );
+    void GetCursorLineVerticalPos( TInt& aUpper, TInt& aLower );
     void ListObserverSet();
-    void ExecuteGenericCommandL( TInt aCommand );
+    TBool ExecuteGenericCommandL( TInt aCommand );
     void SetOutlineFocusL( TBool aFocus );
+    void HandleLongtapEventL( const TPoint& aPosition );
 
 public: // From CCoeControl
     TKeyResponse OfferKeyEventL(const TKeyEvent& aEvent, TEventCode aType );
@@ -65,7 +68,10 @@
     // From MEikEdwinSizeObserver
     TBool HandleEdwinSizeEventL( CEikEdwin* aEdwin, TEdwinSizeEvent aType,
             TSize aSize );
-    
+
+protected:
+    TBool HandleRichTextLinkSelection( const CESMRRichTextLink* aLink );
+
 private: // Implementation
     CESMRViewerDescriptionField();
     void ConstructL();
@@ -73,37 +79,41 @@
     void SetShowOnMapLinkMiddleSoftKeyL();
     CESMRFeatureSettings& FeaturesL();
     CESMRLocationPlugin& LocationPluginL();
+    void ShowLocationOnMapL( const CESMRRichTextLink& aLink );
+    void StoreGeoValueL( CCalEntry& aCalEntry,
+                         const TDesC& aLocationUrl );
+    CESMRUrlParserPlugin& UrlParserL();
 
 private:
-    
+
     /**
      * Field size.
      */
     TSize iSize;
-    
+
     /**
      * Rich text viewer.
      * Own.
      */
     CESMRRichTextViewer* iRichTextViewer;
-    
+
     /**
      * Location plugin.
      * Own.
      */
     CESMRLocationPlugin* iLocationPlugin;
-    
+
     /**
      * Feature settings.
      * Own.
      */
     CESMRFeatureSettings* iFeatures;
-    
+
     /**
-     * Location title.
+     * Location URL parser.
      * Own.
      */
-    HBufC* iLocation;
+    CESMRUrlParserPlugin* iUrlParser;
     };
 
 #endif /* CESMRVIEWERDESCRIPTIONFIELD_H */