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 __FontsShell_H
00032 #define __FontsShell_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 "FontsGraphicsControl.h"
00042
00043
00044
00045 const TUid KUidExampleShellApp={ 0xE8000051 };
00046
00047
00048
00049
00050
00051 class TExampleShellModel
00052 {
00053 public:
00054 TExampleShellModel();
00055 TBool Differs(const TExampleShellModel* aCompare) const;
00056 public:
00057 TFileName iLibrary;
00058 };
00059
00060
00061
00062
00063
00064 class CExampleShellContainer : public CCoeControl,
00065 public MCoeControlBrushContext,
00066 public MGraphicsExampleObserver
00067 {
00068 public:
00069 void ConstructL(const TRect& aRect, TExampleShellModel* aModel);
00070 ~CExampleShellContainer();
00071
00072 void ResetExampleL(CGraphicExampleControl* aExample);
00073 private:
00074 void Draw(const TRect& ) const;
00075 TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
00076 TInt CountComponentControls() const;
00077 CCoeControl* ComponentControl(TInt aIndex) const;
00078 private:
00079 void NotifyGraphicExampleFinished();
00080 public:
00081 void NotifyStatus(const TDesC& aMessage);
00082 private:
00083 void CreateLabelL();
00084 private:
00085 CGraphicExampleControl* iExampleControl;
00086 CEikLabel* iLabel;
00087
00088 TExampleShellModel* iModel;
00089 };
00090
00091
00092
00093
00094
00095 class CExampleShellDocument : public CEikDocument
00096 {
00097 public:
00098 CExampleShellDocument(CEikApplication& aApp): CEikDocument(aApp) { }
00099 TExampleShellModel* Model() { return(&iModel); }
00100 private:
00101 CEikAppUi* CreateAppUiL();
00102 private:
00103 TExampleShellModel iModel;
00104 };
00105
00106
00107
00108
00109
00110 class CExampleShellAppUi : public CEikAppUi
00111 {
00112 public:
00113 void ConstructL();
00114 ~CExampleShellAppUi();
00115 private:
00116 void HandleCommandL(TInt aCommand);
00117 private:
00118
00119 private:
00120 CExampleShellContainer* iContainer;
00121 TExampleShellModel* iModel;
00122 };
00123
00124
00125
00126
00127
00128 class CExampleShellApplication : public CEikApplication
00129 {
00130 private:
00131 CApaDocument* CreateDocumentL();
00132 TUid AppDllUid() const;
00133 };
00134
00135 #endif