diff -r 8b2d6d0384b0 -r d9aefe59d544 camerauis/cameraapp/generic/common/src/CamCaptureSetupListBoxModel.cpp --- a/camerauis/cameraapp/generic/common/src/CamCaptureSetupListBoxModel.cpp Tue Feb 02 00:01:39 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,331 +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: A model class for CCamCaptureSetupListBox* -*/ - - -// INCLUDE FILES -#include -#include - -#ifndef CAMERAAPP_PLUGIN_BUILD - #include - #include -#else - #include -#endif //CAMERAAPP_PLUGIN_BUILD - -#include "CamProductSpecificSettings.hrh" -#include "CamUtility.h" -#include "camlayoututils.h" -#include "CamCaptureSetupListItem.h" -#include "CamCaptureSetupListBoxModel.h" -#include "CameraUiConfigManager.h" - -#include - - -// ================= MEMBER FUNCTIONS ======================= - -// ----------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel::NewLC -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CCamCaptureSetupListBoxModel* CCamCaptureSetupListBoxModel::NewLC( -#ifndef CAMERAAPP_PLUGIN_BUILD - CCamAppController& aController, -#else // location setting will be moved to the plugin - MCamAppController& aController, -#endif - TInt aArrayResourceId, - TInt aSettingItem, - TBool aShootingModeListBox, - TBool aLocationSettingListBox, - TRect aListBoxRect - ) - { - CCamCaptureSetupListBoxModel* self = new( ELeave ) CCamCaptureSetupListBoxModel( aController, - aShootingModeListBox, - aLocationSettingListBox - ); - - CleanupStack::PushL( self ); - self->ConstructL( aArrayResourceId, aSettingItem, aListBoxRect ); - return self; - } - -// --------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel destructor -// -// --------------------------------------------------------------------------- -// -CCamCaptureSetupListBoxModel::~CCamCaptureSetupListBoxModel() - { - PRINT( _L("Camera => ~CCamCaptureSetupListBoxModel") ); - iItemArray.ResetAndDestroy(); - iItemArray.Close(); - PRINT( _L("Camera <= ~CCamCaptureSetupListBoxModel") ); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::NumberOfItems -// Returns number of items that are in array -// --------------------------------------------------------- -// -TInt CCamCaptureSetupListBoxModel::NumberOfItems() const - { - return iItemArray.Count(); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::MatchableTextArray -// Returns null, no support for incremental matching -// --------------------------------------------------------- -// -const MDesCArray* CCamCaptureSetupListBoxModel::MatchableTextArray() const - { - return NULL; - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ItemText -// Returns a pointer to the item text -// --------------------------------------------------------- -// -TPtrC CCamCaptureSetupListBoxModel::ItemText( TInt aItemIndex ) const - { - return iItemArray[ aItemIndex ]->ItemText(); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ItemValue -// Returns the value id of the specified item -// --------------------------------------------------------- -// -TInt CCamCaptureSetupListBoxModel::ItemValue( TInt aItemIndex ) const - { - return iItemArray[aItemIndex]->ItemValue(); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::Bitmap -// Returns a pointer to the bitmap of the specified item -// --------------------------------------------------------- -// -CFbsBitmap* CCamCaptureSetupListBoxModel::Bitmap( TInt aItemIndex ) const - { - return iItemArray[ aItemIndex ]->Bitmap(); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::BitmapMask -// Returns a pointer to the mask of the specified item -// --------------------------------------------------------- -// -CFbsBitmap* CCamCaptureSetupListBoxModel::BitmapMask( TInt aItemIndex ) const - { - return iItemArray[ aItemIndex ]->BitmapMask(); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ItemIndexFromValueId -// Returns the index of the item with a matching value id -// --------------------------------------------------------- -// -TInt CCamCaptureSetupListBoxModel::ValueIndex( TInt aValueId ) const - { - return iItemArray.Find( aValueId, CCamInfoListboxItemBase::EqualIds ); - } - -// --------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ShootingModeListBox -// Returns whether the model represents a shooting mode listbox -// --------------------------------------------------------- -// -TBool CCamCaptureSetupListBoxModel::ShootingModeListBox() const - { - return iShootingModeListBox; - } - - -TAknLayoutRect CCamCaptureSetupListBoxModel::IconLayoutData() const - { - return iIconLayoutData; - } -TAknLayoutRect CCamCaptureSetupListBoxModel::RadioButtonLayoutData() const - { - return iRadioButtonLayoutData; - } -TAknLayoutText CCamCaptureSetupListBoxModel::TextLayoutData() const - { - return iTextLayoutData; - } -TAknLayoutRect CCamCaptureSetupListBoxModel::ListItemLayoutData() const - { - return iListItemLayoutData; - } -// --------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel::CCamCaptureSetupListBoxModel -// C++ constructor -// --------------------------------------------------------------------------- -// - -CCamCaptureSetupListBoxModel::CCamCaptureSetupListBoxModel( -#ifndef CAMERAAPP_PLUGIN_BUILD - CCamAppController& aController, -#else // location setting will be moved to the plugin - MCamAppController& aController, -#endif - TBool aShootingModeListBox, - TBool aLocationSettingListBox - ) -: iController( aController ), iShootingModeListBox ( aShootingModeListBox ), - iLocationSettingListBox ( aLocationSettingListBox ) - { - } - -// --------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ConstructL -// 2nd phase construction -// --------------------------------------------------------------------------- -// -void CCamCaptureSetupListBoxModel::ConstructL( TInt aArrayResourceId, TInt aSettingItem, TRect aListBoxRect ) - { - ReadLayoutData( aListBoxRect ); - - // create array from resource - TResourceReader reader; - CEikonEnv::Static()->CreateResourceReaderLC( reader, aArrayResourceId ); - const TInt count = reader.ReadInt16(); - -#ifndef CAMERAAPP_PLUGIN_BUILD - iSupportedFlashModes = iController.SupportedFlashModes(); - iSupportedWBModes = iController.SupportedWBModes(); -#endif //CAMERAAPP_PLUGIN_BUILD - - // for each entry in the resource array, create a new list item - for ( TInt i = 0; i < count; i++ ) - { - CCamCaptureSetupListItem* listItem = - CCamCaptureSetupListItem::NewLC( reader, iIconLayoutData ); - - if( SettingValueSupportedL( listItem, aSettingItem ) ) - { - iItemArray.AppendL( listItem ); - } - - CleanupStack::Pop( listItem ); - } - CleanupStack::PopAndDestroy(); // reader - } - -// --------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel::ReadLayoutData -// Read in layout data from resource -// --------------------------------------------------------------------------- -// -void CCamCaptureSetupListBoxModel::ReadLayoutData( TRect aListBoxRect ) - { - if ( CamUtility::IsNhdDevice() ) - { - iIconLayoutData.LayoutRect( aListBoxRect, - AknLayoutScalable_Apps::cset_list_set_pane_g3( 0 ) ); - iRadioButtonLayoutData.LayoutRect( aListBoxRect, - AknLayoutScalable_Apps::cset_list_set_pane_g1( 0 ) ); - iListItemLayoutData.LayoutRect( aListBoxRect, - AknLayoutScalable_Apps::cset_list_set_pane( 0 ) ); - } - else - { - TRect mnPane; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mnPane ); - TAknLayoutRect listLayoutRect; - listLayoutRect.LayoutRect( mnPane, - AknLayoutScalable_Apps::main_cset6_listscroll_pane( 4 ) ); - iIconLayoutData.LayoutRect( listLayoutRect.Rect(), - AknLayoutScalable_Apps::cset_list_set_pane_g3_copy1( 0 ) ); - iRadioButtonLayoutData.LayoutRect( listLayoutRect.Rect(), - AknLayoutScalable_Apps::cset_list_set_pane_g1_copy1( 0 ) ); - TAknWindowLineLayout l = AknLayoutScalable_Apps::cset_list_set_pane_copy1( 0 ); - if( !l.iH ) - { - l.iH = 73; // TODO Temporarily defined! - } - iListItemLayoutData.LayoutRect( listLayoutRect.Rect(), l ); - } - } - -// --------------------------------------------------------------------------- -// CCamCaptureSetupListBoxModel::SettingValueSupportedL -// --------------------------------------------------------------------------- -// -TBool -CCamCaptureSetupListBoxModel::SettingValueSupportedL( CCamInfoListboxItemBase* aItem, TInt aSettingItem ) - { - TBool supported = EFalse; - TBool checkConfiguredItems = ETrue; - TInt val = aItem->ItemValue(); - - CCameraUiConfigManager* dynamicSettings = iController.UiConfigManagerPtr(); - RArray supportedItems; - CleanupClosePushL( supportedItems ); - supportedItems.Reset(); - - // just for flash to start with - if( aSettingItem == ECamSettingItemDynamicPhotoFlash ) - { -#ifndef CAMERAAPP_PLUGIN_BUILD - if ( dynamicSettings ) - { - dynamicSettings->SupportedFlashModeSettingsL( supportedItems ); - } -#endif //CAMERAAPP_PLUGIN_BUILD - } - else if( ECamSettingItemDynamicPhotoWhiteBalance == aSettingItem || - ECamSettingItemDynamicVideoWhiteBalance == aSettingItem ) - { -#ifndef CAMERAAPP_PLUGIN_BUILD - if ( dynamicSettings ) - { - dynamicSettings->SupportedWhiteBalanceSettingsL( supportedItems ); - } -#endif //CAMERAAPP_PLUGIN_BUILD - } - else if ( ECamSettingItemDynamicPhotoColourFilter == aSettingItem || - ECamSettingItemDynamicVideoColourFilter == aSettingItem ) - { -#ifndef CAMERAAPP_PLUGIN_BUILD - if ( dynamicSettings ) - { - dynamicSettings->SupportedColorToneSettingsL( supportedItems ); - } -#endif //CAMERAAPP_PLUGIN_BUILD - } - else - { - checkConfiguredItems = EFalse; - supported = ETrue; - } - - if ( checkConfiguredItems && supportedItems.Count() > 0 ) - { - supported = KErrNotFound != supportedItems.Find( val ); - } - - CleanupStack::PopAndDestroy( &supportedItems ); - return supported; - } -// End of File -