S60 3rd Edition API Reference: akninfrm.h Source File

akninfrm.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : AknInfrm.h
00004 *  Part of  : Avkon
00005 *
00006 *  Description:
00007 *  Version:
00008 *
00009 *  Copyright © 2002 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation. All rights are reserved. Copying, 
00013 *  including reproducing, storing,  adapting or translating, any 
00014 *  or all of this material requires the prior written consent of 
00015 *  Nokia Corporation. This material also contains confidential 
00016 *  information which may not be disclosed to others without the 
00017 *  prior written consent of Nokia Corporation.
00018 * ============================================================================
00019 */
00020 
00021 // INCLUDES
00022 #ifndef __AKNINFRM_H__
00023 #define __AKNINFRM_H__
00024 
00025 
00026 #include <eikdef.h>
00027 #include <eikbctrl.h>
00028 #include <gulicon.h>
00029 #include <eiklabel.h>
00030 #include <aknutils.h>
00031 #include <avkon.rsg>
00032 
00033 class CAknsFrameBackgroundControlContext;
00034 #start_since SINCE_3_1_SDK
00035 class CAknsBasicBackgroundControlContext;
00036 #end_since SINCE_3_1_SDK
00037 // CLASS DECLARATION
00043 NONSHARABLE_CLASS(CAknInputFrame) : public CEikBorderedControl, public MCoeControlObserver
00044     {
00045 public:
00046     
00050     CAknInputFrame();
00051     
00056     IMPORT_C ~CAknInputFrame();
00057         
00069     IMPORT_C static CAknInputFrame* NewL(CCoeControl* aField,TBool aComponentOwner,
00070                                          const TDesC& aBitmapfile, TInt aBitmapId, TInt aMaskId,
00071                                          TUint32 aFlags = 0 );
00081     IMPORT_C static CAknInputFrame* NewL(CCoeControl* aField,TBool aComponentOwner,
00082                                          CGulIcon* aIcon, TUint32 aFlags = 0 );
00087     IMPORT_C CCoeControl* Field() const;
00088         
00094     IMPORT_C void SetInfoTextL(const TDesC& aText);
00095         
00101     IMPORT_C void SetLineState(TBool aLineVisible);
00102         
00108     void SetIcon(CGulIcon* aIcon);
00109 
00110 public: //from MCoeControlObserver
00111 
00118     IMPORT_C void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
00119 
00120 public: //from CCoeControl
00121 
00129     IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
00130         
00135     IMPORT_C TSize MinimumSize();
00136         
00141     IMPORT_C void ConstructFromResourceL(TResourceReader& aReader); 
00142         
00149     IMPORT_C void SetInputContext(CAknsFrameBackgroundControlContext* aContext);
00150 
00151 
00152 private: // From CCoeControl
00153     void SizeChanged();
00154     void FocusChanged(TDrawNow aDrawNow); 
00155     void Draw(const TRect& aRect) const;
00156     void PrepareForFocusLossL();
00157 
00158 private:
00159     void BaseConstructL(CCoeControl* aField, TBool aOwner, TUint32 aFlags);
00160     void ConstructL(CCoeControl* aField, TBool aOwner, const TDesC& aFileName, TInt aBitmapId, TInt aMaskId, TUint32 aFlags);
00161     void ConstructL(CCoeControl* aField, TBool aOwner, CGulIcon* aIcon, TUint32 aFlags);
00162 
00163 public:
00165     enum TInputFrameFlags
00166         {
00168         EOwnsField=0x40,
00170         EPopupLayout=0x80,
00172         EPinbLayout=0x100,
00174         EClockAppLayout=0x200,
00176         EFixedFindWithoutLine   = 0x400,
00178         EShowIndicators         = 0x800,
00180         EPopupWindowLayout=0x1000
00181         };
00182     
00183 private:
00184     enum TInfrmPrivateFlags
00185         {
00186         EOwnsInputContext = 0x2000
00187         };
00188 
00189     CGulIcon*               iIcon;
00190     TUint32                 iFlags;
00191     TAknLayoutRect          iMagnIconPos;  // position of the looking glass icon
00192     // sizeof(Taknlayoutrect)=20 sizeof(TRect)=16 sizeof(CCoeControl*)=4 sizeof TAknsItemID=8 
00193     TRect                   iOutlineRect; // was first 16 bytes of TAknLayoutRect  iOutlineRect;
00194 
00195     CCoeControl             *iField;                           // bytes 0..3   of TAknLayoutRect iUnused7;
00196     CAknsFrameBackgroundControlContext *iPopupFindCC;          // bytes 4..7   of TAknLayoutRect iUnused7;
00197     CAknsFrameBackgroundControlContext *iInputContext;         // bytes 8..11  of TAknLayoutRect iUnused7;
00198     TAknsItemID             iIconSkinID;                       // bytes 12..19 of TAknLayoutRect iUnused7;
00199     CAknsBasicBackgroundControlContext *iPopupListCC;          // was TAny*   iExtension; // not used
00200 
00201 
00202     // these are unused
00203     TAknLayoutRect          iUnUsed1;
00204     TAknLayoutRect          iUnUsed2;
00205     TAknLayoutRect          iUnused3;
00206     TAknLayoutRect          iUnused4;
00207     TAknLayoutRect          iUnused5;
00208     TAknLayoutRect          iUnused6;
00209 
00210     TAny*                   iSpare;     // WAS CEikLabel* iInfoText;
00211     TAny*                   iSpare2;    // was last 4 bytes of TAknLayoutRect  iOutlineRect;
00212     };
00213 
00214 
00215 #endif
00216 
00217 
00218 

Copyright © Nokia Corporation 2001-2007
Back to top