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
00032 #ifndef __DIRECT_H
00033 #define __DIRECT_H
00034
00035 #include <coecntrl.h>
00036 #include <coeccntx.h>
00037 #include <coemain.h>
00038
00039 #include <eikappui.h>
00040 #include <eikapp.h>
00041 #include <eikdoc.h>
00042 #include <uikon.hrh>
00043
00044 #include <direct.rsg>
00045 #include "Direct.hrh"
00046
00047 const TUid KUidExample = { 0xE8000054 };
00048
00049 class CDirectDisplayLife;
00050 class CLifeEngine;
00051
00052
00053 class CExampleAppView : public CCoeControl
00054 {
00055 public:
00056
00057 enum {
00058 EDirectNotStarted=0,
00059 EDirectStarted,
00060 EDirectPaused
00061 };
00062
00063 public:
00064
00065 CExampleAppView(CLifeEngine& aLifeEngine);
00066 ~CExampleAppView();
00067 void ConstructL(const TRect& aRect);
00068
00069
00070 void StartDirectL();
00071
00072 void PauseDirect();
00073
00074 void RestartDirect();
00075
00076
00077 TInt State() const;
00078
00079 private:
00080
00081 void Draw(const TRect&) const;
00082
00083 private:
00084
00085 CDirectDisplayLife* iDirectDisplayLife;
00086
00087 CLifeEngine& iLifeEngine;
00088
00089 TInt iState;
00090 };
00091
00092
00093 class CExampleAppUi : public CEikAppUi
00094 {
00095 public:
00096
00097 void ConstructL();
00098 ~CExampleAppUi();
00099
00100 private:
00101
00102 void HandleCommandL(TInt aCommand);
00103
00104 private:
00105 class COverlayDialog: public CActive
00106 {
00107 public:
00108 COverlayDialog();
00109 ~COverlayDialog();
00110 void ShowDialog();
00111
00112 private:
00113 void RunL();
00114 void DoCancel();
00115
00116 private:
00117 RNotifier iNotifier;
00118 TInt iR;
00119 };
00120
00121 private:
00122
00123 CExampleAppView* iAppView;
00124 COverlayDialog* iOverlayDialog;
00125 };
00126
00127
00128 class CExampleDocument : public CEikDocument
00129 {
00130 public:
00131
00132 CExampleDocument(CEikApplication& aApp);
00133 ~CExampleDocument();
00134
00135
00136 CLifeEngine& LifeEngine() const;
00137
00138 private:
00139
00140 CEikAppUi* CreateAppUiL();
00141
00142 private:
00143
00144 CLifeEngine* iLifeEngine;
00145 };
00146
00147
00148 class CExampleApplication : public CEikApplication
00149 {
00150 private:
00151 CApaDocument* CreateDocumentL();
00152 TUid AppDllUid() const;
00153 };
00154
00155 #endif