--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/locsuplsettingsui/inc/locsuplsessioncontainer.h Tue Feb 02 01:06:48 2010 +0200
@@ -0,0 +1,278 @@
+/*
+* Copyright (c) 2008 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: SUPL session UI View's container
+*
+*/
+
+
+#ifndef C_LOCSUPLSESSIONCONTAINER_H
+#define C_LOCSUPLSESSIONCONTAINER_H
+
+// System Includes
+#include <e32base.h>
+#include <coecntrl.h>
+#include <eiklbo.h>
+
+
+// Forward Declarations
+class CLocSUPLSessionLBModel;
+class CLocSUPLSettingsUiEngine;
+class CAknSingleGraphicStyleListBox;
+class CAknIconArray;
+class CLocSUPLSessionView;
+
+// Class Declarations
+/**
+ * Container for the SUPL session UI View.
+ *
+ * Contains the Listbox control that is used to display the Active SUPL sessions
+ *
+ * @lib locsuplsettings.lib
+ * @since S60 v3.1
+ */
+class CLocSUPLSessionContainer : public CCoeControl,
+ public MEikListBoxObserver
+ {
+ public:
+ /**
+ * Static Two phase constructor that instantiates the CLocSUPLSessionContainer
+ *
+ * @param aRect Client rectangle
+ * @param aEngine Reference to the SUPL Settings
+ * engine
+ * @param CLocSUPLSessionView Pointer to the current view
+ * @return CLocSUPLSessionContainer* Reference to the object created
+ */
+ static CLocSUPLSessionContainer* NewL(
+ const TRect& aRect,
+ CLocSUPLSettingsUiEngine& aEngine,
+ CLocSUPLSessionView* aView );
+
+ /**
+ * Static Two phase constructor that instantiates the CLocSUPLSessionContainer
+ * Leaves the object on the Cleanup stack
+ *
+ * @param aRect Client rectangle
+ * @param aEngine Reference to the SUPL Settings
+ * engine
+ * @param CLocSUPLSessionView Pointer to the current view
+ * @return CLocSUPLSessionContainer* Reference to the object created
+ */
+ static CLocSUPLSessionContainer* NewLC(
+ const TRect& aRect,
+ CLocSUPLSettingsUiEngine& aEngine,
+ CLocSUPLSessionView* aView );
+
+ /**
+ * Destructor
+ */
+ ~CLocSUPLSessionContainer();
+
+ /**
+ * Inherited from CCoeControl
+ */
+ void HandleResourceChange( TInt aType );
+
+ /**
+ * Returns the help context
+ *
+ * @param aContext The help context that has to be determined
+ */
+ void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+ /**
+ * From CoeControl
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * From CCoeControl
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * Inherited from CCoeControl
+ */
+ TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
+ TEventCode aType );
+
+ /**
+ * Inherited from MEikListBoxObserver
+ */
+ void HandleListBoxEventL( CEikListBox* aListBox,
+ TListBoxEvent aEventType );
+
+ public: // New functions
+
+ /**
+ * Refreshes the screen so that the list box reflects the latest contents
+ */
+ void UpdateScreenL();
+
+ /**
+ * Return reference to listbox
+ * @return CEikListBox reference
+ */
+ CEikListBox& ListBoxL();
+
+ /**
+ * Returns the Selected element. The list box model defines the
+ * enumeration that would determine the current element that has been
+ * selected
+ *
+ * @return TInt Index of the item selected
+ */
+ TInt SelectedItemIndex();
+
+ /**
+ * Return current selected server id
+ */
+ TInt64 CurrentSessionId();
+
+ /**
+ * Return current selected/marked server count
+ */
+ TInt SelectedCount();
+
+ /**
+ * Return total no of sessions in the view
+ */
+ TInt SessionCount();
+
+ /**
+ * Returns the session ids array
+ */
+ RArray<TInt64>& SessionIds();
+
+ /**
+ * Sets the current selected item
+ */
+ void SetSelectedIndex();
+
+ /**
+ * Shows context specific options menu
+ */
+ void ShowContextMenuL();
+
+ /**
+ * Return the session name identified by session id
+ */
+ TPtrC CurrentSessionName();
+
+ /**
+ * Sets focus to the specific item in Active services view
+ * @param aIndex index of item to be focussed
+ */
+ void FocusToSessionDetailL( TInt aIndex );
+
+ protected:
+ /**
+ * Handles Focus Change to list
+ */
+ void FocusChanged( TDrawNow aDrawNow );
+
+ /**
+ * From CoeControl,SizeChanged.
+ */
+ void SizeChanged();
+
+ private:
+ /**
+ * Overloaded Constructor
+ */
+ CLocSUPLSessionContainer( CLocSUPLSessionView* aView );
+
+ /**
+ * Second phase of the two phase Construction process
+ */
+ void ConstructL( const TRect& aRect ,
+ CLocSUPLSettingsUiEngine& aEngine );
+
+ /**
+ * Sets the Title text
+ * @param aResourceText Resource to create title
+ */
+ void MakeTitleL( TInt aResourceText );
+
+ /**
+ * Returns the Appui's status pane
+ * @return CEikStatusPane* Statuspane pointer
+ */
+ CEikStatusPane* StatusPane();
+
+ /**
+ * Creates the List box and the Listbox model. Associates the
+ * list box model wit the list box
+ *
+ * @param aEngine Reference to the SUPL Settings engine
+ */
+ void CreateListboxL( CLocSUPLSettingsUiEngine& aEngine );
+
+ /**
+ * Append icon to icon array. CAknIconArray owns icons so it is
+ * easier to it leave safely.
+ * @param aIcons icon array
+ * @param aIconFileWithPath icon file name with path
+ * @param aSkinID skin id of the icon
+ * @param aIconGraphicsIndex picture index
+ * @param aIconGraphicsMaskIndex mask index
+ */
+ void AddIconL( CAknIconArray& aIcons,
+ const TDesC& aIconFileWithPath,
+ TAknsItemID aSkinID,
+ TInt aIconGraphicsIndex,
+ TInt aIconGraphicsMaskIndex );
+
+ /**
+ * Returns the Applications Icon File name with path
+ */
+ TFileName* IconFileNameLC() const;
+
+ private:
+
+ /**
+ * Reference to the Current View
+ */
+ CLocSUPLSessionView* iView;
+
+ /**
+ * Help context
+ */
+ TCoeContextName iContextName;
+
+ /**
+ * Single Graphic Listbox to display the active sessions
+ * Owns
+ */
+ CAknSingleGraphicStyleListBox* iListBox;
+ // CAknSingleNumberStyleListBox* iListBox;
+ /**
+ * List Box model
+ */
+ CLocSUPLSessionLBModel* iListBoxModel;
+
+ /**
+ * Boolean flag to denote whether the pen down occured
+ */
+ TBool iTouchFlag;
+
+ /**
+ * Selected item index value used to set new focus
+ * after delete operation.
+ */
+ TInt iSelectedIndex;
+ };
+
+#endif // C_LOCSUPLSESSIONCONTAINER_H
+