voipplugins/accountcreationplugin/inc/acpproviderspecificcontainer.h
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
equal deleted inserted replaced
21:f742655b05bf 22:d38647835c2e
       
     1 /*
       
     2 * Copyright (c) 2007-2008 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:  Declarition of CAcpProviderSpecificContainer
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef ACPPROVIDERSPECIFICCONTAINER_H
       
    20 #define ACPPROVIDERSPECIFICCONTAINER_H
       
    21 
       
    22 #include <coecntrl.h>
       
    23 #include <coecntrl.h>
       
    24 #include <barsread.h>
       
    25 #include <eiklabel.h>
       
    26 #include <eikedwin.h>
       
    27 
       
    28 #include "accountcreationpluginconstants.h"
       
    29 
       
    30 class CAcpController;
       
    31 class CAknsBasicBackgroundControlContext;
       
    32 
       
    33 /**
       
    34  *  CAcpProviderSpecificContainer class
       
    35  *  Declarition of CAcpProviderSpecificContainer.
       
    36  *
       
    37  *  @lib accountcreationplugin.lib
       
    38  *  @since S60 v3.2
       
    39  */
       
    40 NONSHARABLE_CLASS( CAcpProviderSpecificContainer ) : public CCoeControl
       
    41     {
       
    42 public:
       
    43 
       
    44     /**
       
    45      * Two-phased constructor.
       
    46      *
       
    47      * @param aController for plugins controller
       
    48      * @param aRect for rectangle
       
    49      */
       
    50     static CAcpProviderSpecificContainer* NewL( 
       
    51         CAcpController& aController, const TRect& aRect );
       
    52 
       
    53     /**
       
    54      * Two-phased constructor.
       
    55      *
       
    56      * @param aController for plugins controller
       
    57      * @param aRect for rectangle
       
    58      */
       
    59     static CAcpProviderSpecificContainer* NewLC( 
       
    60         CAcpController& aController, const TRect& aRect );
       
    61 
       
    62     virtual ~CAcpProviderSpecificContainer();
       
    63     
       
    64 private:
       
    65 
       
    66     CAcpProviderSpecificContainer( CAcpController& aController );
       
    67     void ConstructL( const TRect& aRect );
       
    68     
       
    69 public: // New methods.
       
    70     
       
    71     /**
       
    72      * Scrolls text up or down by the given amount of pixels.
       
    73      * 
       
    74      * @since S60 v3.2
       
    75      * @param aDelta Amount of pixels to move the text. Positive is down.
       
    76      */
       
    77     void ScrollText( TInt aDelta );
       
    78     
       
    79     /**
       
    80      * Repositions the labels.
       
    81      * 
       
    82      * @since S60 v3.2
       
    83      */
       
    84     void RepositionLabels();
       
    85 
       
    86 // from base class CCoeControl
       
    87     
       
    88     /**
       
    89      * From CCoeControl.
       
    90      */ 
       
    91     CCoeControl* ComponentControl( TInt aIndex ) const;
       
    92 
       
    93     /**
       
    94      * From CCoeControl.
       
    95      * Supplies context (object ID) to child controls.
       
    96      *
       
    97      * @since S60 v3.2
       
    98      * @param aId UID.
       
    99      * @return UID.
       
   100      */
       
   101     TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
       
   102 
       
   103     /**
       
   104      * From CCoeControl.
       
   105      * Returns number of component controls.
       
   106      * 
       
   107      * @since S60 v3.2
       
   108      * @return Number of component controls.
       
   109      */
       
   110     virtual TInt CountComponentControls() const;
       
   111 
       
   112     /**
       
   113      * From CCoeControl.
       
   114      * Informs that draw must be committed.
       
   115      * 
       
   116      * @since S60 v3.2
       
   117      * @param aRect Rectangle.
       
   118      */
       
   119     void Draw( const TRect& aRect ) const;
       
   120 
       
   121     /**
       
   122      * From CCoeControl.
       
   123      * Informs that size has been changed.
       
   124      * 
       
   125      * @since S60 v3.2
       
   126      */
       
   127     virtual void SizeChanged();
       
   128 
       
   129 	/**
       
   130      * From CoeControl.
       
   131      * Handles resource change.
       
   132      * Called by framework when the view layout is changed.
       
   133      * 
       
   134      * @since S60 v3.2
       
   135      * @param aType Type of resource.
       
   136      */
       
   137     virtual void HandleResourceChange( TInt aType );
       
   138     
       
   139     /**
       
   140      * From CoeControl.
       
   141      * Handles keypresses.
       
   142      * 
       
   143      * @since S60 v3.2
       
   144      * @param aKeyEvent Key event.
       
   145      * @param aType Type of event.
       
   146      */
       
   147     TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
       
   148 
       
   149 private:  // data
       
   150 
       
   151     /**
       
   152      * Reference to plugins controller.
       
   153      */
       
   154     CAcpController& iController;
       
   155 
       
   156     /**
       
   157      * Localized "none" text from resources.
       
   158      * Own.
       
   159      */
       
   160     HBufC* iNone;
       
   161 
       
   162     /**
       
   163      * Setting item: description.
       
   164      * Own.
       
   165      */ 
       
   166     HBufC* iDescription;
       
   167 
       
   168     /**
       
   169      * Label for name.
       
   170      * Own.
       
   171      */
       
   172     CEikLabel* iLabel;
       
   173 
       
   174     /**
       
   175      * Label for type.
       
   176      * Own.
       
   177      */
       
   178     CEikLabel* iLabel2;
       
   179 
       
   180     /**
       
   181      * Label for description.
       
   182      * Own.
       
   183      */
       
   184     CEikLabel* iLabel3;
       
   185 
       
   186     /**
       
   187      * Edwin for provider specific name text.
       
   188      * Own.
       
   189      */
       
   190     CEikEdwin* iEdwin;
       
   191 
       
   192     /**
       
   193      * Edwin for provider specific type text.
       
   194      * Own.
       
   195      */
       
   196     CEikEdwin* iEdwin2;
       
   197 
       
   198     /**
       
   199      * Edwin for provider specific description text.
       
   200      * Own.
       
   201      */
       
   202     CEikEdwin* iEdwin3;
       
   203 
       
   204     /**
       
   205      * SKIN: the skin bitmap context for our control.
       
   206      * Own.
       
   207      */
       
   208     CAknsBasicBackgroundControlContext* iBgContext;
       
   209     
       
   210     /**
       
   211      * Y position for label scrolling.
       
   212      */
       
   213     TInt iScrollY;
       
   214     };
       
   215 
       
   216 #endif // ACPPROVIDERSPECIFICCONTAINER_H
       
   217 
       
   218 // End of file.