textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmanager.h
changeset 40 2cb9bae34d17
parent 31 f1bdd6b078d1
child 49 37f5d84451bd
equal deleted inserted replaced
31:f1bdd6b078d1 40:2cb9bae34d17
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  List manager,which is used by drop down list
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef C_LISTMANAGER_H
       
    20 #define C_LISTMANAGER_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include <w32std.h>
       
    24 
       
    25 /** class forward decalaration */
       
    26 class MFepCtrlDropdownListContext;
       
    27 class CList;
       
    28 class CListOneRowWithoutIcon;
       
    29 class CListOneRowWithoutIconWithBubble;
       
    30 class CListOneRowWithIcon;
       
    31 class CListOneRowWithIconWithBubble;
       
    32 class CListMultiRowWithIcon;
       
    33 class CListMultiRowWithIconWithBubble;
       
    34 class CListMultiRowWithoutIcon;
       
    35 class CListMultiRowRollWithIcon;
       
    36 class CListOneRowRollWithIcon;
       
    37 class CListExpandableMultiRowWithoutIcon;
       
    38 class CListOneRowRollWithIconWithBubble;
       
    39 class CListMultiRowRollWithIconWithBubble;
       
    40 
       
    41 /**
       
    42  *  List manager
       
    43  *
       
    44  *  List manager used by drop down list
       
    45  *
       
    46  *  @lib FepCtrlDropdownList.lib
       
    47  *  @since S60 v3.2
       
    48  */ 
       
    49 NONSHARABLE_CLASS(CListManager) : public CBase
       
    50     {
       
    51     
       
    52 public:  
       
    53 
       
    54     /**
       
    55      * Create a object of CPages, static method
       
    56      *
       
    57      * @since S60 v3.2
       
    58      * @param aContext The context of the drop down list
       
    59      * @return CPages pointer.
       
    60      */
       
    61     static CListManager* NewL(MFepCtrlDropdownListContext* aContext);
       
    62     
       
    63     /**
       
    64      * Destructor
       
    65      *
       
    66      * @since S60 v3.2
       
    67      */     
       
    68     virtual ~CListManager();        
       
    69 
       
    70     /**
       
    71      * Get active list
       
    72      *
       
    73      * @since S60 v3.2
       
    74      * @return active list.
       
    75      */     
       
    76     CList* ActiveList() const;  
       
    77 
       
    78     /**
       
    79      * Size change
       
    80      *
       
    81      * @since S60 v3.2
       
    82      * @return None.
       
    83      */         
       
    84     void SizeChanged();
       
    85 
       
    86     /**
       
    87      * Move
       
    88      *
       
    89      * @since S60 v3.2
       
    90      * @param aOffset The offset of move          
       
    91      * @return None.
       
    92      */       
       
    93     void Move(const TPoint& aOffset);
       
    94     
       
    95     /**
       
    96      * Set active list
       
    97      *
       
    98      * @since S60 v3.2
       
    99      * @param aList The new active list       
       
   100      * @return None.
       
   101      */     
       
   102     void SetActiveList(CList* aList);  
       
   103                
       
   104     /**
       
   105      * Get the one row list without icon
       
   106      * @since S60 v3.2
       
   107      * @return the one row list without icon
       
   108      */
       
   109     CList* ListOneRowWithoutIcon() const;   
       
   110     
       
   111     /**
       
   112      * Get the one row list without icon with bubble
       
   113      * @since S60 v3.2
       
   114      * @return the one row list without icon
       
   115      */
       
   116     CList* ListOneRowWithoutIconWithBubble() const;  
       
   117     
       
   118     /**
       
   119      * Get the one row list with icon
       
   120      * @since S60 v3.2
       
   121      * @return the one row list with icon
       
   122      */     
       
   123     CList* ListOneRowWithIcon() const;
       
   124     
       
   125     /**
       
   126      * Get the one row list with icon with bubble
       
   127      * @since S60 v3.2
       
   128      * @return the one row list with icon
       
   129      */     
       
   130     CList* ListOneRowWithIconWithBubble() const;
       
   131     
       
   132     /**
       
   133      * Get the multi row list with icon
       
   134      * @since S60 v3.2
       
   135      * @return the multi row list with icon
       
   136      */
       
   137     CList* ListMultiRowWithIcon() const;    
       
   138 
       
   139     /**
       
   140      * Get the multi row list with icon with bubble
       
   141      * @since S60 v3.2
       
   142      * @return the multi row list with icon
       
   143      */
       
   144     CList* ListMultiRowWithIconWithBubble() const;
       
   145     
       
   146 
       
   147     /**
       
   148      * Get the multi row list without icon
       
   149      * @since S60 v3.2
       
   150      * @return the multi row list without icon
       
   151      */
       
   152     CList* ListMultiRowWithoutIcon() const;    
       
   153 
       
   154     CList* ListMultiRowRollWithIcon() const;
       
   155     
       
   156     CList* ListOneRowRollWithIcon() const;
       
   157     CList* ListExpandableMultiRowWithoutIcon() const;
       
   158     
       
   159     /**
       
   160      * Get the multi row roll list with icon with bubble
       
   161      * @since S60 v3.2
       
   162      * @return the multi row list with icon
       
   163      */
       
   164     CList* ListMultiRowRollWithIconWithBubble() const;
       
   165     
       
   166     /**
       
   167      * Get the one row roll list with icon with bubble
       
   168      * @since S60 v3.2
       
   169      * @return the multi row list with icon
       
   170      */
       
   171     CList* ListOneRowRollWithIconWithBubble() const;
       
   172 
       
   173     /**
       
   174      * Reset some data
       
   175      * @since S60 v4.0
       
   176      * @return None.
       
   177      */
       
   178     void ResetStatus();  
       
   179 
       
   180 protected:
       
   181 
       
   182     /**
       
   183      * 2nd construct method
       
   184      *
       
   185      * @since S60 v3.2
       
   186      * @param aContext The context of the drop down list     
       
   187      * @return None
       
   188      */      
       
   189     void ConstructL(MFepCtrlDropdownListContext* aContext);  
       
   190     
       
   191 private: // Data
       
   192 
       
   193     /**
       
   194      * The current active list
       
   195      * Not own
       
   196      */
       
   197     CList* iActiveList;
       
   198     
       
   199     /**
       
   200      * The one row list without icon
       
   201      * Own
       
   202      */
       
   203     CListOneRowWithoutIcon* iListOneRowWithoutIcon;
       
   204 
       
   205     /**
       
   206      * The one row list without icon with bubble
       
   207      * Own
       
   208      */
       
   209     CListOneRowWithoutIconWithBubble* iListOneRowWithoutIconWithBubble;
       
   210     
       
   211     /**
       
   212      * The one row list with icon
       
   213      * Own
       
   214      */
       
   215     CListOneRowWithIcon* iListOneRowWithIcon;
       
   216 
       
   217     /**
       
   218      * The one row list with icon with bubble
       
   219      * Own
       
   220      */
       
   221     CListOneRowWithIconWithBubble* iListOneRowWithIconWithBubble;
       
   222     
       
   223     /**
       
   224      * The multi row list with icon
       
   225      * Own
       
   226      */
       
   227     CListMultiRowWithIcon* iListMultiRowWithIcon;
       
   228     
       
   229     /**
       
   230      * The multi row list with icon with bubble
       
   231      * Own
       
   232      */
       
   233     CListMultiRowWithIconWithBubble* iListMultiRowWithIconWithBubble;
       
   234 
       
   235     /**
       
   236      * The multi row list without icon
       
   237      * Own
       
   238      */
       
   239     CListMultiRowWithoutIcon* iListMultiRowWithoutIcon;
       
   240 
       
   241     CListMultiRowRollWithIcon* iListMultiRowRollWithIcon;
       
   242     CListOneRowRollWithIcon* iListOneRowRollWithIcon;
       
   243     CListExpandableMultiRowWithoutIcon* iListExpandableMultiRowWithoutIcon;
       
   244     
       
   245     /**
       
   246      * The one row roll list with icon with bubble
       
   247      * Own
       
   248      */
       
   249     CListOneRowRollWithIconWithBubble* iListOneRowRollWithIconWithBubble;
       
   250     
       
   251     /**
       
   252      * The multi row roll list with icon with bubble
       
   253      * Own
       
   254      */
       
   255     CListMultiRowRollWithIconWithBubble* iListMultiRowRollWithIconWithBubble;
       
   256 
       
   257     /**
       
   258      * The dropdownlist context
       
   259      * Not Own
       
   260      */
       
   261     MFepCtrlDropdownListContext* iContext;
       
   262        
       
   263     };
       
   264 
       
   265 #endif // C_LISTMANAGER_H
       
   266 
       
   267 // End Of File