diff -r 000000000000 -r f979ecb2b13e calendarui/controller/inc/calensettingsui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/calendarui/controller/inc/calensettingsui.h Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 2007 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: Role of this class is to show setting view and to set data. + * +*/ + + + +#ifndef CALENSETTINGSUI_H +#define CALENSETTINGSUI_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CAknNavigationControlContainer; +class CAknSettingStyleListBox; +class CCalenSettingsUiContainer; +class CAknsBasicBackgroundControlContext; +class CCalenGlobalData; +class CCalenCustomisationManager; + +// CLASS DEFINITIONS + +/** + * This dialog-derived class contains some functionality required to draw + * the settings list. Many functions are passthroughs to CCalenSettingsUiContainer. + */ +NONSHARABLE_CLASS( CCalenSettingsUi ) : public CAknDialog, + public MEikListBoxObserver + { +public: // Construction and destruction + /** + * Two phased constructor. + */ + static CCalenSettingsUi* NewL( CCalenCustomisationManager& aCustomisationManager ); + + /** + * Destructor. + */ + virtual ~CCalenSettingsUi(); +public: //from MEikListBoxObserver + + /** + * Handles list box events. + * @param aListBox The originating list box. + * @param aEventType A code for the event. + */ + void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); + +public: // From CAknDialog + /** + * Processes menu choices. + * @param aCommandId command id. + */ + void ProcessCommandL( TInt aCommandId ); + + /** + * Handles key presses. + * @param aKeyEvent the key event + * @param aType the type of key press + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + +protected: // New functions + /** + * Handles "Help" command. + */ + void OnCmdHelpL(); + +protected: // From CAknDialog + /** + * Called before layout operations performed. + * @see CAknDialog. + */ + void PreLayoutDynInitL(); + + /** + * Checks to see if exiting is a vaild action from the given command. + * @param aButtonId command to check. + * @return ETrue if the command is a valid command to exit on, EFalse otherwise. + * @see CAknDialog. + */ + TBool OkToExitL( TInt aButtonId ); + +protected: // From CCoeControl + /** + * Handles resource changes (i.e. screen resolution changes). + * @param aType bitmask of resources changed. + * @see CCoeControl. + */ + void HandleResourceChange( TInt aType ); + + /** + * Called by the framework after SetRect gets called. + * @see CCoeControl. + */ + void SizeChanged(); + + /** + * Draws the control. We override to add skin support. + * @see CCoeControl. + */ + void Draw(const TRect& aRect) const; + + /** + * Returns how many controls are contained in this control. + * @return the number of component controls contained within. + * @see CCoeControl. + */ + TInt CountComponentControls() const; + + /** + * Returns the component control at the given index. + * @param aIndex index of the control to return. + * @return component control at the given index. + * @see CCoeControl. + */ + CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * Gets the help context. + * @param aContext Help context. + * @see CCoeControl. + */ + void GetHelpContext( TCoeHelpContext& aContext ) const; + +protected: // From MObjectProvider + /** + * Provides the required object = in this case the background skin context. + * @aId id of required object + * @return supplied object. + * @see MObjectProvider. + */ + TTypeUid::Ptr MopSupplyObject( TTypeUid aId ); + +private: // Construction and destruction + /** + * First phase of construction. + * @param aPluginHandler the plugin handler which supplies settings extensions. + */ + CCalenSettingsUi( CCalenCustomisationManager& aCustomisationManager ); + + /** + * Second phase of construction. + */ + void ConstructL(); + + /** + * From CCoeControl Handle pointer event + */ + void HandlePointerEventL(const TPointerEvent& aPointerEvent); + +protected: //Data + + + // flag for touch ui long tap functionality + TBool iFirstTap; + + +private: // Data + // Handle to navi container. This is not owned. + CAknNavigationControlContainer* iNaviContainer; + + // The settings object which does most of the work. + CCalenSettingsUiContainer* iContainer; + + // The listbox containing the settings items. + CAknSettingStyleListBox* iListBox; + + // The background control context, used to draw the background skin. + CAknsBasicBackgroundControlContext* iBgContext; + + // Global data. + CCalenGlobalData* iGlobalData; + + // Customisation manager. + CCalenCustomisationManager& iCustomisationManager; + TBool iPageStatus; + }; + +#endif // CALENSETTINGSUI_H + +// End of File +