--- 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 );
- }
- }
- }