examples/ForumNokia/InternetEmail/inc/InternetEmailContainer.h

00001 /*
00002  * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
00003  *    
00004  * Redistribution and use in source and binary forms, with or without
00005  * modification, are permitted provided that the following conditions are met:
00006  *    
00007  *  * Redistributions of source code must retain the above copyright notice, this
00008  *    list of conditions and the following disclaimer.
00009  *  * Redistributions in binary form must reproduce the above copyright notice,
00010  *    this list of conditions and the following disclaimer in the documentation
00011  *    and/or other materials provided with the distribution.
00012  *  * Neither the name of Nokia Corporation nor the names of its contributors
00013  *    may be used to endorse or promote products derived from this software
00014  *    without specific prior written permission.
00015  *    
00016  *    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00017  *    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00018  *    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00019  *    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00020  *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00021  *    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00022  *    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00023  *    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00024  *    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00025  *    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00026  *    
00027  *    Description:  
00028  */
00029 
00030 #ifndef INTERNETEMAILCONTAINER_H
00031 #define INTERNETEMAILCONTAINER_H
00032 
00033 // INCLUDES
00034 #include <coecntrl.h>
00035 
00036 #include <aknlists.h> //for listbox
00037 #include <eiklbo.h>   //for listboxobserver
00038 #include <badesca.h>  //string arrays
00039 
00040 #include "InternetEmailEngine.h" //for lazyness
00041 #include "InternetEmailAppUi.h" //for lazyness
00042    
00043 // FORWARD DECLARATIONS
00044 class  CInternetEmailEngine;
00045 class  CInternetEmailAppUi;
00046 
00047 // CLASS DECLARATION
00048 
00053 class CInternetEmailContainer : public CCoeControl, MCoeControlObserver, MEikListBoxObserver, MDesCArray
00054     {
00055     public: // Constructors and destructor
00056         
00061         void ConstructL(const TRect& aRect, CInternetEmailAppUi* aParent);
00062 
00066         ~CInternetEmailContainer();
00067 
00068     public: // New functions
00075         void MailCountChange();
00076 
00077     private: // New functions
00078 
00084         void OpenEmailL();
00085         
00086     public: // Functions from base classes
00087 
00088     private: // Functions from base classes
00089         // from MDesCArray
00090         TInt MdcaCount() const;
00091         TPtrC MdcaPoint(TInt aIndex) const;
00092         void EntryToListbox(TInt aIndex) const;
00093 
00101          TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
00102                                     TEventCode aType);
00103 
00104         // From CoeControl,SizeChanged.
00105         void SizeChanged();
00106         TInt CountComponentControls() const;
00107         CCoeControl* ComponentControl(TInt aIndex) const;
00108         void Draw(const TRect& aRect) const;
00109 
00110         // MCoeControlObserver
00111         void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
00112 
00113         // from MEikListBoxObserver
00114         void HandleListBoxEventL(CEikListBox* aListBox,TListBoxEvent aEventType);
00115         
00116         void HandleResourceChange(TInt aType);
00117 
00118     private: //data
00119         
00120         CEikTextListBox* iListBox;    // to view entries
00121         CInternetEmailAppUi* iParent; // for easier access to appui
00122         mutable TBuf<255> iText;      // because we are also an array
00123 
00124     };
00125 
00126 #endif
00127 
00128 // End of File

Generated by  doxygen 1.6.2