--- 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 */