00001 /* 00002 * ============================================================================ 00003 * Name : MMsgBioControl.h 00004 * Part of : MsgEditorUtils 00005 * 00006 * Description: 00007 * Interface for Bio controls. 00008 * Version: 00009 * 00010 * Copyright (C) 2002 Nokia Corporation. 00011 * This material, including documentation and any related 00012 * computer programs, is protected by copyright controlled by 00013 * Nokia Corporation. All rights are reserved. Copying, 00014 * including reproducing, storing, adapting or translating, any 00015 * or all of this material requires the prior written consent of 00016 * Nokia Corporation. This material also contains confidential 00017 * information which may not be disclosed to others without the 00018 * prior written consent of Nokia Corporation. 00019 * 00020 * ============================================================================ 00021 */ 00022 00023 #ifndef MMSGBIOCONTROL_H 00024 #define MMSGBIOCONTROL_H 00025 00026 // INCLUDES 00027 #include <e32std.h> 00028 #include <e32base.h> 00029 #include <msgeditor.hrh> // for enums 00030 00031 // CONSTANTS 00032 00034 const TInt KErrMsgBioMessageNotValid = -90; 00035 00036 00040 enum TMsgBioControlEventRequest 00041 { 00042 EMsgBioUpdateScrollBars 00043 }; 00044 00049 enum TMsgBioOptionMenu { 00050 EMsgBioReply = 0x00000001, 00051 EMsgBioForward = 0x00000002, 00052 EMsgBioCallBack = 0x00000004, 00053 EMsgBioDelete = 0x00000008, 00054 EMsgBioMessInfo = 0x00000010, 00055 EMsgBioMove = 0x00000020, 00056 EMsgBioCreateCC = 0x00000040, 00057 EMsgBioFindItem = 0x00000080, 00058 EMsgBioAddPinBoard = 0x00000100, 00059 EMsgBioSend = 0x00000200, 00060 EMsgBioAddRecipient = 0x00000400, 00061 EMsgBioSave = 0x00000800, 00062 EMsgBioEditText = 0x00001000, 00063 EMsgBioInsert = 0x00002000, 00064 EMsgBioSendingOpt = 0x00004000, 00065 EMsgBioHelp = 0x00008000, 00066 EMsgBioExit = 0x00010000, 00067 EMsgBioReserved1 = 0x00020000, 00068 EMsgBioReserved2 = 0x00040000, 00069 EMsgBioReserved3 = 0x00080000, 00070 EMsgBioReserved4 = 0x00100000, 00071 EMsgBioReserved5 = 0x00200000, 00072 EMsgBioReserved6 = 0x00400000, 00073 EMsgBioReserved7 = 0x00800000, 00074 EMsgBioReserved8 = 0x01000000 00075 }; 00076 00078 enum TMsgBioMode { 00079 EMsgBioEditorMode, 00080 EMsgBioViewerMode 00081 }; 00082 00083 // MACROS 00084 // DATA TYPES 00085 // FUNCTION PROTOTYPES 00086 00087 // FORWARD DECLARATIONS 00088 class CEikMenuPane; 00089 00090 // CLASS DECLARATION 00091 00095 class MMsgBioBodyControl 00096 { 00097 public: 00098 virtual TBool HandleBaseControlEventRequestL( 00099 TMsgBioControlEventRequest aRequest, 00100 TInt aDelta = 0) = 0; 00101 }; 00102 00106 class MMsgBioControl 00107 { 00108 public: 00109 00120 virtual void SetAndGetSizeL(TSize& aSize) = 0; 00121 00129 virtual void SetMenuCommandSetL(CEikMenuPane& aMenuPane) = 0; 00130 00137 virtual TBool HandleBioCommandL(TInt aCommand) = 0; 00138 00146 virtual TRect CurrentLineRect() const = 0; 00147 00153 virtual TBool IsFocusChangePossible( 00154 TMsgFocusDirection aDirection) const = 0; 00155 00160 virtual HBufC* HeaderTextL(void) const = 0; 00161 00169 virtual TUint32 OptionMenuPermissionsL() const = 0; 00170 00176 virtual TInt VirtualHeight() = 0; 00177 00183 virtual TInt VirtualVisibleTop() = 0; 00184 00191 virtual TBool IsCursorLocation(TMsgCursorLocation aLocation) const = 0; 00192 00193 }; 00194 00195 // MMSGBIOCONTROL_H 00196 #endif 00197 00198 // end of file