diff -r 0f21a5ec0db7 -r 41b775cdc0c8 extras/calcsoft/inc/CalcEdit.h --- a/extras/calcsoft/inc/CalcEdit.h Thu Aug 19 09:56:23 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,267 +0,0 @@ -/* -* 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: Header file of "editor sub-pane", CCalcEditorSubPane class -* which derived from CCoeControl class. Role of this class -* is to draw editor. -* -*/ - - -#ifndef CALCEDIT_H -#define CALCEDIT_H - - -// INCLUDES -#include -#include // for TAknLayoutRect - -#include "CalcView.h" -#include "CalcEnv.h" -#include -#include -#include -#include -#endif - -// CONSTANTS -const TInt KCalcCountOfEditorComponent(6); -_LIT(KAllowedDecimal, ".,"); - -// FORWARD DECLARATIONS -class CCalcContainer; -class CPtiEngine; -class CPtiQwertyKeyMappings; -class CPtiCoreLanguage; -//class CCalcAppEnv; -#ifdef RD_INTELLIGENT_TEXT_INPUT -class CPtiHalfQwertyKeyMappings; -#endif - -// CLASS DEFINITIONS - -/** -CCalcEditorSubPane : 'Editor Sub-Pane' class -*/ - -class CCalcEditorSubPane - :public CCoeControl - { - // Enlarge size for rect. - public: - enum RectEnlargeSizeID - { - EEnlargeFive = 5, - EEnlargeTwenty = 20 - }; - - public: // Constructors and destructor - /** - * Two-phased constructor. - * @param aContainer : Pointer of CCalcContainer class - */ - static CCalcEditorSubPane* NewL(CCalcContainer* aContainer); - - /** - * Destructor. - */ - virtual ~CCalcEditorSubPane(); - - - public: // New functions - /** - * Return curent value of editor - * @return Reference of TCalcEditLine : curent value of editor - */ - const TCalcEditLine& EditLine() const; - - /** - * Set operator to editor. - * @param aType : new operator type. - */ - void SetOperator(TCalcEditLine::TCalcOperatorType aType); - - /** - * Set TReal64 type editor number. - * @param aNewNumber : new editor number. - */ - void SetEditorNumber(TReal64 aNewNumber); - - /** - * Return curent editor number. - * @return TReal64 type editor number. - */ - TReal64 EditorNumber() const; - - /** - * Number of editor is set "0" and operator is set none. - */ - void ResetL(); - - /** - * Operand of editor is erased. - */ - void ClearOperand(); - - /** - * Clear latest input from editor. - */ - void ClearLastInputL(); - - /** - * Handle short-press-clear-key and CBA-clear-key event. - */ - void OfferShortPressClearKeyEventL(); - - /** - * Changing sign. - * @param aState : Current state of Calculator - */ - void DoChangeSignL(CCalcView::TStateNo aState); - - /** - * Update editor number to memory or last result. - * @param aMemory : memory or last result - * @param aState : Current state of Calculator - */ - void DoMemoryRecallOrLastResult( - TReal64 aMemoryOrLastResult, - CCalcView::TStateNo aState); - - /** - * Notify changing decimal separator. - * @param aOld : Old decimal separator - * @param aNew : New decimal separator - */ - void NotifyChangeDecimal(TChar aOld, TChar aNew); - - /** - * Gets the layout of the EditPane. - * Used for touch support. - */ - TRect EditPaneRect(); - - /** - * HandlePointerEventL - * Handles pen inputs of Editor pane. - */ - void HandlePointerEventL(const TPointerEvent& aPointerEvent ); - - public: // Functions from base classes - /** - - /** - * Called to find key pad is Active. - * - */ - TInt IsQwertyKeypadActive(); - - /* From CCoeControl : Handling key event - * @param aKeyEvent : The key event - * @param aType : The type of the event - * @return EKeyWasConsumed : Key event is used. - * EKeyWasNotConsumed : Key event is not used. - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - - /** - * Refresh the display bitmap when the skin change event has occured. - */ - inline void RefreshDisplaySideLBitmap(); - inline void RefreshDisplayCenterBitmap(); - inline void RefreshDisplaySideRBitmap(); - - private: // NewFunctions - /** - * C++ default constructor. - */ - CCalcEditorSubPane(); - - /** - * Second-phase constructor. - * @param aContainer : Pointer of CCalcContainer class - */ - void ConstructL(CCalcContainer* aContainer); - - /** - * Delete the latest input - */ - void ClearL(); // Delete the latest input - - private: // Functions from base classes - /** - * From CCoeControl : Size of control is set. - */ - void SizeChanged(); - - /** - * From CCoeControl : Draw editor - * @param aRect : rectangle of editor space. - */ - void Draw(const TRect& aRect) const; -#ifdef RD_INTELLIGENT_TEXT_INPUT - TBool MapDecimal( TKeyEvent aKeyEvent ); -#else - TBool MapDecimal(TPtiKey aKey, TPtiTextCase aCase); -#endif - - private: // Data - - const CGulIcon* iCalcSideLDisplay; - const CGulIcon* iCalcCenterDisplay; - const CGulIcon* iCalcSideRDisplay; - TAknLayoutRect iSideLDisplayLayout; - TAknLayoutRect iCenterDisplayLayout; - TAknLayoutRect iSideRDisplayLayout; - - CCalcContainer* iCalcContainer; // Not own - CCalcAppEnv* iCalcAppEnv; // Not own - TCalcEditLine iEditLine; // editor data - TReal64 iEditorNumber; - TInt iIsQwertyActive; - CPtiEngine* iEngine; - CRepository* iCRKey; - CPtiCoreLanguage* iCoreLanguage; - CPtiQwertyKeyMappings* iQwertyKeyMappings; -#ifdef RD_INTELLIGENT_TEXT_INPUT - CPtiHalfQwertyKeyMappings* iHalfQwertyKeyMappings; -#endif - TInt iLanguage; - - TInt iUiLanguage; - TBuf<256> iAllowedDecimal; - RProperty iQwertyModeStatusProperty; // To check the Qwerty keypad active - TInt iDecimalCounter; - - TInt iKeyboardType; - public: - void IsQwertyActive(); - void IsQwertyNotActive(); - private: - enum TCalcEditorComponentIndex - { - ECalcEditorOperandShadow, - ECalcEditorOperand, - ECalcEditorMemoryShadow, - ECalcEditorMemory, - ECalcEditorOperatorShadow, - ECalcEditorOperator - }; - TAknLayoutText iLayoutText[KCalcCountOfEditorComponent]; - // Layout of each drawing component. - }; - -#include "CalcEdit.inl" - -// End of File -