javauis/lcdui_akn/lcdui/inc/CMIDTextBoxEdwin.h
branchRCL_3
changeset 14 04becd199f91
child 17 0fd27995241b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/lcdui_akn/lcdui/inc/CMIDTextBoxEdwin.h	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2003-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation class for TextBox
+*
+*/
+
+
+#ifndef CMIDTEXTBOXEDWIN_H
+#define CMIDTEXTBOXEDWIN_H
+
+// ========== INCLUDE FILES ================================
+#include <fepbase.h>    // for MCoeCaptionRetrieverForFep
+#include "CMIDEdwin.h"
+
+// ========== FORWARD DECLARATIONS =========================
+
+class CMIDTextBoxEdwinCustomDraw;
+
+// ========== CLASS DECLARATION ============================
+
+NONSHARABLE_CLASS(CMIDTextBoxEdwin) : public CMIDEdwin, public MCoeCaptionRetrieverForFep
+{
+public:
+    static CMIDTextBoxEdwin* NewL(TInt aConstraints,const TDesC& aText,TInt aMaxSize,
+    MMIDDisplayable* aDisplayable);
+    ~CMIDTextBoxEdwin();
+
+    // From CEikEdwin
+    /**
+     * Creates a new @c CLafEdwinCustomDrawBase instance.
+     *
+     * @return Pointer to new custom @c CLafEdwinCustomDrawBase object.
+     */
+    virtual CLafEdwinCustomDrawBase* CreateCustomDrawL();
+
+#ifdef RD_SCALABLE_UI_V2
+    void HandlePointerEventL(const TPointerEvent &aPointerEvent);
+#endif // RD_SCALABLE_UI_V2
+
+    // From CCoeControl
+    TCoeInputCapabilities InputCapabilities() const;
+
+    // From MCoeCaptionRetrieverForFep
+    void GetCaptionForFep(TDes& aCaption) const;
+
+protected: // from CMIDEdwin
+    /**
+     * Layouts the CMIDTextBoxEdwin relative to the parent.
+     * @note The margins are added by CMIDTextBoxControl::SizeChanged()
+     * @see CMIDTextBoxControl::SizeChanged()
+     * <p>
+     * @param aRect the parent rect
+     * @param aLayout multi line layout info
+     */
+    virtual void DoLayout(const TRect& aRect);
+    void AddCommandsToEdwinL(RPointerArray<MMIDCommand>& aArray);
+
+private: // Constructors
+    /**
+     * Constructor
+     */
+    CMIDTextBoxEdwin(TUint aConstraints, MMIDDisplayable* aDisplayable);
+
+    /**
+     * Second phase constructor
+     * @param aText a text to be set in the field
+     * @param aMaxSize maximum number of characters to allow
+     */
+    void ConstructL(const TDesC& aText,TInt aMaxSize);
+
+    /**
+     * Get the layout for the Edwin
+     *
+     * @return multi line layout structure
+     */
+    TAknMultiLineTextLayout GetLayout() const;
+
+public:
+
+    /**
+     * Returning pointer to owned CMIDTextBoxEdwinCustomDraw
+     *
+     * @return Pointer to iCustomDraw.
+     */
+    CMIDTextBoxEdwinCustomDraw* GetCustomDraw() const;
+
+private: // data
+    // reference on the latest instance created, EikEdwin owns the instance
+    CMIDTextBoxEdwinCustomDraw* iCustomDraw;
+};
+
+#endif // CMIDTEXTBOXEDWIN_H