--- 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 <barsread.h>
-#include <eikenv.h>
-
-#ifndef CAMERAAPP_PLUGIN_BUILD
- #include <cameraapp.rsg>
- #include <vgacamsettings.rsg>
-#else
- #include <gscamerapluginrsc.rsg>
-#endif //CAMERAAPP_PLUGIN_BUILD
-
-#include "CamProductSpecificSettings.hrh"
-#include "CamUtility.h"
-#include "camlayoututils.h"
-#include "CamCaptureSetupListItem.h"
-#include "CamCaptureSetupListBoxModel.h"
-#include "CameraUiConfigManager.h"
-
-#include <aknlayoutscalable_apps.cdl.h>
-
-
-// ================= 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<TInt> 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
-