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 #include <avkon.hrh>
00032 #include <aknnotewrappers.h>
00033 #include <stringloader.h>
00034 #include <CoverflowApp.rsg>
00035 #include <f32file.h>
00036 #include <s32file.h>
00037
00038 #include "CoverflowApp.pan"
00039 #include "CoverflowAppUi.h"
00040 #include "CoverflowAppView.h"
00041
00042 #include "eglrendering.h"
00043
00044 _LIT( KHelloFileName, "Hello.txt" );
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 void CCoverflowAppUi::ConstructL()
00055 {
00056
00057 CAknAppUi::BaseConstructL(ENoAppResourceFile);
00058 iAppView = new(ELeave) CCoverflowAppView(*this);
00059 iAppView->ConstructL(ClientRect());
00060 AddToStackL(iAppView);
00061
00062 iAppView->ActivateL();
00063
00064 iDemo = CEGLRendering::NewL(iAppView->Window());
00065
00066 iDemo->Start();
00067
00068 TRect rcTicker(ClientRect());
00069
00070 #ifdef PORTRAIT_MODE
00071 iTicker = CTicker::NewL(TRect(rcTicker.Width() - (KFontHeight + 4), 0, rcTicker.Width(),rcTicker.Height()), KNews);
00072 #else
00073 iTicker = CTicker::NewL(TRect(0,rcTicker.Height() - (KFontHeight + 4), rcTicker.Width(),rcTicker.Height()), KNews);
00074 #endif
00075
00076 iPlayingTicker = EFalse;
00077
00078
00079
00080 TRect rcDialog(ClientRect());
00081
00082 #ifdef PORTRAIT_MODE
00083 rcDialog.Shrink((rcDialog.Width() - 76) / 2, (rcDialog.Height() - 212) / 2);
00084 #else
00085 rcDialog.Shrink((rcDialog.Width() - 212) / 2, (rcDialog.Height() - 76) / 2);
00086 #endif
00087
00088 iDialogBox = CDialogBox::NewL(rcDialog);
00089 iCallWindow = EFalse;
00090
00091 }
00092
00093
00094
00095
00096
00097 CCoverflowAppUi::CCoverflowAppUi()
00098 {
00099
00100 }
00101
00102
00103
00104
00105
00106
00107 CCoverflowAppUi::~CCoverflowAppUi()
00108 {
00109 delete iDemo;
00110 if (iAppView)
00111 {
00112 RemoveFromStack(iAppView);
00113 delete iAppView;
00114 iAppView = NULL;
00115 }
00116 delete iTicker;
00117 delete iDialogBox;
00118 }
00119
00125 TKeyResponse CCoverflowAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode )
00126 {
00127 TKeyResponse response = EKeyWasConsumed;
00128 switch (aKeyEvent.iCode)
00129 {
00130 case EKeyEscape:
00131
00132 Exit();
00133 break;
00134
00135 case EKeyDownArrow:
00136
00137 if(!iPlayingTicker)
00138 {
00139 iTicker->Start();
00140 iPlayingTicker = ETrue;
00141 }
00142 else
00143 {
00144 iTicker->Stop();
00145 iPlayingTicker = EFalse;
00146 }
00147 break;
00148 case EKeyUpArrow:
00149
00150 if(!iCallWindow)
00151 {
00152 iDialogBox->Start();
00153 iCallWindow = ETrue;
00154 }
00155 else
00156 {
00157 iDialogBox->Stop();
00158 iCallWindow = EFalse;
00159 }
00160 break;
00161 case EKeyTab:
00162
00163 if(iCallWindow)
00164 {
00165 if(!iDialogBox->IsSemiTransparent())
00166 iDialogBox->SetSemiTransparency();
00167 else
00168 iDialogBox->RemoveSemiTransparency();
00169 }
00170 break;
00171 case EKeyRightArrow:
00172 case EKeyLeftArrow:
00173 case EKeyBackspace:
00174 case EKeySpace:
00175 response = iDemo->HandleKeyEventL(aKeyEvent);
00176 break;
00177 default:
00178 response = EKeyWasNotConsumed;
00179 }
00180 return response;
00181 }
00182
00183
00184