fep/aknfep/src/aknfepuispellcontainer.cpp
changeset 0 eb1f2e154e89
child 5 a47de9135b21
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/src/aknfepuispellcontainer.cpp	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,265 @@
+/*
+* Copyright (c)  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:            Provides the CAknFepUiSpellContainer methods.
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+// INCLUDE FILES
+#include <eikgted.h>                  // for CEikGlobalTextEditor
+#include <eiktxlbm.h>                 // for CTextListBoxModel
+#include <eikclbd.h>                  // for CColumnListBoxData
+#include <eikbtgpc.h>                 // for CEikButtonGroupContainer
+#include <barsread.h>                 // for TResourceReader
+#include <eikclb.h>                   // for CEikColumnListBox
+#include <aknnotewrappers.h>          // for CAknInformationNote
+#include <appapaclayout.cdl.h>        // for Layout stuff
+#include <StringLoader.h>
+#include <aknlayoutscalable_apps.cdl.h>
+#include <layoutmetadata.cdl.h>
+
+#include "aknfepuispellcontainer.h"            
+#include "aknfepuispellinputpane.h"
+
+// CONSTANTS
+const TInt KNumberOfContainerControl = 1;
+
+// Enumarations
+enum TControls
+    {
+    EInputPane
+    };
+
+// ================= MEMBER FUNCTIONS ======================
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::CAknFepUiSpellContainer
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+CAknFepUiSpellContainer::CAknFepUiSpellContainer()
+:iInputPane( NULL )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::InputPane
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+CAknFepUiSpellInputPane* CAknFepUiSpellContainer::InputPane()
+    {
+    return iInputPane;
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::SetInputWinObserver
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void CAknFepUiSpellContainer::SetInputWinObserver( MEikEdwinObserver* aObserver )
+    {
+    iInputPane->SetInputWinObserver(aObserver);
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::ConstructL
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void CAknFepUiSpellContainer::ConstructL(const TInt aEditorFlag, 
+    const TInt aEditorCase, const TInt aEditorSCTResID)
+    {  
+    CreateWindowL();
+
+    iInputPane = CAknFepUiSpellInputPane::NewL( this, aEditorFlag, aEditorCase,aEditorSCTResID);
+    
+    iInputPane->SetMopParent(this);
+    
+    iInputPane->SetFocus( ETrue );
+    SetContainerRect();
+    
+    iEikonEnv->EikAppUi()->AddToStackL(this,ECoeStackPriorityDialog);    
+    ActivateL();
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::NewL
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+CAknFepUiSpellContainer* CAknFepUiSpellContainer::NewL(const TInt aEditorFlag, 
+    const TInt aEditorCase, const TInt aEditorSCTResID)
+    {
+    CAknFepUiSpellContainer* self = new ( ELeave ) CAknFepUiSpellContainer();
+    CleanupStack::PushL( self );
+    
+    self->SetMopParent(CEikonEnv::Static()->EikAppUi());
+    self->ConstructL(aEditorFlag, aEditorCase, aEditorSCTResID);
+
+    CleanupStack::Pop();
+    
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::~CAknFepUiSpellContainer
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+CAknFepUiSpellContainer::~CAknFepUiSpellContainer()
+    {
+    iEikonEnv->EikAppUi()->RemoveFromStack(this);
+    
+    delete iInputPane;
+    iInputPane = NULL;
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::CountComponentControls
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+TInt CAknFepUiSpellContainer::CountComponentControls() const
+    {
+    return KNumberOfContainerControl; 
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::ComponentControl
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+CCoeControl* CAknFepUiSpellContainer::ComponentControl( TInt aIndex ) const
+    {
+    switch ( aIndex )
+        {
+        case EInputPane:
+            {
+            return iInputPane;
+            }
+        default:
+            {
+            return NULL;
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::Draw
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void CAknFepUiSpellContainer::Draw( const TRect& /*aRect*/ ) const
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::InputCapabilities
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+TCoeInputCapabilities CAknFepUiSpellContainer::InputCapabilities() const
+    {
+    if ( iInputPane && iInputPane->IsFocused())
+        {
+        return iInputPane->InputCapabilities();
+        }
+
+    return ENone;
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::OfferKeyEventL
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+TKeyResponse CAknFepUiSpellContainer::OfferKeyEventL( 
+            const TKeyEvent& aKeyEvent, TEventCode aType )
+    {
+    if ( iInputPane && iInputPane->IsFocused())
+        {
+        return iInputPane->OfferKeyEventL( aKeyEvent, aType );
+        }
+    
+    return EKeyWasNotConsumed;
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::SizeChanged
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void CAknFepUiSpellContainer::SizeChanged()
+    {  
+    iInputPane->SetRect(Rect());
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::SetContainerRect
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void CAknFepUiSpellContainer::FocusChanged(TDrawNow aDrawNow)
+    {
+    TBool bFocused = IsFocused() ? ETrue : EFalse;
+    
+    if ( ComponentControl( 0 ) )
+        {
+        ComponentControl( 0 )->SetFocus( bFocused, aDrawNow );
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CAknFepUiSpellContainer::SetContainerRect
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+// 
+void  CAknFepUiSpellContainer::SetContainerRect()
+    {
+    TAknWindowLineLayout appWnd = AknLayoutScalable_Apps::application_window().LayoutLine();
+    TAknWindowLineLayout mainPane;
+    if ( Layout_Meta_Data::IsLandscapeOrientation())
+        {
+        mainPane = AknLayoutScalable_Apps::main_pane(4).LayoutLine();	
+        }
+    else
+        {
+        mainPane = AknLayoutScalable_Apps::main_pane(0).LayoutLine();		
+        }
+     
+    TAknLayoutRect mainPaneRect;
+    mainPaneRect.LayoutRect(appWnd.Rect(), mainPane);
+
+    mainPaneRect.Rect();
+    
+    TInt ay = mainPaneRect.Rect().iTl.iY + 
+              ((mainPaneRect.Rect().iBr.iY - mainPaneRect.Rect().iTl.iY) / 5)*4;
+    
+    TRect containerRect(0, ay, mainPaneRect.Rect().iBr.iX, mainPaneRect.Rect().iBr.iY);
+    TRect tempRect = TRect(0,0,1,1);
+    SetRect(tempRect);
+    }
+    
+// End of File