phonebookui/Phonebook2/UIControls/inc/pbk2contactviewdoublelistboxdataelement.h
branchRCL_3
changeset 32 2828b4d142c0
parent 0 e686773b3f54
child 57 2666d9724c76
equal deleted inserted replaced
26:0d28c1c5b6dd 32:2828b4d142c0
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <pbk2contactuicontroldoublelistboxextension.h>
    24 #include <pbk2contactuicontroldoublelistboxextension.h>
    25 #include <TPbk2IconId.h>
    25 #include <TPbk2IconId.h>
    26 
    26 
    27 //FORWARD
    27 //FORWARD
       
    28 class MVPbkContactLink;
    28 
    29 
    29 // CLASS DECLARATION
    30 // CLASS DECLARATION
    30 
    31 
    31 /**
    32 /**
    32  * Double listbox data element
    33  * Double listbox data element
    35 NONSHARABLE_CLASS( CPbk2ContactViewDoubleListboxDataElement ) :
    36 NONSHARABLE_CLASS( CPbk2ContactViewDoubleListboxDataElement ) :
    36         public CBase,
    37         public CBase,
    37         public MPbk2DoubleListboxDataElement
    38         public MPbk2DoubleListboxDataElement
    38     {
    39     {
    39 public: // constructor and destructor
    40 public: // constructor and destructor
    40     static CPbk2ContactViewDoubleListboxDataElement* NewLC();
    41     static CPbk2ContactViewDoubleListboxDataElement* NewL(
       
    42             MVPbkContactLink* aLink = NULL,
       
    43             TInt aListIndex = KErrNotFound );
    41     ~CPbk2ContactViewDoubleListboxDataElement();
    44     ~CPbk2ContactViewDoubleListboxDataElement();
    42 
    45 
    43     TPtr TextPtr(
    46     TPtr TextPtr(
    44             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex) const;
    47             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex) const;
    45 
    48     inline const MVPbkContactLink* ContactLink();
       
    49     inline TInt ListIndex();
       
    50     
    46 public: // from MPbk2DoubleListboxDataElement
    51 public: // from MPbk2DoubleListboxDataElement
    47     const TPbk2IconId& IconId( 
    52     const TPbk2IconId& IconId( 
    48             MPbk2DoubleListboxDataElement::TIconDataElementItems aIndex ) const;
    53             MPbk2DoubleListboxDataElement::TIconDataElementItems aIndex ) const;
    49     const TDesC& Text( 
    54     const TDesC& Text( 
    50             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex ) const;
    55             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex ) const;
    57     void SetText( 
    62     void SetText( 
    58             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex, 
    63             MPbk2DoubleListboxDataElement::TTextDataElementItems aIndex, 
    59             HBufC* aBuffer,
    64             HBufC* aBuffer,
    60             MPbk2DoubleListboxDataElement::TTextDataType aType );
    65             MPbk2DoubleListboxDataElement::TTextDataType aType );
    61 private:
    66 private:
    62     inline CPbk2ContactViewDoubleListboxDataElement();
    67     inline CPbk2ContactViewDoubleListboxDataElement(TInt aListIndex);
    63     inline void ConstructL();
    68     inline void ConstructL();
    64 
    69 
    65 private:
    70 private:
    66     TFixedArray<TPbk2IconId, 3> iIcons;
    71     TFixedArray<TPbk2IconId, 3> iIcons;
    67     TFixedArray<HBufC*, 2> iTexts;
    72     TFixedArray<HBufC*, 2> iTexts;
    68     TFixedArray<TTextDataType, 2 > iTextType;
    73     TFixedArray<TTextDataType, 2 > iTextType;
       
    74     /// Own
    69     HBufC* iEmptyBuffer;
    75     HBufC* iEmptyBuffer;
       
    76     /// Own: for data cache
       
    77     MVPbkContactLink* iLink;
       
    78     /// for data cache
       
    79     TInt iListIndex;
    70     };
    80     };
    71         
    81 
       
    82 inline const MVPbkContactLink* 
       
    83 CPbk2ContactViewDoubleListboxDataElement::ContactLink()
       
    84     {
       
    85     return iLink;
       
    86     }
       
    87 
       
    88 inline TInt CPbk2ContactViewDoubleListboxDataElement::ListIndex()
       
    89     {
       
    90     return iListIndex;
       
    91     }
       
    92 
       
    93 
    72 #endif // PBK2CONTACTVIEWDOUBLELISTBOXDATAELEMENT_H
    94 #endif // PBK2CONTACTVIEWDOUBLELISTBOXDATAELEMENT_H
    73 
    95 
    74 // End of File
    96 // End of File