diff -r 000000000000 -r f979ecb2b13e notepad/notepad1/inc/NpdViewerDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/notepad/notepad1/inc/NpdViewerDialog.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,353 @@ +/* +* Copyright (c) 2002 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" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declaration of Notepad Viewer Dialog class. +* +*/ + + +#ifndef NPDVIEWERDIALOG_H +#define NPDVIEWERDIALOG_H + +// INCLUDES +#include +#include "NpdDialogBase.h" +#include +#include + +// FORWARD DECLARATIONS +class CNotepadRichTextEditor; +class CEikDialog; +class CSendUi; +class CItemFinder; +class CFindItemMenu; +class CPlainText; + +// CLASS DECLARATION +/** +* Dialog of viewer mode. +* CNotepadViewerDialog is a dialog for Notepad viewer. +* +* @see CNotepadDialogBase +*/ +class CNotepadViewerDialog : public CNotepadDialogBase, + public MCenRepNotifyHandlerCallback + { + public: // Constructor and destructor + + /** + * Constructor. + * + * @param resource id of type STRUCT NOTEPAD_VIEWER_DIALOG + * @param aSelfPtr pointer to pointer of this + * @return Newly constructed CNotepadViewerDialog object. + * @internal + */ + IMPORT_C static CNotepadViewerDialog* NewL( + const TInt aResId, + CEikDialog** aSelfPtr ); + + /** + * Destructor. + */ + IMPORT_C virtual ~CNotepadViewerDialog(); + + public: // New functions + + /** + * Execute a dialog. + * + * @return exit status value of CEikDialog's ExecuteLD. + * @internal + */ + //IMPORT_C TInt ExecuteLD(); + + /** + * Set information of the file to be shown. + * + * @param aFileName text file to view. + * @param aTitle TitlePane string (if NULL, Title will be FileName). + * @param aGuessEncoding guess encoding if ETrue (ignore aEncoding). + * @param aEncoding encoding of the File + * (default ISO-8859-1. This is ignored if aGuessEncoding is ETrue). + * @internal + */ + IMPORT_C void SetFileL( + const TDesC& aFilename, + const TDesC* aTitle = NULL, + TBool aGuessEncoding = EFalse, + TUint aEncoding = KCharacterSetIdentifierIso88591); + + /** + * Set information of the file to be shown. + * + * @param aFile file handle. + * @param aTitle TitlePane string (if NULL, Title will be FileName). + * @param aGuessEncoding guess encoding if ETrue (ignore aEncoding). + * @param aEncoding encoding of the File. + * @internal + */ + IMPORT_C void SetFileL( + RFile& aFile, + const TDesC* aTitle = NULL, + TBool aGuessEncoding = EFalse, + TUint aEncoding = KCharacterSetIdentifierIso88591); + + /** + * Load contents of the file into the viewer. + * + * @internal + */ + IMPORT_C void LoadFileL(); + + /** + * Load contents of the file into the viewer. + * + * @param aFile file handle. + * @internal + */ + IMPORT_C void LoadFileL(RFile& aFile); + + /** + * Set information of the file to be shown and load it. + * + * @param aFileName text file to view. + * @param aTitle TitlePane string (if NULL, Title will be FileName). + * @param aGuessEncoding guess encoding if ETrue (ignore aEncoding). + * @param aEncoding encoding of the File + * @internal + */ + IMPORT_C void OpenFileL( + const TDesC& aFilename, + const TDesC* aTitle = NULL, + TBool aGuessEncoding = EFalse, + TUint aEncoding = KCharacterSetIdentifierIso88591); + + /** + * Set information of the file to be shown and load it. + * + * @param aFile file handle. + * @param aTitle TitlePane string (if NULL, Title will be FileName). + * @param aGuessEncoding guess encoding if ETrue (ignore aEncoding). + * @param aEncoding encoding of the File + * @internal + */ + IMPORT_C void OpenFileL( + RFile& aFile, + const TDesC* aTitle = NULL, + TBool aGuessEncoding = EFalse, + TUint aEncoding = KCharacterSetIdentifierIso88591); + + /** + * Set information of the descriptor to be shown. + * + * @param aFileName text file to view. + */ + void InitDescriptorViewerL( + HBufC** aContentPointer, + TInt& aReturnStatus, + TBool aReadOnly, + const TDesC& aText, + const TDesC& aTitle, + const TDesC& aDelConfirmation + ); + + /** + * Set the state of automatic highlighting + * @param aSwitchON, ETrue if automatic highlighting is to used, otherwise EFalse + */ + void SetAutomaticHighlightL( const TBool aSwitchON ); + + /** + * Reads the shared data value used to initialize automatic highlighting + * @return TBool, ETrue if automatic highlighting is to be used + */ + void ReadAutoHlCenRepValueAndSetNotifyL(); + + protected: // Functions from base classes + + /** + * From CEikDialog. + */ + TBool OkToExitL( TInt aButtonId ) ; + + /** + * From MCenRepNotifyHandlerCallback + * Handles the incoming notifications of key changes + * @param aId, Key that has changed + * @param aNewValue, New value of the key + */ + void HandleNotifyInt( TUint32 aId, TInt aNewValue ); + + /** + * From MCenRepNotifyHandlerCallback + * Handles the notifier errors + * @param aId, Key that has changed + * @param aNewValue, New value of the key + */ + void HandleNotifyError( + TUint32 aId, + TInt aError, + CCenRepNotifyHandler* aHandler ); + + /** + * From CCoeControl + * + * @param aType event type. + */ + void HandleResourceChange(TInt aType); + + /** + * From CCoeControl. + * Called when SizeChanged. + */ + void SizeChanged(); + public: + void HandleDialogPointerEventL( const TPointerEvent& aPointerEvent ); + + private: // New function + + /** + * Show "Attachement saved" note. + */ + void ShowConfirmationNoteL(); + /** + * Handle Phone number calls + */ + void HandleNumberCallL(); + + private: // Functions from base classes + + void ConstructL(TResourceReader& rr); + + /** + * From CEikDialog. + */ + void PostLayoutDynInitL(); + + /** + * From CCoeControl. + */ + void ActivateL(); + + /** + * From CCoeControl + * + * @param aKeyEvent key event which includes ScanCode etc. + * @param aType event type ( up, in, down...). + */ + TKeyResponse OfferKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType); + + /** + * From CCoeControl. + * + * @param aContext TCoeHelpContext. + */ + void GetHelpContext(TCoeHelpContext& aContext) const; + + /** + * From MEikCommandObserver + * + * @param aCommandId command. + */ + void ProcessCommandL(TInt aCommandId); + + /** + * From MEikMenuObserver. + * + * @param aResourceId resource id. + * @param menu pane object. + */ + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + + /** + * From MEikMenuObserver. + * + * @param aResourceId resource id. + * @param menu bar object. + */ + void DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar); + + private: // Reserved + + /** + * Reserved API entry. + * + * @internal + */ + IMPORT_C void CNotepadViewerDialog_Reserved(); + + private: + + /** + * Callback function for CPeriodic + * + * @param TAny* args. + */ + static TInt TimerCallbackL(TAny* aPtr); + + /** + * Called in callback function to exit the dialog + */ + void ExitDialogOnTimerExpireL(); + + private: // Data + + enum TNotepadViewerFlags + { + ENotepadMenuByOkKey = 0x02 + }; + CNotepadRichTextEditor* iEditor; // not own (dialog own) + HBufC* iFilename; // own + RFile * iFile; + HBufC** iContentPointer; // not owned + TBool iFileExist; + TPtrC iContent; + TPtrC iTitle; + TPtrC iDelConfirmation; + TInt* iReturnValue; + TUint iEncoding; + TInt iStatus; + TBool iGuessEncoding; + + // Used to flag whether viewer is handling file or descriptor passed + // from calling application. This changes option menu items somewhat. + TBool iDescriptorViewer; + + // Used in conjunction with iDescriptorViewer flag to determine + // whether "Edit" option menu item should be visible. + TBool iEditable; + + CSendUi* iSendUi; // own + TUint16 iFlags; + + CItemFinder* iAutoFinder; // own + CFindItemMenu* iFindMenu; // own + TBool iTaskSwapperFlag; + + // flag for forward locked content + TBool iForwardLocked; + TBool iAutomaticHlValue; + TBool iAutomaticHlInitialized; + // Central Repository session + CRepository* iCenRepSession; + // Notifier to listen changes of offline state + CCenRepNotifyHandler* iNotifier; + CPeriodic* iPeriodicTimer; + }; + +#endif // NPDVIEWERDIALOG_H + +// End of File