textinput/peninputhwrtrui/src/truiinfomessagecontainer.cpp
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
--- a/textinput/peninputhwrtrui/src/truiinfomessagecontainer.cpp	Tue Jul 06 14:38:41 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-/*
-* Copyright (c) 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:  Implement of class CTruiInfoMessageContainer
-*
-*/
-
-
-#include <eikenv.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknsDrawUtils.h>
-#include <trui.rsg>
-#include <eiklabel.h>
-#include <eikon.hrh>
-#include <AknUtils.h>
-#include <aknlayoutscalable_apps.cdl.h>
-#include <layoutmetadata.cdl.h>
-#include <eikedwin.h>
-
-#include "truiinfomessagecontainer.h"
-#include "truiappradiobutton.h"
-#include "truiappui.h"
-#include "truiengine.h"
-#include "truicontainerbase.h"
-
-// Varity of instruct pane both for landscape and portrait
-const TInt KVarityInstructPane = 4;
-
-// Varity of list pane both for landscape and portrait
-const TInt KVarityListPane = 2;
-
-// Varity of symbol option pane both for landscape and portrait
-const TInt KVaritySymbolOptionPane = 2;
-
-// Varity of list symbol option pane both for landscape and portrait
-const TInt KVarityListSymbolOptionPane = 1;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-CTruiInfoMessageContainer::CTruiInfoMessageContainer()
-    {  
-    }
-    
-void CTruiInfoMessageContainer::ConstructL( const TRect& aRect )
-    {    
-    // Initialize control array
-    InitComponentArrayL();
-        
-    // Set parent control or owning window
-    CreateWindowL();       
-
-    // Initialize controls
-    InitializeControlsL();
-
-    iLabelText = iEikonEnv->AllocReadResourceL( R_TRUI_INFOMAESSAGEVIEW_MESSAGE );
-    iEdwin->SetTextL( iLabelText );    
-
-    SetRect( aRect );
-    ActivateL();   
-    
-    iBackGround = CAknsBasicBackgroundControlContext::NewL
-                  ( KAknsIIDQsnBgAreaMain, Rect(), EFalse);
-    iEdwin->SetSkinBackgroundControlContextL( iBackGround );
-    }        
-    
-CTruiInfoMessageContainer* CTruiInfoMessageContainer::NewL( const TRect& aRect )
-    {
-    CTruiInfoMessageContainer* self = CTruiInfoMessageContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-CTruiInfoMessageContainer* CTruiInfoMessageContainer::NewLC( const TRect& aRect )
-    {
-    CTruiInfoMessageContainer* self = new (ELeave) CTruiInfoMessageContainer();
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-    
-CTruiInfoMessageContainer::~CTruiInfoMessageContainer()
-    {
-    delete iBackGround;        
-    delete iLabelText;
-    }
-
-// ---------------------------------------------------------------------------
-// Do something before exit.
-// ---------------------------------------------------------------------------
-// 
-void CTruiInfoMessageContainer::PrepareToExitL()
-    {
-    // Save checkbox setting
-    const RArray<CTruiRadioButton::TRadioButtonStatus>& statusArray = 
-                                          iRadioButtonContainer->StatusArray();
-    TBool isDisplayed = statusArray.Count() && statusArray[0] ? EFalse : ETrue;
-    iEngine->SetDisplayWizard( isDisplayed );
-    if ( statusArray.Count() )
-        {
-        SaveSettingIntoIniFileL( KAlwaysDisplayWizardKey, statusArray[0] );
-        }    
-    }
-    
-// ---------------------------------------------------------------------------
-// Create controls to be displayed in this container.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::InitializeControlsL()
-    {
-    iRadioButtonContainer = CTruiRadioButton::NewL( this, 
-                                               CTruiRadioButton:: ECheckBox );
-    Components().AppendLC( iRadioButtonContainer );
-    CleanupStack::Pop( iRadioButtonContainer );
-    
-    HBufC* radioText1 = iEikonEnv->AllocReadResourceLC
-                             ( R_TRUI_INFOMAESSAGEVIEW_CHECKBOX_TEXT );
-    iRadioButtonContainer->AddItem( radioText1, CTruiRadioButton::ENonSelected );
-    CleanupStack::Pop( radioText1 ); // transfered ownership
-    iRadioButtonContainer->HandleItemAdditionL();
-    
-    iEdwin = new (ELeave) CEikEdwin;
-    iEdwin->ConstructL();
-    iEdwin->SetReadOnly( ETrue );     
-    Components().AppendLC( iEdwin );
-    CleanupStack::Pop( iEdwin );
-    
-    }
-
-// ---------------------------------------------------------------------------
-// Create label and display it in the container.
-// ---------------------------------------------------------------------------
-//
-CEikLabel* CTruiInfoMessageContainer::CreateLabelL( const CCoeControl* aParent )
-    {
-    CEikLabel* aknLabel = new (ELeave) CEikLabel();
-    CleanupStack::PushL( aknLabel );
-    aknLabel->SetContainerWindowL( *aParent );
-    aknLabel->ActivateL();
-    CleanupStack::Pop( aknLabel ); 
-    return aknLabel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Responds to changes to the size and position of the contents of this control.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::SizeChanged()
-    {
-    TRect rect = Rect();
-
-    TAknWindowComponentLayout main_pane_layout = 
-                            AknLayoutScalable_Apps::main_hwr_training_pane();
-    TAknLayoutRect main_pane_layout_rect;
-    main_pane_layout_rect.LayoutRect( rect, main_pane_layout );
-    TRect main_pane_rect = main_pane_layout_rect.Rect();
-
-    // hwr_training_instruct_pane    
-    TAknWindowComponentLayout instruct_pane_layout = 
-               AknLayoutScalable_Apps::hwr_training_instruct_pane( KVarityInstructPane );    
-    TAknLayoutRect instruct_pane_layout_rect;
-    instruct_pane_layout_rect.LayoutRect( main_pane_rect, instruct_pane_layout );
-    iInstructPaneRect = instruct_pane_layout_rect.Rect();
-    
-    // count of text rows    
-    TInt count = AknLayoutScalable_Apps::
-               list_single_hwr_training_instruct_pane_ParamLimits( KVarityListPane )
-               .LastRow() + 1;
-    
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> textLayoutArray;
-    for( TInt i = 0; i < count; i++ )
-        {       
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane
-                                    ( KVarityListPane, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( iInstructPaneRect, 
-                                         each_row_layout );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_instruct_pane_t1();
-    
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD( error, textLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            break;
-            }
-        }       
-    iMultilineLayout = TAknTextComponentLayout::Multiline( textLayoutArray );
-    textLayoutArray.Close();
-
-    // Do layout for edwin
-    AknLayoutUtils::LayoutEdwin( iEdwin, 
-                                 iInstructPaneRect, 
-                                 iMultilineLayout,
-                                 EAknsCIQsnTextColorsCG6 ); 
-
-	// Do layout for radio button
-    // hwr_training_instruct_pane
-    TAknWindowComponentLayout symbol_option_pane = 
-               AknLayoutScalable_Apps::main_hwr_training_symbol_option_pane
-                                      ( KVaritySymbolOptionPane );
-    TAknLayoutRect symbol_option_pane_layout_rect;
-    symbol_option_pane_layout_rect.LayoutRect( main_pane_rect, symbol_option_pane );
-    
-	TAknWindowComponentLayout list_option_pane = 
-               AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane
-                                      ( KVarityListSymbolOptionPane );
-    TAknLayoutRect list_option_pane_layout_rect;
-    list_option_pane_layout_rect.LayoutRect( symbol_option_pane_layout_rect.Rect(), 
-                                             list_option_pane );
-    // Create multiline text for radion button
-    // count of text rows    
-    TInt radionLines = AknLayoutScalable_Apps::
-               list_single_hwr_training_symbol_option_pane_ParamLimits
-               ( KVarityListSymbolOptionPane )
-               .LastRow() + 1;
-    
-    // array contains all text rows in help screen
-    RArray<TAknTextComponentLayout> radionTextLayoutArray;
-    for( TInt i = 0; i < radionLines; i++ )
-        {       
-        // pane area for each row
-        TAknWindowComponentLayout each_row_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane
-                                    ( KVarityListSymbolOptionPane, 0, i );
-        TAknLayoutRect each_row_layout_rect;
-        each_row_layout_rect.LayoutRect( symbol_option_pane_layout_rect.Rect(), 
-                                         each_row_layout );
-        // smaller pane for text itself
-        TAknTextComponentLayout each_row_text_layout =  
-            AknLayoutScalable_Apps::list_single_hwr_training_symbol_option_pane_t1();
-    
-        // composition of two latter componets
-        TAknTextComponentLayout textCompCompositionWiz = 
-            TAknWindowComponentLayout::ComposeText(
-                each_row_layout, each_row_text_layout );
- 
-        TRAPD( error, radionTextLayoutArray.AppendL( textCompCompositionWiz ) );
-        // if error in append function, then just exit the loop      
-        if ( error != KErrNone )
-            {
-            break;
-            }
-        }       
-    TAknMultiLineTextLayout radioMultilineLayout 
-                            = TAknTextComponentLayout::Multiline( radionTextLayoutArray );
-    radionTextLayoutArray.Close();  
-    iRadioButtonContainer->SetMultilineLayout( radioMultilineLayout );
-    iRadioButtonContainer->SetRect( symbol_option_pane_layout_rect.Rect() );
-    
-    if ( iBackGround )
-        {
-        iBackGround->SetRect( Rect() );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// Draw.
-// ---------------------------------------------------------------------------
-//    
-void CTruiInfoMessageContainer::Draw( const TRect& /*aRect*/ ) const
-   {
-    // Get the standard graphics context
-    CWindowGc& gc = SystemGc();
-    // Gets the control's extent
-    TRect rect( Rect());
-    // Clears the screen
-    gc.Clear( rect );
-
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();  
-    if ( AknsDrawUtils::HasBitmapBackground( skin, iBackGround ) ) 
-        {
-        AknsDrawUtils::Background( skin, iBackGround, gc, rect );
-        }   
-    }
-// ---------------------------------------------------------------------------
-// From class CCoeControl.
-// Handles a change to the control's resources.
-// ---------------------------------------------------------------------------
-//
-void CTruiInfoMessageContainer::HandleResourceChange( TInt aType )
-    {    
-    CTruiContainerBase::HandleResourceChange( aType );
-    if ( aType == KAknsMessageSkinChange )
-        {
-        if ( iEdwin )
-            {
-            // Do layout for edwin
-            AknLayoutUtils::LayoutEdwin( iEdwin, 
-                                         iInstructPaneRect, 
-                                         iMultilineLayout,
-                                         EAknsCIQsnTextColorsCG6 );
-            }
-        }
-    }