/** 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: Setting item which, when clicked on, opens* to another settings page.**/#ifndef CALENNESTEDSETTINGITEM_H#define CALENNESTEDSETTINGITEM_H// INCLUDES#include <aknsettingitemlist.h>// FORWARD DECLARATIONS// CLASS DECLARATION/** * CCalenNestedSettingItem - a setting item which will open a new settings * page when clicked on. */class CCalenNestedSettingItem : public CAknSettingItem { public: // Constructors and destructor /** * Constructor. Ownership of aSettings and its contents remains with the * caller, however during CompleteConstructionL the array will have * its contents removed. Ownership of the removed objects will be transferred. */ CCalenNestedSettingItem( TInt aId, RPointerArray<CAknSettingItem>& aUnownedSettings, const TDesC& aTitle ); /** * Destructor. */ ~CCalenNestedSettingItem(); protected: // From base classes /** * From CAknSettingItem. * Called when the user clicks on the setting item. */ void EditItemL( TBool aCalledFromMenu ); /** * From CAknSettingItem. * Called by the framwork to complete construction. */ void CompleteConstructionL(); private: // Data /** * Settings to be shown in the new settings page. Neither the array * or the contents are owned by this class. */ RPointerArray<CAknSettingItem>& iUnownedSettings; /** * Settings to be shown in the new settings page. This contains pointers * moved from the array passed in on construction. */ RPointerArray<CAknSettingItem> iOwnedSettings; /** * View id of the view which launched the nested setting. * We go back to this view after the setting item editing has been completed. */ TVwsViewId iParentView; /** * Title of the new page. Should be the plugin name. Not owned. */ const TDesC& iTitle; };#endif // CALENNESTEDSETTINGITEM_H// End of File