diff -r 000000000000 -r 2f259fa3e83a psln/Inc/PslnBaseView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/psln/Inc/PslnBaseView.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,191 @@ +/* +* Copyright (c) 2004-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: Psln application base view class. +* +*/ + + +#ifndef C_PSLNBASEVIEW_H +#define C_PSLNBASEVIEW_H + +#include +#include + +#include "psln.hrh" +#include "PslnConst.h" + +class CPslnBaseContainer; +class CPslnUi; +class CPslnModel; +class CAknNavigationDecorator; + +/** +* CPslnBaseView base view class. +* +*/ +class CPslnBaseView : public CAknView, public MEikListBoxObserver + { + public: // Constructors and destructor + + /** + * C++ default constructor + */ + CPslnBaseView(); + + /** + * Destructor. + */ + ~CPslnBaseView(); + + protected: + + /** + * From MEikListBoxObserver. + * Handles listbox events. + * @param aListBox Listbox where the event occurred. + * @param aEventType Event type. + */ + void HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ); + + /** + * From CAknView. + * Called when view is activated. + * @param aPrevViewId previous view id. + * @param aCustomMessageId custom message id. + * @param aCustomMessage custom message content. + */ + void DoActivateL( + const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CAknView. + * Called when view is deactivated. + */ + void DoDeactivate(); + + /** + * Creates container for this view. + */ + virtual void CreateContainerL(); + + /** + * Creates a new container for this view. + * Sub-class should implement this, as this is called by this + * base class from DoActivateL. + */ + virtual void NewContainerL() = 0; + + /** + * Sets navi pane for the view. + */ + virtual void SetNaviPaneL(); + + /** + * Called by HandleListBoxEventL. + * Handles list box selections. + */ + virtual void HandleListBoxSelectionL() = 0; + + /** + * Called by HandleListBoxEventL. + * Handles list box item highlight events. + */ + virtual void HandleListBoxItemHighlightL() = 0; + + /** + * Adds given resource text as MSK to CBA. + * + * @param aResourceId middle softkey label. + * @param aCommandId command that should be performed when MSK + * is pressed. + * @since S60 v3.1 + */ + virtual void SetMiddleSoftKeyLabelL( + const TInt aResourceId, + const TInt aCommandId ); + + /** + * From MEikMenuObserver. + * Changes MenuPane dynamically. + */ + virtual void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + + /** + * Sets title pane to a view. + * @since 5.0 + */ + virtual void SetTitlePaneL( TInt& aResourceId ) = 0; + + /** + *Get the resorce id for CBA, The derived view change the CBA resource by overriding + *this function. + * @since 5.0 + */ + virtual TInt CbaResourceId( const TVwsViewId& aPrevViewId,TUid aCustomMessageId ); + + /** + * Called by HandleListBoxEventL. + * Handles list box stylus down event. + */ + virtual void HandleListBoxStylusDown(); + + /** + * Called by HandleListBoxEventL. + * Handles list box stylus move event. + */ + virtual void HandleListBoxStylusDrag(); + + private: + + /* Remove container. */ + void RemoveContainer(); + + protected: // Data + + /** + * Container. + * Not own. + */ + CPslnBaseContainer* iContainer; + + /** + * Application UI. + * Not own. + */ + CPslnUi* iPslnUi; + + /** + * Model. + * Not own. + */ + CPslnModel* iModel; + + /** + * Currently selected item. + */ + TInt iCurrentItem; + + /** + * Navi pane. + * Own. + */ + CAknNavigationDecorator* iNaviPaneContext; + }; + +#endif // C_PSLNBASEVIEW_H + +// End of File