extras/calcsoft/src/CalcEnv.cpp
branchRCL_3
changeset 21 10c6e6d6e4d9
parent 0 3ee3dfdd8d69
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extras/calcsoft/src/CalcEnv.cpp	Wed Sep 01 12:29:54 2010 +0100
@@ -0,0 +1,572 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Global data class, CCalcAppEnv, derived from CBase
+*                This class maintain global data. e.g font, bitmap.
+*
+*/
+
+
+
+// INCLUDE FILES
+#include <barsread.h> // resource reader
+#include <eikapp.h>
+#include <eikenv.h>
+#include <eikrutil.h> 
+#include <fbs.h>    // Fonts
+#include <AknUtils.h>
+
+//Extended Icon Skin Implementation
+#include  <AknsConstants.h>
+#include <AknsUtils.h>
+#include <AknsItemID.h>
+
+#include <Calcsoft.rsg>
+#include <calcsoft.mbg>
+#include "CalcEnv.h"
+#include "CalcAppUi.h"
+
+//  LOCAL CONSTANTS AND MACROS  
+
+// ================= MEMBER FUNCTIONS =======================
+// Two-phased constructor.
+CCalcAppEnv* CCalcAppEnv::NewL
+(CCalcAppUi* aAppUi)    
+	{
+	CCalcAppEnv* self = new (ELeave) CCalcAppEnv(aAppUi);
+	CleanupStack::PushL(self);
+	self->ConstructAppEnvL();
+	CleanupStack::Pop(self);
+	// Set to TLS(Thread Local Storage).
+	UserSvr::DllSetTls(67338721, self); 
+
+	return self;     	
+	}
+
+void CCalcAppEnv::InitializeAppUI(CCalcAppUi* aAppUi)
+	{
+	iAppUi = aAppUi;
+	}
+
+
+// Destructor
+CCalcAppEnv::~CCalcAppEnv()
+	{
+	// Text
+	delete iEditorOperArray;
+	delete iOutSheetOperArray;
+#ifdef __SCALABLE_ICONS
+	delete  iResultsLineBitmap;
+#endif
+
+
+	// Bitmap
+    	delete iDisplaySideLBitmap;
+		delete iDisplayCenterBitmap;
+		delete iDisplaySideRBitmap;
+		
+	delete iPaperBitmap;
+	for(TInt Cnt=0;Cnt<9;Cnt++)
+		{
+	delete iScalablePaperBitmap[Cnt];
+		} 
+    
+	// font 
+	// free font for number and operator
+	CBitmapDevice* device = iEnv->ScreenDevice();
+	device->ReleaseFont(iNumberShadowFont);
+	device->ReleaseFont(iNumberFont);
+	device->ReleaseFont(iOperatorShadowFont);
+	device->ReleaseFont(iOperatorFont);
+	device->ReleaseFont(iOutSheetOperatorFont);
+
+   
+	//Extended Icon Skin Implementation
+		iAknsConstArray.Close();
+		iAknsConstArrayForPaper.Close();
+	}
+
+
+// ---------------------------------------------------------
+// CCalcAppEnv::Static
+// Return value of thread-local storage.
+// This value is set pointer of CCalcAppEnc class in CCalcAppEnv::NewL().  
+// (other items were commented in a header).  
+// ---------------------------------------------------------
+//
+CCalcAppEnv* CCalcAppEnv::Static()
+	{
+	return REINTERPRET_CAST(CCalcAppEnv*, UserSvr::DllTls(67338721)); 
+	}
+
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+
+CCalcAppEnv::CCalcAppEnv()
+	{
+	}
+	
+
+CCalcAppEnv::CCalcAppEnv
+(CCalcAppUi* aAppUi)  
+: iAppUi(aAppUi)
+	{
+	}
+
+// Second-phase constructor
+void CCalcAppEnv::ConstructAppEnvL()
+	{
+	iEnv = CEikonEnv::Static();
+
+	// Read char code for operator.
+	TResourceReader editOperRr;
+	iEnv ->CreateResourceReaderLC(
+		editOperRr, R_CALC_EDITOR_OPERATOR_ARRAY);
+	TResourceReader osheetOperRr;
+	iEnv->CreateResourceReaderLC(
+		osheetOperRr, R_CALC_OUTSHEET_OPERATOR_ARRAY);
+
+	editOperRr.ReadInt16(); // Read count of items
+	osheetOperRr.ReadInt16(); // Read count of items
+
+	iEditorOperArray = 
+		new (ELeave) CDesCArrayFlat(KCalcCountOfOperatorType);
+	iOutSheetOperArray = 
+		new (ELeave) CDesCArrayFlat(KCalcCountOfOperatorType);
+
+	TChar editorOper;
+	TChar outSheetOper;
+
+	for (TInt cnt(0); cnt < KCalcCountOfOperatorType; cnt++)
+		{
+		editorOper = editOperRr.ReadUint16();
+		outSheetOper = osheetOperRr.ReadUint16();
+		TBuf<1> editorOperBuf;
+		TBuf<1> outSheetOperBuf; 
+		editorOperBuf.Append(editorOper);
+		outSheetOperBuf.Append(outSheetOper);
+		iEditorOperArray->AppendL(editorOperBuf); 
+		iOutSheetOperArray->AppendL(outSheetOperBuf);
+		}
+
+	CleanupStack::PopAndDestroy(2); // editOperRr, osheetOperRr
+
+
+	// TLocale::DecimalSeparator() must be used when decimal separator is get.  
+	TLocale locale;
+	iDecimalSeparator = locale.DecimalSeparator();
+
+	TBuf<1> buf;
+	iEnv->ReadResourceL(buf, R_CALC_MINUS_INDICATOR);
+	iMinusIndicator = buf[0];
+	iEnv->ReadResourceL(iMemoryIndicator, R_CALC_STTUS_SAVED_TO_MEM);
+	iEnv->ReadResourceL(iMemoryIndicatorShadow, R_CALC_STTUS_SAVED_TO_MEM_SHA);
+
+	CEikApplication* app = iEnv->EikAppUi()->Application();
+	TFileName bmpPath(app->BitmapStoreName());
+
+	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+	CFbsBitmap* bitmap = NULL;
+	CFbsBitmap* mask	= NULL;
+
+	//Ext Icon Skinning implementation for Display
+	
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplaySideL,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_side_l, EMbmCalcsoftQsn_fr_calc_display_side_l_mask);
+		
+		iDisplaySideLBitmap = CGulIcon::NewL(bitmap, mask);
+			bitmap = NULL;
+			mask	= NULL;
+		
+		
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplayCenter,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_center, EMbmCalcsoftQsn_fr_calc_display_center_mask);
+			
+		iDisplayCenterBitmap = CGulIcon::NewL(bitmap, mask);
+			bitmap = NULL;
+			mask	= NULL;
+		
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplaySideR,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_side_r, EMbmCalcsoftQsn_fr_calc_display_side_r_mask);
+			
+		iDisplaySideRBitmap = CGulIcon::NewL(bitmap, mask);
+
+	//Ext Icon Skinning implementation for Paper
+	bitmap = NULL;
+	mask	= NULL;
+	AknsUtils::CreateIconL(skin,KAknsIIDQgnGrafCalcPaper,bitmap,mask,bmpPath,
+		EMbmCalcsoftQgn_graf_calc_paper,EMbmCalcsoftQgn_graf_calc_paper_mask);
+	iPaperBitmap = CGulIcon::NewL(bitmap, mask);
+
+	bitmap = NULL;
+	mask	= NULL;
+
+#ifdef __SCALABLE_ICONS
+	AknsUtils::CreateIconL(skin,KAknsIIDQgnGrafCalcResultsLine, bitmap,mask,bmpPath,
+		EMbmCalcsoftQgn_graf_calc_results_line,EMbmCalcsoftQgn_graf_calc_results_line_mask);
+	iResultsLineBitmap = CGulIcon::NewL(bitmap, mask);
+#endif
+	bitmap = NULL;
+	mask	= NULL; 
+	iIsSkinChanged = EFalse;
+	UpdateAknConstArrayforPaper();
+	LoadPaperBitmapsL();
+
+	UpdateAknConstArray();
+
+	LoadFuncMapBitmapL();
+
+
+	}
+
+
+// ---------------------------------------------------------
+// CCalcAppEnv::LoadPaperBitmapsL
+// Load bitmaps for Paper Pane.  
+// (other items were commented in a header).  
+// ---------------------------------------------------------
+//
+ void CCalcAppEnv::LoadPaperBitmapsL()
+	{
+	CEikApplication* app = iEnv->EikAppUi()->Application();
+	TFileName bmpPath(app->BitmapStoreName());
+	TInt startBitmapId = EMbmCalcsoftQsn_fr_calc_paper_center;
+	TInt startMaskId = EMbmCalcsoftQsn_fr_calc_paper_center_mask;
+	TInt startIndex=0;
+	TInt count = 9;
+	TInt bmpId(startBitmapId);
+	TInt maskId(startMaskId);
+
+	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+	CFbsBitmap* bitmap = NULL;
+	CFbsBitmap* mask	= NULL; 
+
+	for (TInt cnt(startIndex); cnt < (count + startIndex); cnt++)
+		{
+
+		AknsUtils::CreateIconL(skin, (iAknsConstArrayForPaper)[cnt],bitmap,mask,
+					bmpPath, bmpId, maskId);
+
+		if(!iIsSkinChanged)
+			{
+			iScalablePaperBitmap[cnt] = CGulIcon::NewL(bitmap, mask);
+			}
+		else
+			{
+			iScalablePaperBitmap[cnt]->SetBitmap(bitmap);
+			iScalablePaperBitmap[cnt]->SetMask(mask);
+			}
+		bmpId = bmpId + 2;
+		maskId = maskId + 2;
+		}
+	}
+
+// ---------------------------------------------------------
+// CCalcAppEnv::LoadFuncMapBitmapL
+// Load bitmaps for FunctionMap SubPane.  
+// (other items were commented in a header).  
+// ---------------------------------------------------------
+//
+void CCalcAppEnv::LoadFuncMapBitmapL()
+	{
+
+	CEikApplication* app = iEnv->EikAppUi()->Application();
+	TFileName bmpPath(app->BitmapStoreName());
+
+	if(iIsSkinChanged) //EISkin2.6
+		{
+		MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+		CFbsBitmap* bitmap = NULL;
+		CFbsBitmap* mask	= NULL;
+
+		//Ext Icon Skinning implementation for Display
+		
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplaySideL,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_side_l, EMbmCalcsoftQsn_fr_calc_display_side_l_mask);
+		
+		iDisplaySideLBitmap->SetBitmap(bitmap);
+		iDisplaySideLBitmap->SetMask(mask);
+		
+			bitmap = NULL;
+			mask	= NULL;
+		
+		
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplayCenter,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_center, EMbmCalcsoftQsn_fr_calc_display_center_mask);
+			
+		iDisplayCenterBitmap->SetBitmap(bitmap);
+		iDisplayCenterBitmap->SetMask(mask);
+		
+			bitmap = NULL;
+			mask	= NULL;
+		
+	AknsUtils::CreateIconL(skin,KAknsIIDQsnFrCalcDisplaySideR,bitmap,mask,bmpPath,
+		EMbmCalcsoftQsn_fr_calc_display_side_r, EMbmCalcsoftQsn_fr_calc_display_side_r_mask);
+			
+	iDisplaySideRBitmap->SetBitmap(bitmap);
+	iDisplaySideRBitmap->SetMask(mask);
+			
+		//Ext Icon Skinning implementation for Paper
+		bitmap = NULL;
+		mask	= NULL;
+		AknsUtils::CreateIconL(skin,KAknsIIDQgnGrafCalcPaper,bitmap,mask,bmpPath,
+			EMbmCalcsoftQgn_graf_calc_paper,EMbmCalcsoftQgn_graf_calc_paper_mask);
+	
+		iPaperBitmap->SetBitmap(bitmap);
+		iPaperBitmap->SetMask(mask);
+		bitmap = NULL;
+		mask	= NULL;
+#ifdef __SCALABLE_ICONS
+		AknsUtils::CreateIconL(skin,KAknsIIDQgnGrafCalcResultsLine, bitmap,mask,bmpPath,
+		EMbmCalcsoftQgn_graf_calc_results_line,EMbmCalcsoftQgn_graf_calc_results_line_mask);
+		
+		iResultsLineBitmap->SetBitmap(bitmap);
+		iResultsLineBitmap->SetMask(mask);
+#endif
+		bitmap = NULL;
+		mask	= NULL;
+		LoadPaperBitmapsL();
+		}
+
+	if(!iIsSkinChanged)
+	{
+		
+	
+		if( AknLayoutUtils::PenEnabled() )
+	    {
+	            
+	        
+	        LoadBitmapForFuncMapL(
+			EMbmCalcsoftQgn_indi_calc_cancel,
+	    	EMbmCalcsoftQgn_indi_calc_cancel_mask,
+		    0, 
+		    KCountOfButtonsTouch, iUnpressedButtonBmp, ENORMAL);
+	    }
+
+		else
+	    {
+	        LoadBitmapForFuncMapL(
+			EMbmCalcsoftQgn_indi_calc_button_plus,
+	    	EMbmCalcsoftQgn_indi_calc_button_plus_mask,
+		    0, 
+		    KCountOfButtons, iUnpressedButtonBmp, ENORMAL);
+		    
+		    LoadBitmapForFuncMapL(
+			EMbmCalcsoftQgn_indi_calc_button_plus_pressed,
+	    	EMbmCalcsoftQgn_indi_calc_button_plus_pressed_mask,
+		    0, 
+		    KCountOfButtons, iPressedButtonBmp, EPRESSED);
+		    
+	    }	
+	}
+
+	}
+
+// ---------------------------------------------------------
+// CCalcAppEnv::UpdateAknConstArrayForFuncmap
+// Update array for function map.  
+// (other items were commented in a header).  
+// ---------------------------------------------------------
+//
+void CCalcAppEnv::UpdateAknConstArrayForFuncMap()
+    {
+    UpdateAknConstArray();
+    }
+	    
+// ---------------------------------------------------------
+// CCalcAppEnv::LoadBitmapForFuncMapButtonL
+// Load bitmaps for FunctionMap button.  
+// (other items were commented in a header).  
+// ---------------------------------------------------------
+//
+
+void CCalcAppEnv::LoadBitmapForFuncMapL(TInt aStartBitmapId, TInt aStartMaskId, TInt aStartIndex,
+	TInt aCount, CGulIcon* aBitmapArray[], ButtonType aType)
+	{
+	CEikApplication* app = iEnv->EikAppUi()->Application();
+	TFileName bmpPath(app->BitmapStoreName());
+	TInt bmpId(aStartBitmapId);
+	TInt maskId(aStartMaskId);
+
+	MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+	CFbsBitmap* bitmap = NULL;
+	CFbsBitmap* mask	= NULL;
+
+    // Get the text color of theme
+    TRgb iconColor;
+    AknsUtils::GetCachedColor( skin, iconColor, 
+        KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG29 );
+    
+	for (TInt cnt(aStartIndex); cnt < (aCount + aStartIndex); cnt++)
+		{
+		switch(aType)
+			{
+			case EPRESSED:
+				{
+    				if(!AknLayoutUtils::PenEnabled() )
+    				{
+    				    AknsUtils::CreateIconL(skin,(iAknsConstArray)[cnt + KCalcCountOfButtonPressed],bitmap,mask,
+    					bmpPath, bmpId, maskId);    
+    					
+    				}
+				}
+			break;
+			case ENORMAL:
+				{
+				    if(!AknLayoutUtils::PenEnabled() )
+				    {
+				        AknsUtils::CreateIconL(skin,(iAknsConstArray)[cnt],bitmap,mask,
+					    bmpPath, bmpId, maskId);        
+				    }
+                    else
+                    {
+                        AknsUtils::CreateIconL(skin,(iAknsConstArray)[cnt]/*KAknsIIDQgnIndiCalcAdd*/,bitmap,mask,
+                        bmpPath, bmpId, maskId);
+                        // Set the color of icons
+                        AknIconUtils::SetIconColor( bitmap, iconColor );
+                    }
+				
+				}
+			break;
+			case EACTIVE_INACTIVE:
+				{
+				AknsUtils::CreateIconL(skin,(iAknsConstArray)[cnt + KCalcCountOfButtonInactive],bitmap,mask,
+					bmpPath, bmpId, maskId);
+				}
+			break;
+			default:
+				break;
+
+			}
+
+		CGulIcon* icon = CGulIcon::NewL(bitmap, mask);
+		aBitmapArray[cnt] = icon;
+			
+		bmpId = bmpId + 2;
+		maskId = maskId + 2;
+		}
+
+	}
+
+//---------------------------------------------------------
+// CCalcAppEnv::UpdateAknConstArrayforPaper
+//Updates the array with avkon skin constant Ids for paper bitmaps.   
+// ---------------------------------------------------------
+//
+   void CCalcAppEnv::UpdateAknConstArrayforPaper()
+	{
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperCenter);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperCornerTl);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperCornerTr);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperCornerBl);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperCornerBr);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperSideT);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperSideB);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperSideL);
+	iAknsConstArrayForPaper.Append(KAknsIIDQsnFrCalcPaperSideR); 
+	
+	}
+
+//---------------------------------------------------------
+// CCalcAppEnv::UpdateAknConstArray
+//Updates the array with avkon skin constant Ids for bitmaps.   
+// ---------------------------------------------------------
+//
+void CCalcAppEnv::UpdateAknConstArray()
+    {
+    iAknsConstArray.Reset();
+    if( AknLayoutUtils::PenEnabled() )
+    {
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcCancel );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSeven );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcFour );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcOne );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcZero );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSquareroot );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcEight );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcFive );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcTwo );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSeparator );  
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcPercent );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcNine );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSix );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcThree );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSign );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcDivide );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcMultiply );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcSubtract );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcAdd );
+    iAknsConstArray.Append( KAknsIIDQgnIndiCalcEquals );
+    }
+    else
+    {
+    //Akn Const for +, -, *, /....etc 0-9
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonPlus);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonMinus);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonMultiply);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonDivide);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSign);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonEquals);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSquareroot);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonPercent);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonUp);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonDown);
+
+
+    //Akn Const for pressed +, -, *, /....etc  10-19
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonPlusPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonMinusPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonMultiplyPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonDividePressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSignPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonEqualsPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSquarerootPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonPercentPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonUpPressed);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonDownPressed);
+
+    //Akn Const for Active/ Inactive icons 20-24
+    /*iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSignInactive);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSignInactive);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonSquarerootInactive);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonPercentInactive);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonUpInactive);
+    iAknsConstArray.Append(KAknsIIDQgnIndiCalcButtonDownInactive);*/
+    //}
+    }
+    }   
+//EISkin2.6
+//-----------------------------------------------------------
+//CCalcAppEnv::LoadFuncMapBitmapSkinChangeL
+//Loads the function map Icons when the skin changes
+//-----------------------------------------------------------
+//
+void CCalcAppEnv::LoadFuncMapBitmapSkinChangeL()
+	{
+	iIsSkinChanged = ETrue;
+	LoadFuncMapBitmapL();
+	}
+
+
+//-----------------------------------------------------------
+//CCalcAppEnv::SetSkinChangedValue
+//Sets if the skin is changed or not
+//-----------------------------------------------------------
+	
+void CCalcAppEnv::SetSkinChangedValue(TBool aValue)
+{
+	iIsSkinChanged = aValue;
+}
+//  End of File