S60 3rd Edition API Reference: aknlistquerydialog.h Source File

aknlistquerydialog.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : AknListQueryDialog.h
00004 *  Part of  : Avkon
00005 *
00006 *  Description:
00007 *   Implementation of CAknListQueryDialog
00008 *  Version:
00009 *
00010 *  Copyright © 2002 Nokia Corporation.
00011 *  This material, including documentation and any related 
00012 *  computer programs, is protected by copyright controlled by 
00013 *  Nokia Corporation. All rights are reserved. Copying, 
00014 *  including reproducing, storing,  adapting or translating, any 
00015 *  or all of this material requires the prior written consent of 
00016 *  Nokia Corporation. This material also contains confidential 
00017 *  information which may not be disclosed to others without the 
00018 *  prior written consent of Nokia Corporation.
00019 */
00020 
00021 #ifndef AKNLISTQUERYDIALOG_H
00022 #define AKNLISTQUERYDIALOG_H
00023 
00024 #include <aknquerydialog.h>
00025 
00026 class CAknMessageQueryControl;
00027 #start_since SINCE_3_1_SDK
00028 class CAknListQueryMediatorObserver;
00029 #end_since SINCE_3_1_SDK
00030 
00036 class CAknListQueryDialog : public CAknQueryDialog,
00037                             public MEikListBoxObserver, 
00038                             public MAknIntermediateState
00039         {
00040     public:
00047             IMPORT_C CAknListQueryDialog(TInt* aIndex);
00048 
00055         IMPORT_C CAknListQueryDialog(
00056                   CListBoxView::CSelectionIndexArray* aSelectionIndexArray);
00057 
00061             IMPORT_C virtual ~CAknListQueryDialog();
00062 
00070         IMPORT_C void SetSizeAndPosition(const TSize &aSize);
00071 
00086         IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 
00087                                              TEventCode aType);
00088             
00097         IMPORT_C void HandleListBoxEventL(CEikListBox* aListBox, 
00098                                           TListBoxEvent aEventType);
00099 
00105         IMPORT_C void SetItemTextArray(MDesCArray* aItemTextArray);
00106 
00112         IMPORT_C void SetOwnershipType(
00113                         TListBoxModelItemArrayOwnership aOwnershipType);
00114 
00121         IMPORT_C void SetIconArrayL(CArrayPtr<CGulIcon>* aIcons);
00122 
00128         IMPORT_C CEikListBox* ListBox() const;
00129 
00136         IMPORT_C CAknListQueryControl* ListControl() const;
00137 
00144         IMPORT_C CAknMessageQueryControl* MessageBox() const;
00145 
00152         IMPORT_C CAknPopupHeadingPane* QueryHeading() const;
00153 
00159         IMPORT_C void ActivateL();
00160 
00180         IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00181 
00182     protected:
00190         IMPORT_C void PreLayoutDynInitL(void);
00191 
00199         IMPORT_C void PostLayoutDynInitL();
00200 
00213         IMPORT_C TBool OkToExitL(TInt aButtonId);
00214 
00220         IMPORT_C TInt BorderStyle();
00221 
00222     protected:
00228         IMPORT_C void CloseState();
00229 
00230     private:
00239         static TInt ClosePopup(TAny *aObj);
00240 
00249         static TInt ClosePopupAcceptingChanges(TAny *aObj);
00250 
00251     private:
00255         IMPORT_C void* ExtensionInterface( TUid aInterface );
00256         private: 
00257                 IMPORT_C virtual void CEikDialog_Reserved_1();
00258                 IMPORT_C virtual void CEikDialog_Reserved_2();  
00259         private: 
00260                 IMPORT_C virtual void CAknDialog_Reserved();
00261         private:
00262                 IMPORT_C virtual void CAknQueryDialog_Reserved();
00263     private:
00264         // Will hold the index of the selected item
00265         TInt *iIndex;
00266         // Will hold the selected items' indexes
00267         CListBoxView::CSelectionIndexArray *iSelectionIndexArray;
00268         // Was the enter key pressed
00269             TBool iEnterKeyPressed;
00270         // Idle object to close the query if it there's no items to show
00271             CIdle *iIdle;
00272         // Layout for List query control
00273             TAknPopupWindowLayoutDef iLayout;
00274 
00275         CAknListQueryMediatorObserver* iMediatorObs;
00276 
00277         TInt iSpare;
00278 
00279     protected:
00286         IMPORT_C CAknSearchField* FindBox() const;
00287         
00288     public:
00294             IMPORT_C void SetTone(TInt aTone);
00295             
00296 #start_since SINCE_3_1_SDK
00297 
00300             IMPORT_C void HandleResourceChange(TInt aType);
00301 #end_since SINCE_3_1_SDK            
00302             
00303 #start_since SINCE_3_1_SDK
00304 
00317             IMPORT_C void PublishDialogL(TInt aDialogIndex, TUid aCatUid = KNullUid,  CArrayFixFlat<TInt>* aItemIds = 0);
00318 #end_since SINCE_3_1_SDK 
00319         
00320 #start_since SINCE_3_1_SDK
00321        /* 
00322         * Public since 3rd Ed FP1
00323             * Instantiates mediator support and passes possible feedback to given intance.
00324             * If no observer is set, dialog tries to handle feedback by it self.
00325             *
00326             * Please note that no commands will be instantiated unless command identifiers are 
00327             * are set using PublishDialogL
00328             *
00329             * @param  aObserver pointer to instance implementing MAknDialogMediatorObserver API
00330             *         Can be NULL
00331             * @return void 
00332             */
00333             IMPORT_C void SetMediatorObserver(MAknDialogMediatorObserver* aObserver);       
00334 #end_since SINCE_3_1_SDK
00335         };
00336 
00337 //  AKNLISTQUERYDIALOG_H
00338 #endif
00339 
00340 
00341 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top