S60 3rd Edition SDK for Symbian OS
Example Applications Guide

LandmarksCategoriesDialog.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : LandmarksCategoriesDialog.h
00004 *  Part of     : Landmark Reference Application
00005 *  Interface   : -
00006 *  Description : See class description below
00007 *  Version     : 1.0
00008 *
00009 *  Copyright (c) 2004-2006 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation.
00013 * ==============================================================================
00014 */
00015 
00016 #ifndef __LANDMARKS_CATEGORIES_DIALOG_H__
00017 #define __LANDMARKS_CATEGORIES_DIALOG_H__
00018 
00019 // INCLUDES
00020 #include <e32base.h>
00021 #include <aknselectionlist.h>
00022 #include <EPos_Landmarks.h>
00023 
00024 // FORWARD DECLARATIONS
00025 class CLandmarksApplicationEngine;
00026 class CLandmarksLmCategoriesModel;
00027 class CPosLandmarkCategory;
00028 class CAknTitlePane;
00029 class CGulIcon;
00030 
00031 // CLASS DECLARATION
00032 
00033 /**
00034 *  CLandmarksCategoriesDialog is a dilog for selecting which categories a 
00035 *  landmark belongs to.
00036 */
00037 class CLandmarksCategoriesDialog : public CAknMarkableListDialog
00038         {
00039     public: // Constructors and destructor
00040 
00041         /**
00042         * Creates, executes and destroys the dialog after dismissed.
00043         * @param aLmCategoriesModel landmark categories
00044         * @return EFalse if dialog was cancelled
00045         */
00046         static TInt RunDialogL(CLandmarksLmCategoriesModel& aLmCategoriesModel);
00047 
00048         /**
00049         * Destructor.
00050         */
00051             ~CLandmarksCategoriesDialog();
00052 
00053     protected: // From CEikDialog
00054 
00055         /**
00056         * Called after the dialog is layed out.
00057         */
00058         void PostLayoutDynInitL();
00059 
00060         /**
00061         * OfferKeyEventL handles key events.
00062         *
00063         * @param aKeyEvent the key event
00064         * @param aType the type of key event
00065         * @return EKeyWasConsumed if keyevent was handled, EKeyWasNotConsumed 
00066         * otherwise 
00067         */
00068                 TKeyResponse OfferKeyEventL(
00069             const TKeyEvent& aKeyEvent,
00070             TEventCode aType);
00071 
00072     private:
00073 
00074         /**
00075         * C++ constructor.
00076         *
00077         * @param aSelectedItem the selected item.
00078         * @param aMarkedItems an array of selected categories.
00079         * @param aListItems array of items to display.
00080         */
00081             CLandmarksCategoriesDialog(
00082             TInt& aSelectedItem,
00083             CArrayFixFlat<TInt>* aMarkedItems,
00084             CDesCArray* aListItems);
00085 
00086     private: // Data
00087 
00088         //! The title pane that is dynamically updated
00089         CAknTitlePane* iTitlePane;
00090 
00091         //! The original title that the title pane displayed before modified
00092         HBufC* iOriginalTitle;
00093         };
00094 
00095 #endif // __LANDMARKS_CATEGORIES_DIALOG_H__
00096 
00097 // End of File
00098 

© Nokia 2006

Back to top