--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputvkbjp/inc/peninputvkbwindow.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,322 @@
+/*
+* Copyright (c) 2002-2007 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: Interface of vkb ui state
+*
+*/
+
+
+#ifndef C_PENINPUTVKBWINDOW_H
+#define C_PENINPUTVKBWINDOW_H
+
+// system includes
+#include <peninputlayoutwindowjp.h>
+
+/** class forward decalaration */
+
+// Forward declarations
+class CPeninputVkbCtrlExtJp;
+class CAknFepCtrlRangeBar;
+class CAknFepCtrlEventButton;
+
+// class declarations
+/**
+ * vkb window class
+ *
+ * @lib peninputvkbjp.lib
+ * @since S60 v3.2
+ */
+class CPeninputVkbWindow : public CPeninputLayoutWindowJp
+ {
+public:
+
+ /**
+ * Create one CPeninputVkbWindow object
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The layout plugin
+ * @param aControlId This control ID
+ * @param aDataProvider The interface of data provider
+ * @return The CPeninputVkbWindow object.
+ */
+ static CPeninputVkbWindow* NewL(CFepUiLayout* aUiLayout,
+ MPeninputLayoutContext* aLayoutContext );
+
+ /**
+ * Create one CPeninputVkbWindow object
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The layout plugin
+ * @param aControlId This control ID
+ * @param aDataProvider The interface of data provider
+ * @return The CPeninputVkbWindow object.
+ */
+ static CPeninputVkbWindow* NewLC(CFepUiLayout* aUiLayout,
+ MPeninputLayoutContext* aLayoutContext );
+
+ /**
+ * Destructor
+ *
+ * @since S60 v3.2
+ * @return None.
+ */
+ virtual ~CPeninputVkbWindow();
+
+ /**
+ * from CPeninputLayoutWindow
+ * Handle event
+ * @since Series 60 3.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);
+
+ /**
+ * from CPeninputLayoutWindow
+ * Get id of window config resource
+ *
+ * @since S60 v3.2
+ * @return The id of window config resource
+ */
+ virtual TInt GetWindowConfigResId();
+
+ /**
+ * from CPeninputLayoutWindow
+ * Get id of window resource
+ *
+ * @since S60 v3.2
+ * @return The id of window resource
+ */
+ virtual 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
+ */
+ virtual const TDesC&
+ GetWindowConfigResFileName( TInt aLangID );
+
+ /**
+ * from CPeninputLayoutWindow
+ * Get file name of window resource
+ *
+ * @since S60 v3.2
+ * @return The file name of window resource
+ */
+ virtual const TDesC& GetWindowResFileName();
+
+ /**
+ * from CPeninputLayoutWindow
+ * Change unit size
+ *
+ * @since S60 v3.2
+ * @return The rect of whole window
+ */
+ virtual 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
+ * Create VKB and HWR common controls
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual void CreateAllControlsL();
+
+ /**
+ * from CPeninputLayoutWindow
+ * Pop up choice list
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual 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
+ */
+ virtual 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
+ */
+ virtual void DoCaseChange( TInt aNewCase );
+
+ /**
+ * update rangebar when range changed
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void DoRangeChange();
+
+ /**
+ * Dim a key
+ *
+ * @since S60 V4.0
+ * @param aFlag The dim status
+ */
+ void SetDimmed(TBool aDimFlag);
+
+ /**
+ * From CFepUiBaseCtrl,CControlGroup
+ * Hide or shoe control. A hiden control will not handle the event.
+ *
+ * @since S60 V4.0
+ * @param aFlag ETrue if want to hide the control.
+ */
+ virtual void Hide(TBool aFlag);
+
+ /**
+ * Set if enable option button
+ *
+ * @since S60 v3.2
+ * @param aEnable The enable flag
+ * @return None
+ */
+ void SetEnableSettingBtnJp(TBool aEnable);
+
+ /**
+ *
+ * To Call CAknFepCtrlButton::ResizeBitmaps()
+ * @since S60 v3.2
+ * @return None
+ */
+ void SetSizeToRangeButtons();
+
+protected:
+
+ /**
+ * Construct function
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The layout plugin
+ * @param aControlId This control ID
+ * @param aDataProvider The interface of data provider
+ * @return None.
+ */
+ CPeninputVkbWindow(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 range bar into client area
+ *
+ * @since Series 60 3.2
+ * @return None
+ */
+ void AddRangeBarL();
+
+ /**
+ * 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: // data
+
+ /**
+ * The vkb extenting control for vkb area
+ * Not own
+ */
+ CPeninputVkbCtrlExtJp* iVkbCtrl;
+
+ /**
+ * The range bar
+ * Not own
+ */
+ CAknFepCtrlRangeBar* iRangeBar;
+
+ /**
+ * The current japanese
+ * Hirakana/Katakana
+ */
+ TInt iCurrentJapanese;
+ };
+
+#endif // C_PENINPUTVKBWINDOW_H
+
+// End Of File