--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputhwrboxjp/inc/peninputhwrboxwindow.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,380 @@
+/*
+* Copyright (c) 2009 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: peninput japanese hwr window layout class
+*
+*/
+
+
+#ifndef C_PENINPUTHWRBOXWINDOW_H
+#define C_PENINPUTHWRBOXWINDOW_H
+
+// System includes
+#include <peninputlayoutwindowjp.h>
+
+// Forward declarations
+class CFepUiBaseCtrl;
+class CAknFepCtrlEventButton;
+class CFepCtrlDropdownList;
+class CPeninputHwrBoxGroup;
+
+// Constants
+
+/**
+ * Hwr layout window class
+ * This class define methods to deal with window layout and
+ * handle events sent to this window
+ *
+ * @lib peninputhwrboxjp.lib
+ * @since S60 v3.2
+ */
+class CPeninputHwrBoxWindow : public CPeninputLayoutWindowJp
+ {
+
+public:
+
+ /**
+ * Two-phased constructor
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The plugin ui layout
+ * @param aLayoutContext The hwr layout context
+ * @return The pointer to CPeninputHwrBoxWindow object
+ */
+ static CPeninputHwrBoxWindow* NewL( CFepUiLayout* aUiLayout,
+ MPeninputLayoutContext* aLayoutContext );
+
+ /**
+ * Destructor
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual ~CPeninputHwrBoxWindow();
+
+// From base class CPeninputLayoutWindow
+
+ /**
+ * From CPeninputLayoutWindow
+ * Handle control event
+ *
+ * @since S60 v3.2
+ * @param aEventType The event type
+ * @param aCtrl The control who sends the event
+ * @param aEventData The event data
+ * @return None
+ */
+ void HandleControlEvent( TInt aEventType,
+ CFepUiBaseCtrl* aCtrl,
+ const TDesC& aEventData );
+
+ /**
+ * Handle pointer down event
+ *
+ * @since S60 V4.0
+ * @param aPoint The point position relative the layout
+ * @return The control which handles the event.
+ */
+ virtual CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPoint);
+
+ /**
+ * From CPeninputLayoutWindow
+ * Get id of window config resource
+ *
+ * @since S60 v3.2
+ * @return The id of window config resource
+ */
+ TInt GetWindowConfigResId();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Get id of window resource
+ *
+ * @since S60 v3.2
+ * @return The id of window resource
+ */
+ TInt GetWindowResId();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Get file name of window config resource
+ *
+ * @since S60 v3.2
+ * @param aLangID The id of language
+ * @return The file name of window config resource
+ */
+ const TDesC& GetWindowConfigResFileName( TInt aLangID );
+
+ /**
+ * From CPeninputLayoutWindow
+ * Get file name of window resource
+ *
+ * @since S60 v3.2
+ * @return The file name of window resource
+ */
+ const TDesC& GetWindowResFileName();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Change unit size
+ *
+ * @since S60 v3.2
+ * @return The window rect
+ */
+ const TRect ChangeUnitSize();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Change size of client area
+ *
+ * @since S60 v3.2
+ * @param aLeftTopPoint The left top point of client area
+ * @return None
+ */
+ virtual void ChangeClientSize();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Construct all controls specified in resource
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual void CreateAllControlsL();
+
+ /**
+ * Set control fonts. Fonts info comes from resource
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void SetControlsFont();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Pop up choice list
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void PopupChoiceList();
+
+ /**
+ * From CPeninputLayoutWindow
+ * Re-organize all controls in the assigned client area layout
+ *
+ * @since S60 v3.2
+ * @param aClientLayoutId The id of client area layout
+ * @return None
+ */
+ void ReorganizeControls( TInt aClientLayoutId, TBool aNeedReset );
+
+ /**
+ * From CPeninputLayoutWindowJp
+ * Get id of prediction pane scroll up button resource
+ *
+ * @since S60 v3.2
+ * @return The id of prediction pane scroll up button resource
+ */
+ TInt GetScrollUpBtnResId();
+
+ /**
+ * From CPeninputLayoutWindowJp
+ * Get id of prediction pane scroll down button resource
+ *
+ * @since S60 v3.2
+ * @return The id of prediction pane scroll down button resource
+ */
+ TInt GetScrollDownBtnResId();
+
+ /**
+ * Do when case changed
+ *
+ * @since S60 v3.2
+ * @param aNewCase The new case
+ * @return None
+ */
+ void DoCaseChange( TInt aNewCase );
+
+ /**
+ * Highlight the dropdown list cell
+ *
+ * @since S60 v3.2
+ * @param aIndex The cell index
+ * @return None
+ */
+ void HighlightCell(TInt aIndex);
+
+ /**
+ * DropdownListDraw
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void DropdownListDraw();
+
+ /**
+ * Cancel wrting
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void CancelWriting();
+
+ /**
+ * Cancel repeat
+ *
+ * @since S60 v3.2
+ * @param aFlag The dim flag
+ * @return None
+ */
+ void DimInputContextField(TBool aFlag);
+
+ /**
+ * Dim hwrbox
+ *
+ * @since S60 V4.0
+ * @param aFlag The dim status
+ */
+ void SetDimmed(TBool aDimFlag);
+
+ /**
+ * hwrbox control
+ *
+ * @since S60 V4.0
+ */
+ CPeninputHwrBoxGroup* BoxGroup();
+
+ /**
+ * ConstructFromResourceL load settings from resource.
+ * Before calling this function, the resource id should be set
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ConstructFromResourceL();
+
+ /**
+ * Set if enable option button
+ *
+ * @since S60 v3.2
+ * @param aEnable The enable flag
+ * @return None
+ */
+ void SetEnableSettingBtnJp(TBool aEnable);
+
+protected:
+
+ /**
+ * Constructor
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The plugin ui layout
+ * @param aLayoutContext The hwr layout context
+ * @return None
+ */
+ CPeninputHwrBoxWindow( CFepUiLayout* aUiLayout,
+ MPeninputLayoutContext* aLayoutContext );
+
+private:
+
+ /**
+ * Add button to client area
+ *
+ * @since S60 v3.2
+ * @param aControlId The control id
+ * @param aEventId The control's event id
+ * @param aResId The control's resource id
+ * @param aUnicode The control's unicode
+ * @param aIsRepeat The TBool indicating whether the
+ * control is repeated or not
+ * @return The pointer to CAknFepCtrlEventButton object
+ */
+ CAknFepCtrlEventButton* AddButtonL( const TInt aControlId,
+ const TInt aEventId,
+ const TInt aResId,
+ const TInt aUnicode = 0,
+ const TBool aIsRepeat = EFalse );
+
+ /**
+ * Add hwr box to client area
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void AddBoxGroupL();
+
+ /**
+ * Set frame color of hwr write box
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void SetHwBoxFrameBackColor();
+
+ /**
+ * Add dropdown list to window
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void AddDropdownListL();
+
+ /**
+ * SetWholeWindowRect
+ *
+ * @since Series 60 3.2
+ * @param aRect The rect of clientpane
+ * @return None
+ */
+ void SetWholeWindowRect(const TRect& aRect);
+
+ /**
+ * Add context field into the window
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void AddContextFieldJpL();
+
+private:
+
+ /**
+ * The drop down list control
+ * Not own
+ */
+ CFepCtrlDropdownList* iDropdownList;
+
+ /**
+ * The handwriting box
+ * Not own
+ */
+ CPeninputHwrBoxGroup* iBoxGroup;
+
+ /**
+ * The character range switch button
+ * Not own
+ */
+ CAknFepCtrlEventButton* iCharacterRangeSwitchBtn;
+
+ /**
+ * The convert button
+ * Not own
+ */
+ CAknFepCtrlEventButton* iConvertBtn;
+
+ TBool iDisableCaseChange;
+ TInt iCachedCase;
+ };
+
+#endif // C_PENINPUTHWRBOXWINDOW_H