--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputsplititut/inc/peninputsplititutuimgrbase.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,313 @@
+/*
+* 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: drop-down list control
+*
+*/
+
+
+#ifndef C_SPLITITUTUIMGRBASE_H
+#define C_SPLITITUTUIMGRBASE_H
+
+#include <e32base.h>
+#include <ptidefs.h>
+
+class CSplitItutUiStateBase;
+class MSplitItutLayoutContext;
+class CSplitItutDataMgr;
+class CFepUiBaseCtrl;
+class CSplitItutWindowManager;
+
+/**
+ * class CSplitItutUiMgrBase.
+ *
+ * Split itut ui manager base class.
+ *
+ * @lib peninputsplititut.lib
+ * @since S60 v5.0
+ */
+class CSplitItutUiMgrBase : public CBase
+ {
+public:
+ enum TUiState
+ {
+ EStateNull,
+ // chinese ui state
+ EStateStandby,
+ EStateComposition,
+ EStatePredict,
+ // western ui state
+ EStateWesternStandby
+ };
+
+public:
+ /**
+ * standard c++ destructor.
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ virtual ~CSplitItutUiMgrBase();
+
+ /**
+ * handle command
+ *
+ * @since S60 v5.0
+ * @param aCmd
+ * @param aData
+ * @return TBool
+ */
+ virtual TInt HandleCommandL(TInt aCmd, TUint8* aData);
+
+ /**
+ * handle control event
+ *
+ * @since S60 v5.0
+ * @param aEventType
+ * @param aCtrl
+ * @param aEventData
+ * @return TBool
+ */
+ virtual TBool HandleCtrlEventL( TInt aEventType,
+ CFepUiBaseCtrl* aCtrl,
+ const TDesC& aEventData);
+
+ /**
+ * set current state
+ *
+ * @since S60 v5.0
+ * @param aNewState
+ * @return None
+ */
+ virtual void SetCurrentStateL(TUiState aNewState) = 0;
+
+ /**
+ * active ui
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ virtual void ActivateUiL() = 0;
+
+ /**
+ * deactive ui
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ virtual void DeactivateUI() = 0;
+
+ /**
+ * handle long press number key
+ *
+ * @since S60 v5.0
+ * @param aKey
+ * @return None
+ */
+ virtual void HandleLongPressNumberKeyL(TPtiKey aKey);
+
+ /**
+ * Set number long press valit
+ *
+ * @since S60 v5.0
+ * @param aValid
+ * @return None
+ */
+ inline void SetNumLongPressValid(TBool aValid);
+
+ /**
+ * get number long press valit
+ *
+ * @since S60 v5.0
+ * @return TBool
+ */
+ inline TBool NumLongPressValid();
+
+ /**
+ * get layout context
+ *
+ * @since S60 v5.0
+ * @return layout context
+ */
+ inline MSplitItutLayoutContext* LayoutContext();
+
+ /**
+ * get data mgr
+ *
+ * @since S60 v5.0
+ * @return data mgr
+ */
+ inline CSplitItutDataMgr* DataMgr();
+
+ /**
+ * get current state
+ *
+ * @since S60 v5.0
+ * @return current state
+ */
+ inline CSplitItutUiStateBase* CurrentState();
+
+ /**
+ * is control consumed
+ *
+ * @since S60 v5.0
+ * @return TBool
+ */
+ inline TBool ClrConsumed();
+
+ /**
+ * set control consumed
+ *
+ * @since S60 v5.0
+ * @param aConsume
+ * @return None
+ */
+ inline void SetClrConsume(TBool aConsume);
+
+ /**
+ * get ui manager
+ *
+ * @since S60 v5.0
+ * @return UI mgr
+ */
+ inline CSplitItutWindowManager* UiManager();
+
+protected:
+ /**
+ * C++ constructor
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ CSplitItutUiMgrBase(MSplitItutLayoutContext* aContext,
+ CSplitItutDataMgr* aDataMgr,
+ CSplitItutWindowManager* aUiManager);
+
+ /**
+ * Symbian second-phase constructor
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ virtual void ConstructL();
+
+protected:
+
+ /**
+ * The layout context
+ * not own
+ */
+ MSplitItutLayoutContext* iLayoutContext;
+
+ /**
+ * The data mgr
+ * not own
+ */
+ CSplitItutDataMgr* iDataMgr;
+
+ /**
+ * current state
+ * not own
+ */
+ CSplitItutUiStateBase* iCurrentState;
+
+ /**
+ * number long press valid
+ */
+ TBool iNumLongPressValid;
+
+ /**
+ * control consume
+ */
+ TBool iClrConsume;
+
+ /**
+ * UI mgr
+ * not own
+ */
+ CSplitItutWindowManager* iUiMgr;
+ };
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::LayoutContext
+// ---------------------------------------------------------------------------
+//
+inline MSplitItutLayoutContext* CSplitItutUiMgrBase::LayoutContext()
+ {
+ return iLayoutContext;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::DataMgr
+// ---------------------------------------------------------------------------
+//
+inline CSplitItutDataMgr* CSplitItutUiMgrBase::DataMgr()
+ {
+ return iDataMgr;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::CurrentState
+// ---------------------------------------------------------------------------
+//
+inline CSplitItutUiStateBase* CSplitItutUiMgrBase::CurrentState()
+ {
+ return iCurrentState;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::SetNumLongPressValid
+// ---------------------------------------------------------------------------
+//
+inline void CSplitItutUiMgrBase::SetNumLongPressValid(TBool aValid)
+ {
+ iNumLongPressValid = aValid;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::NumLongPressValid
+// ---------------------------------------------------------------------------
+//
+inline TBool CSplitItutUiMgrBase::NumLongPressValid()
+ {
+ return iNumLongPressValid;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::ClrConsumed
+// ---------------------------------------------------------------------------
+//
+inline TBool CSplitItutUiMgrBase::ClrConsumed()
+ {
+ return iClrConsume;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::SetClrConsume
+// ---------------------------------------------------------------------------
+//
+inline void CSplitItutUiMgrBase::SetClrConsume(TBool aConsume)
+ {
+ iClrConsume = aConsume;
+ }
+
+// ---------------------------------------------------------------------------
+// CSplitItutUiMgrBase::UiManager
+// ---------------------------------------------------------------------------
+//
+inline CSplitItutWindowManager* CSplitItutUiMgrBase::UiManager()
+ {
+ return iUiMgr;
+ }
+
+#endif // C_SPLITITUTUIMGRBASE_H
\ No newline at end of file