javauis/lcdui_akn/lcdui/src/CMIDTextEditor.cpp
branchRCL_3
changeset 21 4376525cdefb
parent 18 9ac0a0a7da70
child 23 e5618cc85d74
--- a/javauis/lcdui_akn/lcdui/src/CMIDTextEditor.cpp	Wed Jun 09 09:34:07 2010 +0300
+++ b/javauis/lcdui_akn/lcdui/src/CMIDTextEditor.cpp	Mon Jun 21 15:32:50 2010 +0300
@@ -29,6 +29,7 @@
 #include "CMIDEdwinUtils.h"
 #include "CMIDUtils.h"
 #include "CMIDFont.h"
+#include "CMIDDisplayable.h"
 
 // Default background color.
 const TInt KDefColorBgRed       = 0;
@@ -302,7 +303,11 @@
         iTextEdwin->SetContainerWindowL(control);
         iTextEdwin->SetTopParent(&control);
         // Initialize the editor window.
-        iTextEdwin->InitializeL();
+        CMIDDisplayable* displayable = NULL;
+#ifdef RD_JAVA_S60_RELEASE_9_2
+        displayable = aComponentContainer->GetDisplayable();
+#endif // RD_JAVA_S60_RELEASE_9_2
+        iTextEdwin->InitializeL(displayable);
         // Set container window also for the indicator.
         iEditingStateIndicator->SetContainerWindowL(&control);
 
@@ -607,6 +612,10 @@
         // Remove focus if the text editor is focused.
         iFocusState = EFalse;
 
+#ifdef RD_JAVA_S60_RELEASE_9_2
+        iTextEdwin->FocusLost();
+#endif // RD_JAVA_S60_RELEASE_9_2
+
         // Call SetFocus on edwin
         iTextEdwin->SetFocus(EFalse);
 
@@ -1649,8 +1658,13 @@
 {
     DEBUG("CMIDTextEditor::Dispose +");
 
+#ifdef RD_JAVA_S60_RELEASE_9_2
+    if (iFocusState)
+    {
+        iTextEdwin->CloseVKB();
+    }
+#endif // RD_JAVA_S60_RELEASE_9_2
     delete this;
-
     DEBUG("CMIDTextEditor::Dispose -");
 }
 
@@ -1950,6 +1964,11 @@
         // Update the indicator.
         if (iTextEdwin->IsVisible() && iTextEdwin->IsFocused())
         {
+            if (iComponentContainer &&
+                    iComponentContainer->IsFullScreen())
+            {
+                iEditingStateIndicator->MakeVisible(ETrue);
+            }
             iEditingStateIndicator->Redraw();
         }
         else
@@ -2028,8 +2047,8 @@
     if (aParams.iHeightInRows)
     {
         // Height is specified using rows.
-        iTextEdwin->ConstructL(
-            flags, aParams.iWidth, aParams.iMaxSize, aParams.iHeight);
+        iTextEdwin->ConstructL(flags, aParams.iWidth,
+                               aParams.iMaxSize, aParams.iHeight);
         iRowCountActive = ETrue;
         iRowCount = aParams.iHeight;