williamr@4: /* williamr@4: * Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: williamr@4: * williamr@4: */ williamr@4: williamr@2: williamr@2: #ifndef __MPARSER_H__ williamr@2: #define __MPARSER_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: class CRichText; williamr@2: class TCharFormat; williamr@2: williamr@2: /** williamr@4: * Implement ParseThisText() in order to parse text williamr@4: * @publishedAll williamr@4: * @released williamr@2: */ williamr@2: class MParser williamr@2: { williamr@2: public: williamr@2: virtual TBool ParseThisText(const CRichText& aTextObj, williamr@2: TBool aAllowBack, williamr@2: TInt aStartScan, williamr@2: TInt aScanLength, williamr@2: TInt& aStartTag, williamr@2: TInt& aTagLength) = 0; williamr@2: williamr@2: virtual const TDesC& CreateDoItText(const CRichText& aTextObj, williamr@2: TInt aStartText, williamr@2: TInt aLength) = 0; williamr@2: williamr@2: virtual void ActivateThisTextL(const CRichText& aTextObj, williamr@2: TInt aStartText, williamr@2: TInt aLength) = 0; williamr@2: williamr@2: IMPORT_C virtual TBool ReformatOnRecognise() const; williamr@2: williamr@2: IMPORT_C virtual TBool ReformatOnRollover() const; williamr@2: williamr@2: IMPORT_C virtual void GetRecogniseFormat(TCharFormat& aFormat); williamr@2: williamr@2: IMPORT_C virtual void GetRolloverFormat(TCharFormat& aFormat); williamr@2: williamr@2: IMPORT_C virtual TBool ConfirmCursorOverTag(const CRichText& aTextObj, williamr@2: TInt aTagStart, williamr@2: TInt aTagLen, williamr@2: TInt aCurPos); williamr@2: williamr@2: IMPORT_C virtual void MParser_Reserved_2(); williamr@2: williamr@2: //++ ADD COMMENT HERE (poss. provide default implement that panics) williamr@2: virtual void Release() = 0; williamr@2: }; williamr@2: williamr@2: #endif