00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef __TXTSHELL_H
00032 #define __TXTSHELL_H
00033
00034 #include <coecntrl.h>
00035 #include <coeccntx.h>
00036
00037 #include <eikappui.h>
00038 #include <eikapp.h>
00039 #include <eikdoc.h>
00040
00041 #include "txtexamp.h"
00042
00043
00044 const TUid KUidExampleShellApp= {0xE8000003} ;
00045
00046
00047
00048
00049
00050 class TExampleShellModel
00051
00052
00053 {
00054 public:
00055 TExampleShellModel();
00056 TBool Differs(const TExampleShellModel* aCompare) const;
00057 public:
00058 TFileName iLibrary;
00059 };
00060
00061
00062
00063
00064
00065 class CExampleShellContainer : public CCoeControl,
00066 public MCoeControlBrushContext,
00067 public MGraphicsExampleObserver
00068 {
00069 public:
00070 void ConstructL(const TRect& aRect, TExampleShellModel* aModel);
00071 ~CExampleShellContainer();
00072
00073 void ResetExampleL(CGraphicExampleControl* aExample);
00074 private:
00075 void Draw(const TRect& ) const;
00076 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
00077 TInt CountComponentControls() const;
00078 CCoeControl* ComponentControl(TInt aIndex) const;
00079 private:
00080 void NotifyGraphicExampleFinished();
00081 public:
00082 void NotifyStatus(const TDesC& aMessage);
00083 private:
00084 void CreateLabelL();
00085 private:
00086 CGraphicExampleControl* iExampleControl;
00087 CEikLabel* iLabel;
00088
00089 TExampleShellModel* iModel;
00090 };
00091
00092
00093
00094
00095
00096 class CExampleShellDocument : public CEikDocument
00097 {
00098 public:
00099 CExampleShellDocument(CEikApplication& aApp): CEikDocument(aApp) { }
00100 TExampleShellModel* Model() { return(&iModel); }
00101 private:
00102 CEikAppUi* CreateAppUiL();
00103 private:
00104 TExampleShellModel iModel;
00105 };
00106
00107
00108
00109
00110
00111 class CExampleShellAppUi : public CEikAppUi
00112 {
00113 public:
00114 void ConstructL();
00115 ~CExampleShellAppUi();
00116 private:
00117 void HandleCommandL(TInt aCommand);
00118 private:
00119 CExampleShellContainer* iContainer;
00120 TExampleShellModel* iModel;
00121 };
00122
00123
00124
00125
00126
00127 class CExampleShellApplication : public CEikApplication
00128 {
00129 private:
00130 CApaDocument* CreateDocumentL();
00131 TUid AppDllUid() const;
00132 };
00133
00134 #endif