00001
00002
00003
00004
00005
00006
00007 #include <avkon.hrh>
00008 #include <eikapp.h>
00009 #include <aknnotewrappers.h>
00010 #include <stringloader.h>
00011 #include <Localization.rsg>
00012 #include <f32file.h>
00013 #include <s32file.h>
00014
00015 #include "Localization.pan"
00016 #include "LocalizationAppUi.h"
00017 #include "LocalizationAppView.h"
00018 #include "Localization.hrh"
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 void CLocalizationAppUi::ConstructL()
00029 {
00030
00031 BaseConstructL(EAknEnableSkin);
00032
00033 iAppView = CLocalizationAppView::NewL( ClientRect() );
00034 }
00035
00036
00037
00038
00039
00040 CLocalizationAppUi::CLocalizationAppUi()
00041 {
00042
00043 }
00044
00045
00046
00047
00048
00049
00050 CLocalizationAppUi::~CLocalizationAppUi()
00051 {
00052 if ( iAppView )
00053 {
00054 delete iAppView;
00055 iAppView = NULL;
00056 }
00057
00058 }
00059
00060
00061
00062
00063
00064
00065 void CLocalizationAppUi::HandleCommandL( TInt aCommand )
00066 {
00067 switch( aCommand )
00068 {
00069 case EEikCmdExit:
00070 case EAknSoftkeyExit:
00071 Exit();
00072 break;
00073
00074
00075 case ELocalizationCommandNumber:
00076 {
00077
00078 TBuf<50> myBuf;
00079
00080
00081 TReal myAmount = 1234.567;
00082
00083
00084 TRealFormat myFormat;
00085
00086
00087 myBuf.AppendNum(myAmount, myFormat);
00088
00089
00090 CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
00091 informationNote->ExecuteLD( myBuf );
00092 }
00093 break;
00094
00095
00096 case ELocalizationCommandCurrency:
00097 {
00098
00099 TLocale myLocale;
00100
00101
00102 TBuf<50> myBuf;
00103
00104
00105
00106 TInt myAmount = 123456789;
00107
00108
00109 myLocale.FormatCurrency(myBuf, myAmount);
00110
00111
00112 CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
00113 informationNote->ExecuteLD( myBuf );
00114 }
00115 break;
00116
00117
00118 case ELocalizationCommandDate:
00119 {
00120
00121 TBuf<50> myBuf;
00122
00123
00124 TTime myDate;
00125
00126
00127 myDate.HomeTime();
00128
00129
00130
00131
00132 myDate.FormatL(myBuf, _L("%/0%1%/1%2%/2%3%/3%X"));
00133
00134
00135 CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
00136 informationNote->ExecuteLD( myBuf );
00137 }
00138 break;
00139
00140
00141 case ELocalizationCommandTime:
00142 {
00143
00144 TBuf<50> myBuf;
00145
00146
00147 TTime myTime;
00148
00149
00150 myTime.HomeTime();
00151
00152
00153
00154
00155 myTime.FormatL(myBuf, _L("%-B%:0%J%:1%T%:2%S%:3%+B"));
00156
00157
00158 CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
00159 informationNote->ExecuteLD( myBuf );
00160 }
00161 break;
00162
00163
00164 case ELocalizationCommandText:
00165 {
00166
00167 CDesCArrayFlat* strings = new CDesCArrayFlat( 2 );
00168 CleanupStack::PushL( strings );
00169
00170
00171
00172
00173 strings->AppendL( _L("Heidi") );
00174
00175
00176 strings->AppendL( _L("2") );
00177
00178
00179 HBufC* textResource = StringLoader::LoadL( R_LOC_COMMANDTEXT_TEXT, *strings );
00180 CleanupStack::PushL( textResource );
00181
00182
00183 CAknInformationNote* informationNote = new ( ELeave ) CAknInformationNote;
00184 informationNote->ExecuteLD( *textResource );
00185
00186
00187 CleanupStack::PopAndDestroy( textResource );
00188 CleanupStack::PopAndDestroy( strings );
00189 }
00190 break;
00191
00192
00193 case ELocalizationCommandImage:
00194 {
00195
00196 TParse parse;
00197 parse.Set(Application()->AppFullName(),0,0);
00198
00199
00200 HBufC* bmpFile = StringLoader::LoadLC(R_LOC_COMMANDIMAGE_BMPFILE);
00201
00202
00203 CFbsBitmap* bitmap;
00204
00205
00206 bitmap = new( ELeave )CFbsBitmap;
00207 CleanupStack::PushL( bitmap );
00208
00209
00210 User::LeaveIfError(bitmap->Load( *bmpFile, 0 ));
00211
00212 CleanupStack::Pop( bitmap );
00213
00214
00215 iAppView->DrawImage( bitmap );
00216
00217
00218 CleanupStack::PopAndDestroy( bmpFile );
00219 }
00220 break;
00221
00222
00223 default:
00224
00225 break;
00226 }
00227 }
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245