/*
========================================================================
 Name        : pjsuaContainer.h
 Author      : nanang
 Copyright   : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com)
 Description : 
========================================================================
*/
#ifndef PJSUACONTAINER_H
#define PJSUACONTAINER_H

// [[[ begin generated region: do not modify [Generated Includes]
#include <coecntrl.h>           
// ]]] end generated region [Generated Includes]


// [[[ begin [Event Handler Includes]
// ]]] end [Event Handler Includes]

// [[[ begin generated region: do not modify [Generated Forward Declarations]
class MEikCommandObserver;              
class CEikImage;
class CEikLabel;
// ]]] end generated region [Generated Forward Declarations]

/**
 * Container class for pjsuaContainer
 * 
 * @class       CPjsuaContainer pjsuaContainer.h
 */
class CPjsuaContainer : public CCoeControl
        {
public:
        // constructors and destructor
        CPjsuaContainer();
        static CPjsuaContainer* NewL( 
                const TRect& aRect, 
                const CCoeControl* aParent, 
                MEikCommandObserver* aCommandObserver );
        static CPjsuaContainer* NewLC( 
                const TRect& aRect, 
                const CCoeControl* aParent, 
                MEikCommandObserver* aCommandObserver );
        void ConstructL( 
                const TRect& aRect, 
                const CCoeControl* aParent, 
                MEikCommandObserver* aCommandObserver );
        virtual ~CPjsuaContainer();

public:
        // from base class CCoeControl
        TInt CountComponentControls() const;
        CCoeControl* ComponentControl( TInt aIndex ) const;
        TKeyResponse OfferKeyEventL( 
                        const TKeyEvent& aKeyEvent, 
                        TEventCode aType );
        void HandleResourceChange( TInt aType );
        
protected:
        // from base class CCoeControl
        void SizeChanged();

private:
        // from base class CCoeControl
        void Draw( const TRect& aRect ) const;

private:
        void InitializeControlsL();
        void LayoutControls();
        CCoeControl* iFocusControl;
        MEikCommandObserver* iCommandObserver;
        // [[[ begin generated region: do not modify [Generated Methods]
public: 
        // ]]] end generated region [Generated Methods]
        
        void PutMessageL( const char* msg );
        // [[[ begin generated region: do not modify [Generated Type Declarations]
public: 
        // ]]] end generated region [Generated Type Declarations]
        
        // [[[ begin generated region: do not modify [Generated Instance Variables]
private: 
        CEikImage* iImage1;
        CEikLabel* iLabel1;
        // ]]] end generated region [Generated Instance Variables]
        
        
        // [[[ begin [Overridden Methods]
protected: 
        // ]]] end [Overridden Methods]
        
        
        // [[[ begin [User Handlers]
protected: 
        // ]]] end [User Handlers]
        
public: 
        enum TControls
                {
                // [[[ begin generated region: do not modify [Generated Contents]
                EImage1,
                ELabel1,
                
                // ]]] end generated region [Generated Contents]
                
                // add any user-defined entries here...
                
                ELastControl
                };
        };
                                
#endif // PJSUACONTAINER_H
