diff -r 000000000000 -r eb1f2e154e89 textinput/peninputhwrboxcn/ctrlinc/peninputhwrbxwnd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputhwrboxcn/ctrlinc/peninputhwrbxwnd.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,420 @@ +/* +* Copyright (c) 2002-2005 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: boxbase hwr window +* +*/ + + +#ifndef C_CAKNFEPHWRBXWND_H +#define C_CAKNFEPHWRBXWND_H + +// INCLUDES +#include +#include "peninputhwrpropertysubscriber.h" + +// FORWARD DECLARATIONS +class CFepInputContextField; +class CAknFepCtrlButton; +class CAknFepHwrBxCtrlBar; +class CAknFepHwrBoxGroup; +class CAknFepHwrBxDataStore; +class CFepCtrlDropdownList; +class TResourceReader; +class CPeninputLayoutInputmodelChoice; +class CAknFepCtrlRepeatButton; + +/** + * boxbased hwr window + * + * @lib peninputhwrboxcn.lib + * @since S60 v3.2 + */ +class CAknFepHwrBxWnd : public CAknFepCtrlBaseWindow, public MAknFepHwrPropertySubscriber + { + +public: + + /** + * Symbian constructor. + * + * @since S60 v3.2 + * @param aUiLayout The layout + * @param aControlId The control id + * @param aLandscapeStyle Current screen is landscape or not + * @return Pointer to created CAknFepHwrBxWnd object + */ + static CAknFepHwrBxWnd* NewL(CFepUiLayout* aFepUiLayout, + TInt aControlId, + TBool aLandscapeStyle); + + /** + * Symbian constructor. + * + * @since S60 v3.2 + * @param aUiLayout The layout + * @param aControlId The control id + * @param aLandscapeStyle Current screen is landscape or not + * @return Pointer to created CAknFepHwrBxWnd object + */ + static CAknFepHwrBxWnd* NewLC(CFepUiLayout* aFepUiLayout, + TInt aControlId, + TBool aLandscapeStyle); + + /** + * destructor. + * + * @since S60 v3.2 + * @return None + */ + virtual ~CAknFepHwrBxWnd(); + + /** + * ConstructFromResourceL load from resource. + * + * @since S60 v3.2 + * @param aReader A resource reader + * @return None + */ + void ConstructFromResourceL(TResourceReader& aReader); + + /** + * ConstructFromResourceL load from resource. + * Before calling this function, resource id should be set + * + * @since S60 v3.2 + * @return None + */ + void ConstructFromResourceL(); + + /** + * Set the input context field text + * + * @since S60 v3.2 + * @param aTotalTextLen The total text length in editor + * @param aStartPos The position of aText in whole editor + * @param aCursorSel Current cursor selection + * @param aText The text to be set + * @return None + */ + void SetEditorTextL(const TFepInputContextFieldData& aData); + + /** + * Highlight the dropdown list cell + * + * @since S60 v3.2 + * @param aIndex The cell index + * @return None + */ + void HighlightCell(TInt aIndex); + + /** + * Cancel wrting + * + * @since S60 v3.2 + * @return None + */ + void CancelWriting(); + + /** + * Cancel repeat + * + * @since S60 v3.2 + * @return None + */ + void CancelRepeat(); + + /** + * Cancel repeat + * + * @since S60 v3.2 + * @param aFlag The dim flag + * @return None + */ + void DimInputContextField(TBool aFlag); + + /** + * Pup up pen input mode switcher + * + * @since S60 v3.2 + * @return None + */ + void PopUpPenInputModeSwitcher(); + +// from base class CAknFepCtrlBaseWindow + + /** + * From CAknFepCtrlBaseWindow. + * Resize according to LAF + * + * @since S60 v3.2 + * @param aLandscapeStyle Current screen is landscape or not + * @return None + */ + void SizeChanged(TBool aLandscapeStyle); + + /** + * From CAknFepCtrlBaseWindow. + * call back function when closing window + * + * @since S60 v3.2 + * @return ETrue for allowing close window; otherwise EFalse + */ + TBool DoClose(); + +// from base class MAknFepHwrPropertySubscriber + + /** + * From MAknFepHwrPropertySubscriber. + * Handle the property change + * + * @since S60 v3.2 + * @param aPropertyName The property name + * @param aPropertyValue The new value + * @return None + */ + void SetPropertyL(const MAknFepHwrPropertySubscriber::TAknFepHwrProperty aPropertyName, + const TDesC& aPropertyValue); + + /** + * Draw window and shadow + * + * @since S60 v3.2 + * @return None + */ + void Draw(); + + /** + * Get drop down list + * + * @since S60 v3.2 + * @return Pointer to drop down list + */ + CFepCtrlDropdownList* DropdownList(); + + TPoint StrokeEndMark(); + + /** + * Get top left shadow size + * + * @since S60 v3.2 + * @return Top left corner shadow size + */ + TSize ShadowTlSize(); + + /** + * Get bottom right shadow size + * + * @since S60 v3.2 + * @return Bottom right corner shadow size + */ + TSize ShadowBrSize(); + + /** + * Set if enable option button and language switch button + * + * @since S60 v3.2 + * @param aEnable The enable flag + * @return None + */ + void SetEnableSettingBtn(TBool aEnable); + + /** + * Reset writting window + * + * @since S60 v3.2 + * @return None + */ + void ResetWrittingWnd(); + + void SetTextAlignmentL( TInt aAlignment ); + +protected: + + /** + * C++ default constructor + * + * @since S60 v3.2 + * @param aFepUiLayout A Ui Layout environment (CFepUiLayout) + * @param aControlId Control id + * @return None + */ + CAknFepHwrBxWnd(CFepUiLayout* aFepUiLayout, TInt aControlId); + +private: + + /** + * Symbian second-phase constructor + * + * @since S60 v3.2 + * @param aLandscapeStyle Current screen is landscape or not + * @return None + */ + void ConstructL(TBool aLandscapeStyle); + + /** + * Add input context field to window + * + * @since S60 v3.2 + * @return None + */ + void AddContextFieldL(); + + /** + * Add option button to window + * + * @since S60 v3.2 + * @return None + */ + void AddOptionButtonL(); + + /** + * Add control bar to window + * + * @since S60 v3.2 + * @return None + */ + void AddControlBarL(); + + /** + * Add box group to window + * + * @since S60 v3.2 + * @return None + */ + void AddBoxGroupL(); + + /** + * Add dropdown list to window + * + * @since S60 v3.2 + * @param aLandscapeStyle Current screen is landscape or not + * @return None + */ + void AddDropdownListL(TBool aLandscapeStyle); + + /** + * Read unit size, shadow size of hwr window + * + * @since S60 v3.2 + * @return None + */ + void ReadLafInfo(TBool aLandscapeStyle); + + /** + * Add backspace button to window + * + * @since S60 v3.2 + * @return None + */ + void AddBackspaceBtnL(); + + /** + * read background info of base window + * + * @since S60 v3.2 + * @return None + */ + void ReadBackgroundInfoL( TInt aResId ); + +private:// data + + /** + * The input context field (Own) + */ + CFepInputContextField* iContextField; + + /** + * The touch input option button (Own) + */ + CAknFepCtrlCommonButton* iOptionButton; + + /** + * Instance of back space button (own) + */ + CAknFepCtrlRepeatButton* iBackspace; + + /** + * The control bar (Own) + */ + CAknFepHwrBxCtrlBar* iControlBar; + + /** + * The drop down list control (Own) + */ + CFepCtrlDropdownList* iDropdownList; + + /** + * The hwr box group (Own) + */ + CAknFepHwrBoxGroup* iBoxGroup; + + /** + * The data store (Not own) + */ + CAknFepHwrBxDataStore* iDataStore; + + /** + * The drop down list font (own) + */ + // removed in 2006.02.10, font get from LAF now + //CFont* iDropdownListFont; + + /** + * second range color + */ + TRgb iSecondRangeColor; + + /** + * The unit width + */ + TInt iUnitWidth; + + /** + * The unit height + */ + TInt iUnitHeight; + + /** + * Size of top left shadow corner + */ + TSize iShadowTl; + + /** + * Size of bottom right shadow corner + */ + TSize iShadowBr; + + /** + * First time construct flag + */ + TBool iFirstTimeConstruct; + + /** + * Indicate whether unit size and shadow tl br size + * have been set + */ + TBool iUnitShadowSizeSet; + + /** + * Indicate whether sub controls size and position + * have been set + */ + TBool iControlPosSet; + + CPeninputLayoutInputmodelChoice* iInputModeSwitch; + }; + +#endif // C_CAKNFEPHWRBXWND_H + +// End Of File