diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/localeupdate_8cpp-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/localeupdate_8cpp-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +0,0 @@ - - -TB10.1 Example Applications: examples/Base/Locale/localeupdate/src/localeupdate.cpp Source File - - - - -

examples/Base/Locale/localeupdate/src/localeupdate.cpp

Go to the documentation of this file.
00001 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-00002 // All rights reserved.
-00003 // This component and the accompanying materials are made available
-00004 // under the terms of "Eclipse Public License v1.0"
-00005 // which accompanies this distribution, and is available
-00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
-00007 //
-00008 // Initial Contributors:
-00009 // Nokia Corporation - initial contribution.
-00010 //
-00011 // Contributors:
-00012 //
-00013 // Description:
-00014 // Contains the definition of functions defined in the CLocaleSettings class.
-00015 // It also contains the definition of the DoStartL()function.
-00016 // This function displays a number of locale settings for a variety of locale DLLs.
-00017 //
-00018 
-00019 
-00020 
-00024 #include "localeupdate.h"
-00025 
-00026 LOCAL_D CConsoleBase* console;
-00027 
-00028 LOCAL_C void DoStartL();
-00029 
-00030 LOCAL_C void CallExampleL();
-00031 
-00038 CLocaleSettings* CLocaleSettings::NewL(TDesC16& aLocaleDLLName, CConsoleBase* aConsole)
-00039         {
-00040         CLocaleSettings* self = new (ELeave) CLocaleSettings;
-00041         CleanupStack::PushL(self);
-00042         self->ConstructL(aLocaleDLLName, aConsole);
-00043         CleanupStack::Pop(self);
-00044         return self;
-00045         }
-00046 
-00053 void CLocaleSettings::ConstructL(TDesC16& aLocaleDLLName, CConsoleBase* aConsole)
-00054         {
-00055         // Store the name of the locale DLL.
-00056         iLocaleDLLName.Copy(aLocaleDLLName);
-00057         iConsole = aConsole;
-00058 
-00059         // Load the locale DLL.
-00060         User::LeaveIfError(iExtendedLocale.LoadLocale(iLocaleDLLName));
-00061 
-00062         // Get the TLocale object from TExtendedLocale.
-00063         iLocale = iExtendedLocale.GetLocale();
-00064 
-00065         // Get the first day of the week.
-00066         // Monday is enumerated to 0, Tuesday to 1 and so on.
-00067         iStartOfWeek = iLocale->StartOfWeek();
-00068 
-00069         // Get the working days mask.
-00070         // Least significant bit corresponds to Monday.
-00071         // A bit is set if it is a working day.
-00072         iWorkingDaysMask = iLocale->WorkDays();
-00073 
-00074         // Get the collation method for the locale.
-00075         iCollationMethod = iExtendedLocale.GetPreferredCollationMethod();
-00076 
-00077         // Get the country code.
-00078         iCountryCode = iLocale->CountryCode();
-00079 
-00080         // Get the date format.
-00081         iDateFormat = iLocale->DateFormat();
-00082 
-00083         // Get the time format.
-00084         iTimeFormat = iLocale->TimeFormat();
-00085 
-00086         // Get numeric value settings.
-00087         iThousandsSeparator = iLocale->ThousandsSeparator();
-00088         iDecimalSeparator = iLocale->DecimalSeparator();
-00089 
-00090         // Get the units of measurement.
-00091         iUnitsFormat = iLocale->UnitsGeneral();
-00092 
-00093         // Get the time zone information.
-00094         // A locale's time zone is defined as an offset from UTC.
-00095         iUTCOffset = User::UTCOffset();
-00096         }
-00097 
-00101 CLocaleSettings::CLocaleSettings()
-00102         {
-00103         }
-00104 
-00108 void CLocaleSettings::DisplayLocaleSettings()
-00109         {
-00110         // Print the name of the locale DLL.
-00111         _LIT(KTextDLLName, "\r\nLocale Settings for the DLL:");
-00112         console->Printf(KTextDLLName);
-00113         console->Printf(iLocaleDLLName);
-00114         console->Printf(KTextNewLine);
-00115 
-00116         // Print the calendar settings.
-00117         _LIT(KTextCalenderSettings, "Calendar Settings:\r\n1. First day of the week: %d\r\n");
-00118         iConsole->Printf(KTextCalenderSettings, iStartOfWeek);
-00119 
-00120         // Print the mask.
-00121         _LIT(KTextWorkingDays, "2. Working days of the week [LSB - Monday]: %07b\r\n");
-00122         iConsole->Printf(KTextWorkingDays, iWorkingDaysMask);
-00123 
-00124         // Print the collation method.
-00125         _LIT(KTextCollationMethod, "Collation method:");
-00126         iConsole->Printf(KTextCollationMethod);
-00127         if(iCollationMethod.iFlags & TCollationMethod::EIgnoreNone)
-00128                 {
-00129                 _LIT(KTextIgnoreNone, "IgnoreNone\r\n");
-00130                 iConsole->Printf(KTextIgnoreNone);
-00131                 }
-00132         else if(iCollationMethod.iFlags & TCollationMethod::ESwapCase)
-00133                 {
-00134                 _LIT(KTextSwapCase, "SwapCase\r\n");
-00135                 iConsole->Printf(KTextSwapCase);
-00136                 }
-00137         else if(iCollationMethod.iFlags & TCollationMethod::EAccentsBackwards)
-00138                 {
-00139                 _LIT(KTextAccents, "AccentsBackwards\r\n");
-00140                 iConsole->Printf(KTextAccents);
-00141                 }
-00142         else if(iCollationMethod.iFlags & TCollationMethod::ESwapKana)
-00143                 {
-00144                 _LIT(KTextSwapKana, "SwapKana\r\n");
-00145                 iConsole->Printf(KTextSwapKana);
-00146                 }
-00147         else if(iCollationMethod.iFlags & TCollationMethod::EFoldCase)
-00148                 {
-00149                 _LIT(KTextFoldCase, "FoldCase\r\n");
-00150                 iConsole->Printf(KTextFoldCase);
-00151                 }
-00152         else
-00153                 {
-00154                 _LIT(KTextStandard, "Standard\r\n");
-00155                 iConsole->Printf(KTextStandard);
-00156                 }
-00157 
-00158         // Print the country code.
-00159         _LIT(KTextCountryCode, "Country code: %d\r\n");
-00160         iConsole->Printf(KTextCountryCode, iCountryCode);
-00161 
-00162         // Get the currency format.
-00163         TBuf<50> currency;
-00164         // A value for the currency.
-00165         TInt currencyValue = 10241024;
-00166         iLocale->FormatCurrency(currency, currencyValue);
-00167         // Print the currency format.
-00168         _LIT(KTextCurrencyFormat, "Currency format of %d:");
-00169         iConsole->Printf(KTextCurrencyFormat, currencyValue);
-00170         iConsole->Printf(currency);
-00171         iConsole->Printf(KTextNewLine);
-00172 
-00173         // Print the date format.
-00174         _LIT(KTextDateFormat, "Date Format: ");
-00175         iConsole->Printf(KTextDateFormat);
-00176         switch(iDateFormat)
-00177                 {
-00178                 case EDateAmerican:
-00179                         _LIT(KTextUSFormat, "US Format (mm/dd/yy)\r\n");
-00180                         iConsole->Printf(KTextUSFormat);
-00181                         break;
-00182                 case EDateEuropean:
-00183                         _LIT(KTextEuropeanFormat, "European format (dd/mm/yyyy)\r\n");
-00184                         iConsole->Printf(KTextEuropeanFormat);
-00185                         break;
-00186                 case EDateJapanese:
-00187                         _LIT(KTextJapFormat, "Japanese format (yyyy/mm/dd)\r\n");
-00188                         iConsole->Printf(KTextJapFormat);
-00189                         break;
-00190                 }
-00191 
-00192         // Print the time format.
-00193         _LIT(KTextTimeFormat, "Time Format: ");
-00194         iConsole->Printf(KTextTimeFormat);
-00195         if(iTimeFormat == ETime12)
-00196                 {
-00197                 _LIT(KText12Hour, "12 hour format\r\n");
-00198                 iConsole->Printf(KText12Hour);
-00199                 }
-00200         else
-00201                 {
-00202                 _LIT(KText24Hour, "24 hour format\r\n");
-00203                 iConsole->Printf(KText24Hour);
-00204                 }
-00205 
-00206         // Print the numeric value settings.
-00207         _LIT(KTextNumericValues, "Numeric Values: \r\n");
-00208         iConsole->Printf(KTextNumericValues);
-00209         _LIT(KTextThousandsSeparator, "\tThousands separator: %c\r\n");
-00210         iConsole->Printf(KTextThousandsSeparator, TUint(iThousandsSeparator));
-00211         _LIT(KTextDecimalSeparator, "\tDecimal separator: %c\r\n");
-00212         iConsole->Printf(KTextDecimalSeparator, TUint(iDecimalSeparator));
-00213 
-00214         // Print the time zone information.
-00215         _LIT(KTextTimeZone, "UTC Offset in seconds (Time Zone Information): %d\r\n");
-00216         iConsole->Printf(KTextTimeZone, iUTCOffset.Int());
-00217 
-00218         // Print the units of measurement.
-00219         _LIT(KTextUnitsOfMeasure, "Units of measurement: ");
-00220         iConsole->Printf(KTextUnitsOfMeasure);
-00221         if(iUnitsFormat == EUnitsImperial)
-00222                 {
-00223                 _LIT(KTextImperial, "Imperial\r\n");
-00224                 iConsole->Printf(KTextImperial);
-00225                 }
-00226         else
-00227                 {
-00228                 _LIT(KTextMetric, "Metric\r\n");
-00229                 iConsole->Printf(KTextMetric);
-00230                 }
-00231         }
-00232 
-00236 CLocaleSettings::~CLocaleSettings()
-00237         {
-00238         }
-00239 
-00240 LOCAL_C void DoStartL()
-00241         {
-00242         // UK English locale DLL.
-00243         _LIT(KLocaleName1, "elocl.01");
-00244         TBufC<KLength> localeName1(KLocaleName1);
-00245         // Create a CLocaleSettings object for the locale DLL eloc1.01.
-00246         CLocaleSettings* obj = CLocaleSettings::NewL(localeName1, console);
-00247         CleanupStack::PushL(obj);
-00248         // Display the locale settings for the locale DLL eloc1.01.
-00249         obj->DisplayLocaleSettings();
-00250         // Delete the CLocaleSettings object.
-00251         CleanupStack::PopAndDestroy(obj);
-00252         // Wait for a key press.
-00253         console->Printf(KTextPressAnyKey);
-00254         console->Getch();
-00255 
-00256         // American locale DLL.
-00257         _LIT(KLocaleName2, "elocl.10");
-00258         TBufC<KLength> localeName2(KLocaleName2);
-00259         // Create a CLocaleSettings object for the locale DLL eloc1.10.
-00260         obj = CLocaleSettings::NewL(localeName2, console);
-00261         CleanupStack::PushL(obj);
-00262         // Display the locale settings for the locale DLL eloc1.10.
-00263         obj->DisplayLocaleSettings();
-00264         // Delete the CLocaleSettings object.
-00265         CleanupStack::PopAndDestroy(obj);
-00266         // Wait for a key press.
-00267         console->Printf(KTextPressAnyKey);
-00268         console->Getch();
-00269 
-00270         // Taiwanese Chinese locale DLL.
-00271         _LIT(KLocaleName3, "elocl.29");
-00272         TBufC<KLength> localeName3(KLocaleName3);
-00273         // Create a CLocaleSettings object for the locale DLL eloc1.29.
-00274         obj = CLocaleSettings::NewL(localeName3, console);
-00275         CleanupStack::PushL(obj);
-00276         // Display the locale settings for the locale DLL eloc1.29.
-00277         obj->DisplayLocaleSettings();
-00278         // Delete the CLocaleSettings object.
-00279         CleanupStack::PopAndDestroy(obj);
-00280         // Wait for a key press.
-00281         console->Printf(KTextPressAnyKey);
-00282         console->Getch();
-00283 
-00284         // Japanese locale DLL.
-00285         _LIT(KLocaleName4, "elocl.32");
-00286         TBufC<KLength> localeName4(KLocaleName4);
-00287         // Create a CLocaleSettings object for the locale DLL eloc1.32.
-00288         obj = CLocaleSettings::NewL(localeName4, console);
-00289         CleanupStack::PushL(obj);
-00290         // Display the locale settings for the locale DLL eloc1.32.
-00291         obj->DisplayLocaleSettings();
-00292         // Delete the CLocaleSettings object.
-00293         CleanupStack::PopAndDestroy(obj);
-00294         }
-00295 
-00296 GLDEF_C TInt E32Main() // main function called by E32
-00297     {
-00298         __UHEAP_MARK;
-00299         CTrapCleanup* cleanup=CTrapCleanup::New(); // get clean-up stack
-00300         TRAPD(error, CallExampleL()); // more initialization, then do example
-00301         delete cleanup; // destroy clean-up stack
-00302         __ASSERT_ALWAYS(!error, User::Panic(KTxtEPOC32EX, error));
-00303         __UHEAP_MARKEND;
-00304         return 0; // and return
-00305     }
-00306 
-00307 LOCAL_C void CallExampleL() // initialize and call example code under cleanup stack
-00308     {
-00309         console=Console::NewL(KTxtExampleCode, TSize(KConsFullScreen, KConsFullScreen));
-00310         CleanupStack::PushL(console);
-00311         TRAPD(error, DoStartL()); // perform example function
-00312         if (error)
-00313                 console->Printf(KFormatFailed, error);
-00314         else
-00315                 console->Printf(KTxtOK);
-00316         console->Printf(KTextPressAnyKey);
-00317         console->Getch(); // get and ignore character
-00318         CleanupStack::PopAndDestroy(); // close console
-00319     }
-

Generated on Thu Jan 21 10:32:57 2010 for TB10.1 Example Applications by  - -doxygen 1.5.3
- -