textinput/peninputcommonctrls/inc/peninputdropdownlist/peninputlistmanager.h
branchRCL_3
changeset 21 ecbabf52600f
equal deleted inserted replaced
20:ebd48d2de13c 21:ecbabf52600f
       
     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 class CListMultiRowWithoutIconWithBubble;
       
    41 
       
    42 /**
       
    43  *  List manager
       
    44  *
       
    45  *  List manager used by drop down list
       
    46  *
       
    47  *  @lib FepCtrlDropdownList.lib
       
    48  *  @since S60 v3.2
       
    49  */ 
       
    50 NONSHARABLE_CLASS(CListManager) : public CBase
       
    51     {
       
    52     
       
    53 public:  
       
    54 
       
    55     /**
       
    56      * Create a object of CPages, static method
       
    57      *
       
    58      * @since S60 v3.2
       
    59      * @param aContext The context of the drop down list
       
    60      * @return CPages pointer.
       
    61      */
       
    62     static CListManager* NewL(MFepCtrlDropdownListContext* aContext);
       
    63     
       
    64     /**
       
    65      * Destructor
       
    66      *
       
    67      * @since S60 v3.2
       
    68      */     
       
    69     virtual ~CListManager();        
       
    70 
       
    71     /**
       
    72      * Get active list
       
    73      *
       
    74      * @since S60 v3.2
       
    75      * @return active list.
       
    76      */     
       
    77     CList* ActiveList() const;  
       
    78 
       
    79     /**
       
    80      * Size change
       
    81      *
       
    82      * @since S60 v3.2
       
    83      * @return None.
       
    84      */         
       
    85     void SizeChanged();
       
    86 
       
    87     /**
       
    88      * Move
       
    89      *
       
    90      * @since S60 v3.2
       
    91      * @param aOffset The offset of move          
       
    92      * @return None.
       
    93      */       
       
    94     void Move(const TPoint& aOffset);
       
    95     
       
    96     /**
       
    97      * Set active list
       
    98      *
       
    99      * @since S60 v3.2
       
   100      * @param aList The new active list       
       
   101      * @return None.
       
   102      */     
       
   103     void SetActiveList(CList* aList);  
       
   104                
       
   105     /**
       
   106      * Get the one row list without icon
       
   107      * @since S60 v3.2
       
   108      * @return the one row list without icon
       
   109      */
       
   110     CList* ListOneRowWithoutIcon() const;   
       
   111     
       
   112     /**
       
   113      * Get the one row list without icon with bubble
       
   114      * @since S60 v3.2
       
   115      * @return the one row list without icon
       
   116      */
       
   117     CList* ListOneRowWithoutIconWithBubble() const;  
       
   118     
       
   119     /**
       
   120      * Get the one row list with icon
       
   121      * @since S60 v3.2
       
   122      * @return the one row list with icon
       
   123      */     
       
   124     CList* ListOneRowWithIcon() const;
       
   125     
       
   126     /**
       
   127      * Get the one row list with icon with bubble
       
   128      * @since S60 v3.2
       
   129      * @return the one row list with icon
       
   130      */     
       
   131     CList* ListOneRowWithIconWithBubble() const;
       
   132     
       
   133     /**
       
   134      * Get the multi row list with icon
       
   135      * @since S60 v3.2
       
   136      * @return the multi row list with icon
       
   137      */
       
   138     CList* ListMultiRowWithIcon() const;    
       
   139 
       
   140     /**
       
   141      * Get the multi row list with icon with bubble
       
   142      * @since S60 v3.2
       
   143      * @return the multi row list with icon
       
   144      */
       
   145     CList* ListMultiRowWithIconWithBubble() const;
       
   146     
       
   147 
       
   148     /**
       
   149      * Get the multi row list without icon
       
   150      * @since S60 v3.2
       
   151      * @return the multi row list without icon
       
   152      */
       
   153     CList* ListMultiRowWithoutIcon() const;    
       
   154 
       
   155     CList* ListMultiRowRollWithIcon() const;
       
   156     
       
   157     CList* ListOneRowRollWithIcon() const;
       
   158     CList* ListExpandableMultiRowWithoutIcon() const;
       
   159     
       
   160     /**
       
   161      * Get the multi row roll list with icon with bubble
       
   162      * @since S60 v3.2
       
   163      * @return the multi row list with icon
       
   164      */
       
   165     CList* ListMultiRowRollWithIconWithBubble() const;
       
   166     
       
   167     /**
       
   168      * Get the one row roll list with icon with bubble
       
   169      * @since S60 v3.2
       
   170      * @return the multi row list with icon
       
   171      */
       
   172     CList* ListOneRowRollWithIconWithBubble() const;
       
   173     
       
   174     CList* ListMultiRowWithoutIconWithBubble() const;
       
   175     /**
       
   176      * Reset some data
       
   177      * @since S60 v4.0
       
   178      * @return None.
       
   179      */
       
   180     void ResetStatus();  
       
   181 
       
   182 protected:
       
   183 
       
   184     /**
       
   185      * 2nd construct method
       
   186      *
       
   187      * @since S60 v3.2
       
   188      * @param aContext The context of the drop down list     
       
   189      * @return None
       
   190      */      
       
   191     void ConstructL(MFepCtrlDropdownListContext* aContext);  
       
   192     
       
   193 private: // Data
       
   194 
       
   195     /**
       
   196      * The current active list
       
   197      * Not own
       
   198      */
       
   199     CList* iActiveList;
       
   200     
       
   201     /**
       
   202      * The one row list without icon
       
   203      * Own
       
   204      */
       
   205     CListOneRowWithoutIcon* iListOneRowWithoutIcon;
       
   206 
       
   207     /**
       
   208      * The one row list without icon with bubble
       
   209      * Own
       
   210      */
       
   211     CListOneRowWithoutIconWithBubble* iListOneRowWithoutIconWithBubble;
       
   212     
       
   213     /**
       
   214      * The one row list with icon
       
   215      * Own
       
   216      */
       
   217     CListOneRowWithIcon* iListOneRowWithIcon;
       
   218 
       
   219     /**
       
   220      * The one row list with icon with bubble
       
   221      * Own
       
   222      */
       
   223     CListOneRowWithIconWithBubble* iListOneRowWithIconWithBubble;
       
   224     
       
   225     /**
       
   226      * The multi row list with icon
       
   227      * Own
       
   228      */
       
   229     CListMultiRowWithIcon* iListMultiRowWithIcon;
       
   230     
       
   231     /**
       
   232      * The multi row list with icon with bubble
       
   233      * Own
       
   234      */
       
   235     CListMultiRowWithIconWithBubble* iListMultiRowWithIconWithBubble;
       
   236 
       
   237     /**
       
   238      * The multi row list without icon
       
   239      * Own
       
   240      */
       
   241     CListMultiRowWithoutIcon* iListMultiRowWithoutIcon;
       
   242 
       
   243     CListMultiRowRollWithIcon* iListMultiRowRollWithIcon;
       
   244     CListOneRowRollWithIcon* iListOneRowRollWithIcon;
       
   245     CListExpandableMultiRowWithoutIcon* iListExpandableMultiRowWithoutIcon;
       
   246     
       
   247     /**
       
   248      * The one row roll list with icon with bubble
       
   249      * Own
       
   250      */
       
   251     CListOneRowRollWithIconWithBubble* iListOneRowRollWithIconWithBubble;
       
   252     
       
   253     /**
       
   254      * The multi row roll list with icon with bubble
       
   255      * Own
       
   256      */
       
   257     CListMultiRowRollWithIconWithBubble* iListMultiRowRollWithIconWithBubble;
       
   258 
       
   259     /**
       
   260      * The dropdownlist context
       
   261      * Not Own
       
   262      */
       
   263     MFepCtrlDropdownListContext* iContext;
       
   264     
       
   265     /**
       
   266      * The multi roll list without icon with bubble
       
   267      * Own
       
   268      */
       
   269     CListMultiRowWithoutIconWithBubble* iListMultiRowWithoutIconWithBubble;   
       
   270     };
       
   271 
       
   272 #endif // C_LISTMANAGER_H
       
   273 
       
   274 // End Of File