--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/extras/calcsoft/inc/CalcEnv.h Mon Jan 18 20:20:33 2010 +0200
@@ -0,0 +1,322 @@
+/*
+* 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: Calculator environment class, CCalcAppEnv
+* Derived from CBase
+* This class maintain global data. e.g font, bitmap.
+*
+*/
+
+
+#ifndef CALCENV_H
+#define CALCENV_H
+
+// INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <gulicon.h>
+#include <eikenv.h>
+
+//Extended Icon Skin Implementation
+#include <AknsConstants.h>
+#include "CalcFunc.h"
+#include "CalcEditline.h"
+#include <AknUtils.h>
+
+// CONSTANTS
+const TInt KMaxMemoryIndicatorLength(4);
+const TInt KCalcCountOfOperatorType( 10 ); // +,-,*,/,=, sqrt, % , none ,* and /.
+//Extended Icon Skin implementation.
+const TInt KCalcAknsConstCount(26);
+const TInt KCalcCountOfButtonPressed(10);
+const TInt KCalcCountOfButtonInactive(16);
+const TInt KCountOfBitmaps(9);
+
+
+// FORWARD DECLARATIONS
+class CCalcAppUi;
+class CFont;
+
+// CLASS DEFINITIONS
+
+/**
+CCalcAppEnv : Maintains global data.
+*/
+class CCalcAppEnv
+ : public CBase
+ {
+ public: // Constructors and destructor
+ //Button Type
+ //Extended Icon Skin Implementation
+ enum ButtonType {EPRESSED, ENORMAL, EACTIVE_INACTIVE};
+
+
+ /**
+ * Two-phased constructor.
+ * @param aApp : Pointer of CCalcAppUi class
+ */
+ static CCalcAppEnv* NewL(CCalcAppUi* aAppUi);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCalcAppEnv();
+
+ public: // New functions
+ /**
+ * Return pointer of CCalcAppEnv class
+ * @return Pointer of CCalcAppEnv class
+ */
+ static CCalcAppEnv* Static();
+
+
+ /**
+ * Return pointer of CCalcAppUi class
+ * @return Pointer of CCalcAppUi class
+ */
+ inline CCalcAppUi* AppUi() const;
+
+ /**
+ * Return charactor for editor operator
+ * @param Operator type enum
+ */
+ inline const TPtrC EditorOperator(
+ const TCalcEditLine::TCalcOperatorType aType) const;
+
+ /**
+ * Return charactor for OutputSheet operator
+ * @param Operator type enum
+ */
+ inline const TPtrC OutSheetOperator(
+ const TCalcEditLine::TCalcOperatorType aType) const;
+
+ /**
+ * Return decimal separator.
+ * @return Decimal separator, e.g "."
+ */
+ inline const TChar DecimalSeparator() const;
+
+ /**
+ * Set new decimal separator.
+ * @param aChar: New decimal separator, e.g "."
+ */
+ inline void SetDecimalSeparator(TChar aChar);
+
+ /**
+ * Return minus indicator.
+ * @return minus indicator, e.g "-"
+ */
+ inline const TChar MinusIndicator() const;
+
+ /**
+ * Return memory indicator.
+ * @return memory indicator, e.g "M".
+ */
+ inline TPtrC MemoryIndicator() const;
+
+ /**
+ * Return shadow of memory indicator.
+ * @return memory indicator, e.g "M".
+ */
+ inline TPtrC MemoryIndicatorShadow() const;
+
+ /**
+ * Return font for number shadow in editor.
+ * @return Font for number shadow in editor
+ */
+ inline const CFont* NumberShadowFont() const;
+
+ /**
+ * Return font for number in editor.
+ * @return Font for number in editor
+ */
+ inline const CFont* NumberFont() const;
+
+ /**
+ * Return font for operator shadow in editor.
+ * @return Font for operator shadow in editor
+ */
+ inline const CFont* OperatorShadowFont() const;
+
+ /**
+ * Return font for operator in editor.
+ * @return Font for operator in editor
+ */
+ inline const CFont* OperatorFont() const;
+
+ /**
+ * Return font for operator in OutputSheet.
+ * @return Font for operator in OutputSheet
+ */
+ inline const CFont* OutSheetOperatorFont() const;
+
+ /**
+ * Return 'qsn_fr_calc_display_side_l' 'qsn_fr_calc_display_center.svg'
+ and 'qsn_fr_calc_display_side_r 'Bitmap pointers.
+ */
+ inline const CGulIcon* DisplaySideLBitmap() const;
+ inline const CGulIcon* DisplayCenterBitmap() const;
+ inline const CGulIcon* DisplaySideRBitmap() const;
+
+
+ /**
+ * Return 'qgn_indi_calc_paper' Bitmap pointer.
+ * @return 'qgn_indi_calc_paper' Bitmap pointer.
+ */
+ inline const CGulIcon* PaperBitmap() const;
+
+ /**
+ * Return 'qgn_fr_calc_paper' Bitmap pointers.
+ * @return 'qgn_fr_calc_paper' Bitmap pointers.
+ */
+ inline void ScalablePaperBitmaps(const CGulIcon* [])const;
+
+ /**
+ * Return 'qgn_graf_calc_results_line' Bitmap pointer.
+ * @return 'qgn_graf_calc_results_line' Bitmap pointer.
+ */
+ inline const CGulIcon* ResultsLineBitmap()const;
+
+ /**
+ * Return unpressed bitmap of correspondent index
+ * @param aIndex : index of bitmap array
+ * @return : Bitmap pointer.
+ */
+ inline CGulIcon* UnpressedButtonBmp(
+ const TInt aIndex) const;
+
+ /**
+ * Return pressed bitmap of correspondent index
+ * @param aIndex : index of bitmap array
+ * @return : Bitmap pointer.
+ */
+ inline CGulIcon* PressedButtonBmp(
+ const TInt aIndex) const;
+
+ /**
+ * Return inactive bitmap of correspondent index
+ * @param aIndex : index of bitmap array
+ * @return : Bitmap pointer. If return value is NULL,
+ * no bitmap exists on correspondent index.
+ */
+ inline CGulIcon* InactiveButtonBmp(
+ const TInt aIndex) const;
+
+ /**
+ * To load the functionmap bitmaps when the skin change event has occured.
+ */
+ void LoadFuncMapBitmapSkinChangeL();
+
+ /**
+ * Load bitmaps for FunctionMap SubPane.
+ */
+ void LoadFuncMapBitmapL();
+
+ /*update the array when function map changed*/
+ void UpdateAknConstArrayForFuncMap();
+
+ //Function sets value as to whether skin is changed or not
+ void SetSkinChangedValue(TBool aValue);
+
+ private: // New functions
+ /**
+ * By default constructor is private.
+ * @param aApp : CCalcAppUi class pointer
+ */
+
+ CCalcAppEnv();
+
+
+ CCalcAppEnv(CCalcAppUi* aAppUi);
+
+
+ /**
+ * Second-phase constructor
+ */
+ void ConstructAppEnvL();
+
+
+ /**
+ * Load bitmaps for Paper Pane.
+ */
+ void LoadPaperBitmapsL();
+
+ void InitializeAppUI(CCalcAppUi* aAppUi);
+
+ /**
+ * Load bitmaps for function map button.
+ * @param aStartBitmapId : Bitmap ID of loading start
+ * @param aStartMaskId : Mask ID of loading start
+ * @param aStartIndex : Start index of array which is set to
+ * bitmap.
+ * @param aCount : Count of loading bitmaps
+ * @param aBitmapArray : Load bitmap to this array.
+ */
+
+ void LoadBitmapForFuncMapL(TInt aStartBitmapId, TInt aStartMaskId, TInt aStartIndex,
+ TInt aCount, CGulIcon* aBitmapArray[], ButtonType aType);
+
+
+ //Extended Icon Skin Implementation
+ void UpdateAknConstArray();
+
+ //Extended Icon Skin Implementation for Paper
+ void UpdateAknConstArrayforPaper();
+
+
+ private: // Data
+ CCalcAppUi* iAppUi; // Pointer of CCalcAppUi class
+
+ static CCalcAppEnv iself;
+ CEikonEnv* iEnv;
+
+ // Text
+ CDesCArrayFlat* iEditorOperArray; // Operator for editor
+ CDesCArrayFlat* iOutSheetOperArray;// Operator for OutputSheet
+ TChar iDecimalSeparator; // Decimal separator
+ TChar iMinusIndicator; // Minus indicator
+ TBuf<KMaxMemoryIndicatorLength> iMemoryIndicator;
+ TBuf<KMaxMemoryIndicatorLength> iMemoryIndicatorShadow;
+
+ // Font
+ CFont* iNumberShadowFont;
+ CFont* iNumberFont;
+ CFont* iOperatorShadowFont;
+ CFont* iOperatorFont;
+ CFont* iOutSheetOperatorFont;
+ // Bitmap
+ // Bitmap for background for editor
+ CGulIcon* iDisplaySideLBitmap;
+ CGulIcon* iDisplayCenterBitmap;
+ CGulIcon* iDisplaySideRBitmap;
+ CGulIcon* iPaperBitmap; // Bitmap for background for OutputSheet
+ CGulIcon* iScalablePaperBitmap[KCountOfBitmaps];//Bitmpaps for background for outputSheet
+ CGulIcon* iResultsLineBitmap; // Bitmap for drawing line in OutputSheet
+ CGulIcon* iUnpressedButtonBmp[KCountOfButtonsTouch]; // Bitmap for button of FunctionMap
+ CGulIcon* iPressedButtonBmp[KCountOfButtons];
+ CGulIcon* iDimmedButtonBmp[KCountOfButtons];
+
+ //Extended Icon Skin Implementation
+ RArray<TAknsItemID> iAknsConstArray;
+ RArray<TAknsItemID> iAknsConstArrayForPaper;
+ TBool iIsSkinChanged;
+
+ };
+
+#include "CalcEnv.inl"
+
+#endif // CALCENV_H
+
+// End of File
+
+