phonebookui/Phonebook2/inc/CPbk2NamesListControl.h
branchRCL_3
changeset 3 04ab22b956c2
parent 0 e686773b3f54
child 15 e8e3147d53eb
equal deleted inserted replaced
0:e686773b3f54 3:04ab22b956c2
    30 #include <mpbk2commanditemupdater.h>
    30 #include <mpbk2commanditemupdater.h>
    31 #include <eiksbobs.h>
    31 #include <eiksbobs.h>
    32 #include <aknsfld.h>
    32 #include <aknsfld.h>
    33 #include <eiklbo.h>
    33 #include <eiklbo.h>
    34 #include "CPbk2ControlContainer.h"
    34 #include "CPbk2ControlContainer.h"
    35 #include "CPbk2ThumbnailManager.h"
       
    36 
    35 
    37 // FORWARD DECLARATIONS
    36 // FORWARD DECLARATIONS
    38 class MPbk2NamesListState;
    37 class MPbk2NamesListState;
    39 class CPbk2ContactViewListBox;
    38 class CPbk2ContactViewListBox;
    40 class CPbk2NamesListStateFactory;
    39 class CPbk2NamesListStateFactory;
    49 class CPbk2FilteredViewStackObserver;
    48 class CPbk2FilteredViewStackObserver;
    50 class CPbk2ListBoxSelectionObserver;
    49 class CPbk2ListBoxSelectionObserver;
    51 class MPbk2ContactUiControlExtension;
    50 class MPbk2ContactUiControlExtension;
    52 class CPbk2PredictiveSearchFilter;
    51 class CPbk2PredictiveSearchFilter;
    53 class CPbk2ContactViewDoubleListBox;
    52 class CPbk2ContactViewDoubleListBox;
       
    53 class MVPbkContactLinkArray;
       
    54 class CPbk2NamesListControlBgTask;
       
    55 class CPbk2ThumbnailManager;
       
    56 class CPbk2HandleMassUpdate;
    54 
    57 
    55 // CLASS DECLARATION
    58 // CLASS DECLARATION
    56 
    59 
    57 /**
    60 /**
    58  * Phonebook 2 names list control.
    61  * Phonebook 2 names list control.
    88             EStateEmpty,
    91             EStateEmpty,
    89             EStateReady,
    92             EStateReady,
    90             EStateFiltered,
    93             EStateFiltered,
    91             EStateHidden
    94             EStateHidden
    92             };
    95             };
       
    96         
       
    97         /// The names list Background Events
       
    98         enum TPbk2NamesListBgEvents
       
    99             {
       
   100             /// Startup state
       
   101             EStateBgTaskEmpty = 0,
       
   102             /// Mark & Unmark States
       
   103             EStateSaveMarkedContacts,
       
   104             EStateRestoreMarkedContacts            
       
   105             };
    93 
   106 
    94     public: // Constructors and destructor
   107     public: // Constructors and destructor
    95 
   108 
    96         /**
   109         /**
    97          * Creates a new instance of this class.
   110          * Creates a new instance of this class.
   217          * Fetches the current view
   230          * Fetches the current view
   218          *
   231          *
   219          * @return  Current view.
   232          * @return  Current view.
   220          */
   233          */
   221         MVPbkContactViewBase& View();
   234         MVPbkContactViewBase& View();
       
   235         
       
   236         /**
       
   237          * Foreground event handling function. 
       
   238          * @param aForeground - Indicates the required focus state of the control.
       
   239          * Needs to be called when there is a Foreground Event trigerred for the View.
       
   240          */
       
   241         
       
   242         IMPORT_C void HandleViewForegroundEventL( TBool aForeground );
   222 
   243 
   223     
   244     
   224         
   245         
   225     public: // From CCoeControl
   246     public: // From CCoeControl
   226         void MakeVisible(
   247         void MakeVisible(
   396         void DeleteIfAlreadyAdded(const MPbk2UiControlCmdItem* aCommand); // Fix ETKI-7NADZC
   417         void DeleteIfAlreadyAdded(const MPbk2UiControlCmdItem* aCommand); // Fix ETKI-7NADZC
   397         
   418         
   398 
   419 
   399     private: //from MPbk2ControlContainerForegroundEventObserver
   420     private: //from MPbk2ControlContainerForegroundEventObserver
   400         void HandleForegroundEventL( TBool aForeground );
   421         void HandleForegroundEventL( TBool aForeground );
       
   422     
       
   423     public: //For Storing/Restoring/Clearing the Marked Contacts
       
   424         void StoreMarkedContactsAndResetViewL();
       
   425         void RestoreMarkedContactsL();
       
   426         void ClearMarkedContactsInfo();
       
   427         
       
   428         
   401         
   429         
   402     private: // Data
   430     private: // Data
   403         /// Ref: Current state
   431         /// Ref: Current state
   404         MPbk2NamesListState* iCurrentState;
   432         MPbk2NamesListState* iCurrentState;
   405         /// Own: State factory
   433         /// Own: State factory
   447         /// Own: Search filter
   475         /// Own: Search filter
   448         CPbk2PredictiveSearchFilter* iSearchFilter;
   476         CPbk2PredictiveSearchFilter* iSearchFilter;
   449         //Flag to indicate Feature manager initilization
   477         //Flag to indicate Feature manager initilization
   450         TBool iFeatureManagerInitilized;
   478         TBool iFeatureManagerInitilized;
   451         
   479         
   452         //REF: Thumbnail manager	//TODO
   480         // Own/Ref (see below): Thumbnail manager
   453         CPbk2ThumbnailManager* iThumbManager;
   481         CPbk2ThumbnailManager* iThumbManager;
       
   482         // Wheter this control owns the thumbnail manager (iThumbManager) or not 
       
   483         TBool iOwnThumbManager;
   454         //OWN: double list box "handle"
   484         //OWN: double list box "handle"
   455         CPbk2ContactViewDoubleListBox* 	iDoubleListBox;
   485         CPbk2ContactViewDoubleListBox* 	iDoubleListBox;
   456         
   486         
       
   487         //Own: Selected/Marked Contacts
       
   488         MVPbkContactLinkArray* iSelectedLinkArray;      
       
   489            
       
   490         //Own: Background Task Handler     
       
   491         CPbk2NamesListControlBgTask* iBgTask;
       
   492         //Own: Mass update checker/handler
       
   493         CPbk2HandleMassUpdate* iCheckMassUpdate;
       
   494         
   457     };
   495     };
   458 
   496 
   459 #endif // CPBK2NAMESLISTCONTROL_H
   497 #endif // CPBK2NAMESLISTCONTROL_H
   460 
   498 
   461 // End of File
   499 // End of File