EmailExampleViews.h
上传用户:sempras
上传日期:2007-03-04
资源大小:821k
文件大小:3k
源码类别:

Symbian

开发平台:

C/C++

  1. #ifndef __EMAILEXAMPLEVIEWS_H__
  2. #define __EMAILEXAMPLEVIEWS_H__
  3. #include <coecntrl.h>
  4. #include <bamdesca.h>
  5. #include <eiklbo.h>
  6. class CEikTextListBox;
  7. class CEikColumnListBox;
  8. class CEmailExampleEngine;
  9. class CEmailMainWindow;
  10. class CCknAppTitle;
  11. /*
  12. * ============================================================================
  13. *  Name     : CEmailView from CEmailExampleViews.h
  14. *  Part of  : EmailExample
  15. *  Created  : 09/11/2003 by Forum Nokia
  16. *  Implementation notes:
  17. * abstract email view implemented as a simple list box view with a title
  18. *
  19. *  Version  : 1.0
  20. *  Copyright: Nokia Corporation
  21. * ============================================================================
  22. */
  23. class CEmailView : public CCoeControl, public MDesCArray, public MEikListBoxObserver
  24. {
  25. public:
  26. virtual void MailCountChange();
  27. virtual void HandleCommandL(TInt aCommand)=0;
  28. protected:
  29. // protected creational
  30. CEmailView(CEmailMainWindow& aParent);
  31. virtual ~CEmailView();
  32. void ConstructL(TInt aTitleRes);
  33. // interface for child classes to implement
  34. virtual void OpenEmailL()=0;
  35. // private functions
  36. private:
  37. // from CCoeControl
  38. void SizeChanged();
  39. CCoeControl* ComponentControl(TInt aIndex) const;
  40. TInt CountComponentControls() const;
  41. void Draw(const TRect& aRect) const;
  42. TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
  43. // protected data
  44. protected:
  45. CEmailMainWindow& iParent;
  46. CEikColumnListBox* iListBox;
  47. // private data
  48. private:
  49. CCknAppTitle* iTitle;
  50. };
  51. /*
  52. * ============================================================================
  53. *  Name     : CRemoteView from CEmailExampleViews.h
  54. *  Part of  : EmailExample
  55. *  Created  : 09/11/2003 by Forum Nokia
  56. *  Implementation notes:
  57. * implements the email view to display the remote mail
  58. *
  59. *  Version  : 1.0
  60. *  Copyright: Nokia Corporation
  61. * ============================================================================
  62. */
  63. class CRemoteView : public CEmailView
  64. {
  65. public:
  66. // creational
  67. static CRemoteView* NewL(CEmailMainWindow& aParent);
  68. virtual ~CRemoteView();
  69. // interface
  70. void HandleCommandL(TInt aCommand);
  71. // private functions
  72. private:
  73. CRemoteView(CEmailMainWindow& aParent);
  74. // from CEmailView
  75. void OpenEmailL();
  76. // from MEikListBoxObserver
  77. void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
  78. // from MDesCArray
  79.     TInt MdcaCount() const;
  80.     TPtrC MdcaPoint(TInt aIndex) const;
  81. void DoGetFormatedText(TInt aIndex) const;
  82. private:
  83. mutable TBuf<255> iText;
  84. };
  85. #endif //__EMAILEXAMPLEVIEWS_H__