sl@0: /* sl@0: * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * Series 60 version of Hindi Demo application sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef __HINDIDEMO_CONTAINER_H__ sl@0: #define __HINDIDEMO_CONTAINER_H__ sl@0: sl@0: #include "HindiDemo.hrh" sl@0: sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: #include sl@0: sl@0: const TInt KLengthOfNaviTempString = 100; sl@0: sl@0: #if !defined(KSettingEdwinMaxValueLength) sl@0: #define KSettingEdwinMaxValueLength 50 sl@0: #endif sl@0: sl@0: #if !defined(KSettingSecretMaxLabelLength) sl@0: #define KSettingSecretMaxLabelLength 20 sl@0: #endif sl@0: sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // CHindiDemoContainer sl@0: // ----------------------------------------------------------------------- sl@0: class CHindiDemoContainer : public CAknSettingItemList { sl@0: sl@0: public: sl@0: sl@0: ~CHindiDemoContainer(); sl@0: sl@0: // ------------------------------------------------------------------------------------------------ sl@0: // Framework method to create a setting item based upon the user id aSettingId. The sl@0: // client code decides what type to construct. new (ELeave) must then be used and the resulting sl@0: // pointer returned. Ownership is thereafter base class's responsibility. sl@0: // sl@0: // @param aSettingId ID to use to determine the type of the setting item sl@0: // @return a constructed (not 2nd-stage constructed) setting item. sl@0: // ------------------------------------------------------------------------------------------------ sl@0: CAknSettingItem* CreateSettingItemL(TInt aSettingId); sl@0: sl@0: // ------------------------------------------------------------------------------------------------ sl@0: // This launches the setting page for the current item by calling EditItemL on it sl@0: // sl@0: // @param aIndex - current item's (Visible) index in the list sl@0: // @param aCalledFromMenu - ignored in most classes; may alter the behaviour of the setting page sl@0: // ------------------------------------------------------------------------------------------------ sl@0: void EditItemL(TInt aIndex, TBool aCalledFromMenu); sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // Routine that dispatches Command events to individual handlers sl@0: // ----------------------------------------------------------------------- sl@0: bool DispatchViewCommandEvents(TInt aCommand); sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // Routine that initializes components owned by this Container sl@0: // ----------------------------------------------------------------------- sl@0: void InitComponentsL(); sl@0: sl@0: void Draw(const TRect& aRect) const; sl@0: sl@0: private: sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // Routine that cleans up components owned by this container sl@0: // ----------------------------------------------------------------------- sl@0: void CleanupComponents(); sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // Handles keys sent to this control sl@0: // ----------------------------------------------------------------------- sl@0: TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: // Responds to size changes to sets the size and position of the contents of this control sl@0: // ----------------------------------------------------------------------- sl@0: void SizeChanged(); sl@0: sl@0: private: sl@0: // ----------------------------------------------------------------------- sl@0: // CAknNavigationControlContainer* iNaviPane; sl@0: // CAknNavigationDecorator* iNaviDecorator; sl@0: // ----------------------------------------------------------------------- sl@0: sl@0: private: sl@0: // ----------------------------------------------------------------------- sl@0: // NOTE: The following section is managed by the C++Builder IDE - DO NOT MODIFY sl@0: //IDE-MANAGED-START sl@0: /* 13/08/05 20:28 */ sl@0: CAknContextPane * iContextPane; sl@0: CAknTitlePane * iTitlePane; sl@0: CAknNavigationControlContainer * iNaviPane; sl@0: CAknNavigationDecorator * iNaviDecorator; sl@0: //IDE-MANAGED-END sl@0: sl@0: sl@0: // ----------------------------------------------------------------------- sl@0: }; sl@0: sl@0: #endif // __HINDIDEMO_CONTAINER_H__