meetingrequest/mrgui/mrfieldbuilderplugin/inc/cesmrsyncfield.h
branchRCL_3
changeset 12 4ce476e64c59
parent 0 8466d47a6819
equal deleted inserted replaced
11:0396474f30f5 12:4ce476e64c59
     1 /*
     1 /*
     2 * Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    13 *
    13 *
    14 * Description:  ESMR synchronization field impl.
    14 * Description:  ESMR synchronization field impl.
    15  *
    15  *
    16 */
    16 */
    17 
    17 
    18 
       
    19 #ifndef CESMRSYNCFIELD_H
    18 #ifndef CESMRSYNCFIELD_H
    20 #define CESMRSYNCFIELD_H
    19 #define CESMRSYNCFIELD_H
    21 
    20 
    22 #include "cesmriconfield.h"
    21 // INCLUDES
       
    22 #include "cesmrfield.h"
    23 
    23 
    24 class CEikLabel;
    24 // FORWARD DECLARATIONS
    25 class CESMRSync;
    25 class CMRLabel;
       
    26 class CMRImage;
       
    27 class CESMRTextItem;
    26 
    28 
    27 /**
    29 /**
    28  * This class is a custom field control that shows the sync status of calendar events
    30  * This class is a custom field control that shows the sync status of calendar events
    29  */
    31  */
    30 NONSHARABLE_CLASS( CESMRSyncField ) : public CESMRIconField
    32 NONSHARABLE_CLASS( CESMRSyncField ) : public CESMRField
    31     {
    33     {
    32 public:
    34 public:
    33     /**
    35     /**
    34      * Creates new CESMRSyncField object. Ownership
    36      * Creates new CESMRSyncField object. Ownership
    35      * is transferred to caller.
    37      * is transferred to caller.
    41      * Destructor.
    43      * Destructor.
    42      */
    44      */
    43     ~CESMRSyncField();
    45     ~CESMRSyncField();
    44 
    46 
    45 public: // From CESMRField
    47 public: // From CESMRField
    46     void InitializeL();
       
    47     void InternalizeL( MESMRCalEntry& aEntry );
    48     void InternalizeL( MESMRCalEntry& aEntry );
    48     void ExternalizeL( MESMRCalEntry& aEntry );
    49     void ExternalizeL( MESMRCalEntry& aEntry );
    49     void SetOutlineFocusL( TBool aFocus );
    50     void SetOutlineFocusL( TBool aFocus );
    50     void ExecuteGenericCommandL( TInt aCommand );
    51     TBool ExecuteGenericCommandL( TInt aCommand );
    51 
    52 
    52 public: // From CCoeControl
    53 public: // From CCoeControl
    53     TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent, TEventCode aType );
    54     TKeyResponse OfferKeyEventL( const TKeyEvent& aEvent, TEventCode aType );
    54 
    55     TInt CountComponentControls() const;
       
    56     CCoeControl* ComponentControl( TInt aIndex ) const;
       
    57     void SizeChanged();
       
    58     
    55 private:
    59 private:
    56     /**
    60     /**
    57      * Constructor.
    61      * Constructor.
    58      */
    62      */
    59     CESMRSyncField();
    63     CESMRSyncField();
    79 
    83 
    80 private:
    84 private:
    81     /**
    85     /**
    82      * Not owned. Synchronization label.
    86      * Not owned. Synchronization label.
    83      */
    87      */
    84     CEikLabel* iSync;
    88     CMRLabel* iSync;
       
    89     
       
    90     /// Own: Icon field
       
    91     CMRImage* iIcon;
    85 
    92 
    86     /**
    93     /**
    87      * Own. Array of synchronization objects.
    94      * Own. Array of synchronization objects.
    88      */
    95      */
    89     RPointerArray< CESMRSync > iArray;
    96     RPointerArray< CESMRTextItem > iArray;
    90 
    97 
    91     /**
    98     /**
    92      * Index of selected synchronization.
    99      * Index of selected synchronization.
    93      */
   100      */
    94     TInt iIndex;
   101     TInt iIndex;