--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/systemsettings/gssensorplugin/inc/gssenbasecontainer.h Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,166 @@
+/*
+* 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