--- a/epoc32/include/mw/akninfrm.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/akninfrm.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,239 @@
-akninfrm.h
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDES
+#ifndef __AKNINFRM_H__
+#define __AKNINFRM_H__
+
+
+#include <eikdef.h>
+#include <eikbctrl.h>
+#include <gulicon.h>
+#include <eiklabel.h>
+#include <aknutils.h>
+#include <avkon.rsg>
+
+class CAknsFrameBackgroundControlContext;
+class CAknsBasicBackgroundControlContext;
+// CLASS DECLARATION
+/**
+* Implements an input frame which can contain any @c CCoeControl.
+* The input frame can have additional icon and/or info text.
+* @since Series60 0.9
+*/
+NONSHARABLE_CLASS(CAknInputFrame) : public CEikBorderedControl, public MCoeControlObserver
+ {
+public:
+
+ /**
+ * Default C++ constructor.
+ */
+ CAknInputFrame();
+
+ /**
+ * Destructor. Frees all resources owned by the object prior to its
+ * destruction.
+ */
+ IMPORT_C ~CAknInputFrame();
+
+ /**
+ * Two-phased constructor.
+ * @param aField Control which will be located inside the input frame
+ * @param aComponentOwner Defines whether the ownership of the control will
+ * be transferred or not.
+ * @param aBitmapfile Bitmap file name and path.
+ * @param aBitmapId Bitmap Id.
+ * @param aMaskId Bitmap Mask Id.
+ * @param aFlags Flags.
+ * @return a Pointer to the new @c CAknInputFrame object.
+ */
+ IMPORT_C static CAknInputFrame* NewL(CCoeControl* aField,TBool aComponentOwner,
+ const TDesC& aBitmapfile, TInt aBitmapId, TInt aMaskId,
+ TUint32 aFlags = 0 );
+ /**
+ * Two-phased constructor.
+ * @param aField Control which will be located inside the input frame
+ * @param aComponentOwner Defines whether the ownership of the control is
+ * transferred or not.
+ * @param aIcon Bitmap file name and path.
+ * @param aFlags Flags.
+ * @return a Pointer to the new @c CAknInputFrame object.
+ */
+ IMPORT_C static CAknInputFrame* NewL(CCoeControl* aField,TBool aComponentOwner,
+ CGulIcon* aIcon, TUint32 aFlags = 0 );
+ /**
+ * Returns apointer to field.
+ * @return a Pointer to the control, which is located inside the input frame.
+ */
+ IMPORT_C CCoeControl* Field() const;
+
+ /**
+ * Sets additional info text to input frame.
+ * @param aText Info text to be added in the input frame.
+ * @deprecated
+ */
+ IMPORT_C void SetInfoTextL(const TDesC& aText);
+
+ /**
+ * Sets the lines visible or invisible.
+ * @param aText @c ETrue to make the line visible, @c EFalse to make it
+ * invisible.
+ */
+ IMPORT_C void SetLineState(TBool aLineVisible);
+
+ /**
+ * Sets new icon to input frame.
+ * @param aIcon a Pointer to the new icon. Ownership is transffered which
+ * means that object is deleted in @c CAknInputFrame::~CAknInputFrame().
+ */
+ void SetIcon(CGulIcon* aIcon);
+
+ /**
+ * Get flags of current input frame.
+ * @return flags.
+ * @since Series 60 5.0
+ */
+ TUint Flags() const;
+
+ /**
+ * Set new flags to current input frame.
+ * @param aNewFlags is new flag.
+ * @since Series 60 5.0
+ */
+ void SetFlags( TUint aNewFlags );
+
+public: //from MCoeControlObserver
+
+ /**
+ * Handles focus changes. This is called by the UI Control Framework to
+ * notify that an event occured in observed input frame.
+ * @param aControl The control where event has happened.
+ * @param aEventType a Type of the event.
+ */
+ IMPORT_C void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
+
+public: //from CCoeControl
+
+ /**
+ * Handles key events.
+ * @param aKeyEvent The key event.
+ * @param aType The type of the event: @c EEventKey, @c EEventKeyUp or
+ * @c EEventKeyDown.
+ * @return Indicates whether or not the key event was used by this control.
+ */
+ IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
+ /**
+ * Tells the minimum size of the control.
+ * @return The minimum size of the control.
+ */
+ IMPORT_C TSize MinimumSize();
+
+ /**
+ * The second phase constructor: constructs input frame from resources.
+ * @param The resource reader.
+ */
+ IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
+
+ /**
+ * Sets the implementation of this control context in this input frame.
+ * It is a layout background of the frame item.
+ * @since Series 60 2.1
+ * @param Pointer to the context.
+ */
+ IMPORT_C void SetInputContext(CAknsFrameBackgroundControlContext* aContext);
+
+ /**
+ * From CCoeControl. Handles a change to the control's resources.
+ * @param aType A message UID value.
+ */
+ void HandleResourceChange( TInt aType );
+
+private: // From CCoeControl
+ void SizeChanged();
+ void FocusChanged(TDrawNow aDrawNow);
+ void Draw(const TRect& aRect) const;
+ void PrepareForFocusLossL();
+
+private:
+ void BaseConstructL(CCoeControl* aField, TBool aOwner, TUint32 aFlags);
+ void ConstructL(CCoeControl* aField, TBool aOwner, const TDesC& aFileName, TInt aBitmapId, TInt aMaskId, TUint32 aFlags);
+ void ConstructL(CCoeControl* aField, TBool aOwner, CGulIcon* aIcon, TUint32 aFlags);
+ void CreateIconL();
+
+public:
+ /** Enumeration flags for different layouts. */
+ enum TInputFrameFlags
+ {
+ /** a Standard layout. */
+ EOwnsField=0x40,
+ /** a Popup layoyt. */
+ EPopupLayout=0x80,
+ /** a Pinboard layout. */
+ EPinbLayout=0x100,
+ /** a ClockAppLayout. */
+ EClockAppLayout=0x200,
+ /** a Layout without lines. */
+ EFixedFindWithoutLine = 0x400,
+ /** a Layout that shows indicator.*/
+ EShowIndicators = 0x800,
+ /** A layout used by list query. */
+ EPopupWindowLayout=0x1000
+ };
+
+private:
+ enum TInfrmPrivateFlags
+ {
+ EOwnsInputContext = 0x2000
+ };
+
+ CGulIcon* iIcon;
+ TUint32 iFlags;
+ TAknLayoutRect iMagnIconPos; // position of the looking glass icon
+ // sizeof(Taknlayoutrect)=20 sizeof(TRect)=16 sizeof(CCoeControl*)=4 sizeof TAknsItemID=8
+ TRect iOutlineRect; // was first 16 bytes of TAknLayoutRect iOutlineRect;
+
+ CCoeControl *iField; // bytes 0..3 of TAknLayoutRect iUnused7;
+ CAknsFrameBackgroundControlContext *iPopupFindCC; // bytes 4..7 of TAknLayoutRect iUnused7;
+ CAknsFrameBackgroundControlContext *iInputContext; // bytes 8..11 of TAknLayoutRect iUnused7;
+ TAknsItemID iIconSkinID; // bytes 12..19 of TAknLayoutRect iUnused7;
+ CAknsBasicBackgroundControlContext *iPopupListCC; // was TAny* iExtension; // not used
+
+
+ // these are unused
+ TAknLayoutRect iUnUsed1;
+ TAknLayoutRect iUnUsed2;
+ TAknLayoutRect iUnused3;
+ TAknLayoutRect iUnused4;
+ TAknLayoutRect iUnused5;
+ TAknLayoutRect iUnused6;
+
+ TAny* iSpare; // WAS CEikLabel* iInfoText;
+ TAny* iSpare2; // was last 4 bytes of TAknLayoutRect iOutlineRect;
+
+ HBufC* iFileName;
+ TInt iBitmapId;
+ TInt iMaskId;
+
+ };
+
+
+#endif
+
+
+