Rework addition of Symbian splash screen to reduce the source impact (uses SVG from Bug 2414)
Notes: by using the OPTION SOURCEDIR parameter in the mifconv extension instructions, I can
arrange to use the same source file name in sfimage, without having to export over the original
Nokia file. This means that the name inside splashscreen.mbg is the same, which removes the need
for the conditional compilation in SplashScreen.cpp, and gets rid of sf_splashscreen.mmp.
/*
* Copyright (c) 2006 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: Base container for multiselection containers
*
*/
#ifndef GSSENBASECONTAINER_H
#define GSSENBASECONTAINER_H
// INCLUDES
#include <gsbasecontainer.h>
// FORWARD DECLARATIONS
class CGSListBoxItemTextArray;
class CGSSensorPluginModel;
class MGSSensorMskObserver;
// CLASS DECLARATION
/**
* CGSSenBaseContainer container class
*
* base container class for multiselection options settings view
*
* @lib gssensorplugin.lib
* @since S60 5.0
*/
class CGSSenBaseContainer : public CGSBaseContainer
{
public:
/**
* Destructor.
*/
virtual ~CGSSenBaseContainer();
/**
* Default constructor
*/
CGSSenBaseContainer( MGSSensorMskObserver& aMskObserver );
/**
* Retrieves the currently selected listbox feature id
*
* @return TInt Feature id.
*/
TInt CurrentFeatureId() const;
/**
* Updates selected items checkbox icon
*
* @param aSelectedItem Checkbox to update
*/
void UpdateCheckboxIconL( TInt aSelectedItem );
/**
* Stores currently made selections to Cenrep
*/
void StoreSelectionsL();
/**
* Changes selection status bit in bitmask.
*
* @param aPosition Position of wanted selection in bitmask
*/
void ChangeSelectionStatus( TInt aPosition );
/**
* Checks that selections are synchronized with the ones in the listbox
*/
void CheckSelections();
/**
* Returns selected option value from selections bitmask
*
* @param aPosition Position of wanted selection in bitmask
* @return 1: ON
* 0: OFF
*/
TInt SelectionStatus( TInt aPosition );
protected:
/**
* Constructs listbox and initializes its sub-folders
*
* @param aResLbxId resource ID of the listbox item array
*/
virtual void ConstructListBoxL( TInt aResLbxId ) = 0;
/**
* Update listbox icons according to previously set values
*/
virtual void UpdateCheckboxIconsL() = 0;
/**
* Returns child classes interaction id
*
* @return TInt ID of the childs interaction from gssensorplugin.hrh file
*/
virtual TInt InteractionId() = 0;
/**
* Constructs listbox and initializes its sub-folders
*
* @param aResLbxId resource ID of the listbox item array
* @param aResMsId resource ID of the multiselection list
* @param aInteraction ID of the interaction to get correct
* selections from CenRep
*/
void ConstructListBoxL( TInt aResLbxId, TInt aResMsId );
/**
* Adds checkbox icons to multiselection list
*/
void AddCheckboxIconsL();
/**
* Handles changes in MSK label between item changes in listbox
*/
TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
protected: // Data
/**
* Contains bitmask of selections
*/
TUint32 iSelections;
/**
* Selection items from resource file
*/
CDesCArrayFlat* iSelectionItems;
/**
* GS listbox model
*/
CGSListBoxItemTextArray* iListboxItemArray;
/**
* Plugin model, does not own, so do not delete this
*/
CGSSensorPluginModel* iModel;
/**
* Pointer to Middle soft key observer, not owned
*/
MGSSensorMskObserver& iMskObserver;
};
#endif // GSSENBASECONTAINER_H