textinput/peninputsplitqwerty/src/peninputsplitqwertylayout.cpp
branchRCL_3
changeset 50 5a1685599b76
parent 44 ecbabf52600f
child 56 8152b1f1763a
--- a/textinput/peninputsplitqwerty/src/peninputsplitqwertylayout.cpp	Tue Sep 14 21:59:06 2010 +0300
+++ b/textinput/peninputsplitqwerty/src/peninputsplitqwertylayout.cpp	Wed Sep 15 12:34:44 2010 +0300
@@ -31,6 +31,7 @@
 #include <s32mem.h>
 
 #include <peninputrangebar.h>
+#include <peninputpopupbubble.h>
 
 // User includes
 #include "peninputsplitqwerty.hrh"
@@ -203,6 +204,14 @@
             iITIEnabled = CPeninputDataConverter::AnyToInt( aData );
             }            
             break;
+        case ECmdPenInputFingerMatchIndicator:
+            {
+            if ( iLayoutType == EPluginInputModeFSQ )
+                {
+                TRAP_IGNORE( vkbWindow->UpdateSplitIndiBubbleL( aData ));
+                }
+            }
+            break;            
         default:
             {
             }
@@ -227,6 +236,13 @@
             TRAP_IGNORE( HandleVirtualKeyUpL( aEventType, aCtrl, aEventData ) );
             }
             break;
+        case EEventVirtualKeyDown:
+        	{
+        	HandleVirtualKeyDown();
+        	CPeninputCommonLayoutExt::HandleControlEvent( aEventType, 
+        			aCtrl, aEventData );
+        	break;
+        	}
         default:
             {
             CPeninputCommonLayoutExt::HandleControlEvent( aEventType, 
@@ -243,15 +259,6 @@
 TInt CPeninputSplitQwertyLayout::OnAppEditorTextComing( 
                                       const TFepInputContextFieldData& aData )
     {
-    CPeninputSplitQwertyWindow* 
-        win = static_cast<CPeninputSplitQwertyWindow*>(iLayoutWindow);
-        
-    //Suppress ICF related actions
-    if ( win )
-        {
-        return KErrNone;
-        }
-    
     return CPeninputCommonLayoutExt::OnAppEditorTextComing( aData );
     }
 
@@ -278,10 +285,30 @@
 // Inform UI that application infomation changed
 // ---------------------------------------------------------------------------
 //
-void CPeninputSplitQwertyLayout::HandleAppInfoChange( const TDesC& /*aInfo*/, 
-                                                      TPeninputAppInfo /*aType*/ )
+void CPeninputSplitQwertyLayout::HandleAppInfoChange( const TDesC& aInfo, 
+                                                      TPeninputAppInfo aType )
     {
-    //Suppress ICF related actions
+    if ( LayoutWindow() )
+        {
+        CPopupBubbleCtrl* splitIndibubble = static_cast<CPopupBubbleCtrl*> 
+                                    (LayoutWindow()->Control(EPeninputWindowCtrlIdSplitIndiBubble)) ;         
+
+        if ( splitIndibubble && ( aType == EAppIndicatorMsg ) && (iLayoutType == EPluginInputModeFSQ) )
+            {
+            CPeninputSplitQwertyWindow* window = static_cast<CPeninputSplitQwertyWindow*>(iLayoutWindow);           
+            if ( aInfo.Length() > 0 && !iInEditWordQueryDlg)
+                {
+                TRAP_IGNORE(splitIndibubble->SetTextL(aInfo));
+                window->SetSplitIndiBubbleSizeWithText();                
+                }
+            else
+                {
+                TRAP_IGNORE(splitIndibubble->SetTextL(KNullDesC));
+                window->SetSplitIndiBubbleSizeWithoutText();                 
+                }
+            splitIndibubble->Draw();           
+            }
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -425,4 +452,19 @@
         }
     }
 
+// ---------------------------------------------------------------------------
+// Handle virtual key down event
+// ---------------------------------------------------------------------------
+//
+void CPeninputSplitQwertyLayout::HandleVirtualKeyDown()
+	{
+	CPeninputSplitQwertyWindow* window = 
+			static_cast<CPeninputSplitQwertyWindow*>( iLayoutWindow );
+	
+	if ( window )
+		{
+		window->HandleVirtualKeyDownEvent();
+		}
+	}
+
 // End Of File