diff -r cad71a31b7fc -r e36f3802f733 voiceui/vcommand/inc/vcsettingscontainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/voiceui/vcommand/inc/vcsettingscontainer.h Wed Sep 01 12:29:17 2010 +0100 @@ -0,0 +1,203 @@ +/* +* 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: Settings container +* +*/ + + +#ifndef CVCSETTINGSCONTAINER_H +#define CVCSETTINGSCONTAINER_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CEikTextListBox; +class CVCSettingsView; +class CVCSettingsList; +CEikButtonGroupContainer; + +// CLASS DECLARATION + +/** +* Container for the settings view +* @since 2.8 +*/ +class CVCSettingsContainer : public CCoeControl, + public MCoeControlObserver, + public MEikListBoxObserver + { + public: // Constructors and destructor + + /** + * C++ constructor. + */ + CVCSettingsContainer( CEikButtonGroupContainer& aCbaGroup ); + + /** + * Symbian OS default constructor. + * @param aRect Frame rectangle for container. + */ + void ConstructL(const TRect& aRect); + + /** + * Destructor. + */ + virtual ~CVCSettingsContainer(); + + public: // Functions from base classes + + /** + * From CCoeControl + * Gives the help context to be displayed + * @param aContext help context related to current view + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + + /** + * From MEikListBoxObserver + * @see MEikListBoxObserver for more information + */ + void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); + + public: // New functions + + /** + * Open setting page for currently selected setting item. + * @param aCalledFromMenu True if editing command was chosen from the + options menu + * @return void + */ + void EditCurrentL( TBool aCalledFromMenu ); + + /** + * Shows reset confimation dialog + * @return void + */ + void ResetL(); + + /** + * Save all settings. + * @return void + */ + void SaveSettingsL(); + + /** + * Returns current listbox index + * @return void + */ + TInt CurrentItemIndex() const; + + /** + * Returns the size of the list box. + * + */ + TInt ItemListSize() const; + + /** + * Returns the setting item identifier for the current setting item. + * @return TInt The setting item identifier + */ + TInt CurrentItemIdentifier() const; + + /** + * Sets the middle softkey label. NOTE: this should be handled in the + * view class in a normal case where container would call this function + * after focused item has changed. But since there are two view classes + * (normal and plugin) that both use this container class, we can + * only have a pointer to the views' super class. + */ + void SetMiddleSoftkeyLabelL() const; + + + protected: // Functions from base classes + + /** + * From CCoeControl return the number of controls owned + * @return TInt number of controls + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl returns a control + * @param aIndex index of a control + * @return CCoeControl* pointer on a control + */ + CCoeControl* ComponentControl(TInt aIndex) const; + + /** + * From CCoeControl event handling section + * @param aKeyEvent the key event + * @param aType the type of the event + * @return TKeyResponse key event was used by this control or not + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * From CCoeControl + * @see CCoeControl for more information + */ + void FocusChanged(TDrawNow aDrawNow); + + /** + * From CCoeControl + * @see CCoeControl for more information + */ + void SizeChanged(); + + /** + * From CCoeControl + * @see CCoeControl for more information + */ + void HandleResourceChange(TInt aType); + + /** + * From MCoeControlObserver + * @see MCoeControlObserver for more information + */ + void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); + + private: + + /** + * returns title resource id + * @return TInt + */ + TInt TitleResourceId() const; + + /** + * Sets the middle softkey label. + * @param aResourceId Label text from resource file + * @param aCommandId Menu c + */ + void DoSetMiddleSoftKeyLabelL( const TInt aResourceId, + const TInt aCommandId ) const; + + /** + * Remove MSK command mappings. + */ + void RemoveCommandFromMSK() const; + + private: //data + + CVCSettingsList* iSettingsList; + CEikButtonGroupContainer& iCbaGroup; + + }; + +#endif // CVCSETTINGSCONTAINER_H + +// End of File