--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputcommonctrls/inc/peninputbuttons/peninputlongpressbutton.h Tue May 25 13:03:44 2010 +0300
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2002-2005 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: Interface of normal button and multidisplay button
+*
+*/
+
+
+#ifndef C_CAKNFEPCTRLLONGPRESSBUTTON_H
+#define C_CAKNFEPCTRLLONGPRESSBUTTON_H
+
+// system includes
+#include <peninputlayoutbasecontrol.h>
+#include <peninputlayoutbutton.h>
+#include <peninputpluginutils.h>
+#include <peninputeventbutton.h>
+
+// forward declarations
+class TResourceReader;
+
+/**
+ * CAknFepCtrlLongPressButton
+ *
+ * @lib fepcommonctrls.lib
+ * @since S60 v3.2
+ */
+class CAknFepCtrlLongPressButton: public CAknFepCtrlEventButton, public MAknFepTimerHandler
+{
+public:
+
+ /**
+ * Symbian constructor.
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The layout
+ * @param aControlId The control id
+ * @param aEvent An event to be sent
+ * @param aUnicode A Unicode value to be sent
+ * @return Pointer to created CAknFepCtrlLongPressButton object
+ */
+ IMPORT_C static CAknFepCtrlLongPressButton* NewL(CFepUiLayout* aUiLayout,
+ TInt aControlId,
+ TInt aEvent = 0xFFFF,
+ TInt aUnicode = 0,
+ TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
+ TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
+ TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
+
+ /**
+ * Symbian constructor.
+ *
+ * @since S60 v3.2
+ * @param aUiLayout The layout
+ * @param aControlId The control id
+ * @param aEvent An event to be sent
+ * @param aUnicode A Unicode value to be sent
+ * @return Pointer to created CAknFepCtrlLongPressButton object
+ */
+ IMPORT_C static CAknFepCtrlLongPressButton* NewLC(CFepUiLayout* aUiLayout,
+ TInt aControlId,
+ TInt aEvent = 0xFFFF,
+ TInt aUnicode = 0,
+ TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
+ TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
+ TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
+ /**
+ * destructor.
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ IMPORT_C virtual ~CAknFepCtrlLongPressButton();
+
+ /**
+ * Cancel long press timer
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ IMPORT_C void CancelTimer();
+
+// from base class MAknFepHwrTimerHandler
+
+ /**
+ * from MAknFepHwrTimerHandler
+ * HandleTimerOut. Handling time out event
+ *
+ * @since S60 v3.2
+ * @param aTimer The timer which sending the request
+ * @return None
+ */
+ IMPORT_C void HandleTimerOut(const CAknFepTimer* aTimer);
+
+protected:
+
+ /**
+ * C++ constructor.
+ *
+ * @since S60 v3.2
+ * @param aUiLayout Ui Layout who contains this control
+ * @param aCtrlId Control Id
+ * @param aEvent An event to be sent
+ * @param aUnicode A Unicode value to be sent
+ * @return None
+ */
+ IMPORT_C CAknFepCtrlLongPressButton(CFepUiLayout* aUiLayout,
+ TInt aCtrlId,
+ TInt aEvent,
+ TInt aUnicode,
+ TAknsItemID aNormalID = KAknsIIDQsnFrFunctionButtonNormal,
+ TAknsItemID aPressedID = KAknsIIDQsnFrFunctionButtonPressed,
+ TAknsItemID aInactiveID = KAknsIIDQsnFrFunctionButtonInactive);
+
+// from base class CButtonBase
+
+ /**
+ * From CButtonBase
+ * Handle button down event. start long press timer
+ *
+ * @since S60 v3.2
+ * @param aPt Point position
+ * @return The control who handles the event
+ */
+ IMPORT_C CFepUiBaseCtrl* HandlePointerDownEventL(const TPoint& aPt);
+
+ /**
+ * From CButtonBase
+ * Handle button up event. cancel the timer
+ *
+ * @since S60 v3.2
+ * @param aPt Point position
+ * @return The control who handles the event
+ */
+ IMPORT_C CFepUiBaseCtrl* HandlePointerUpEventL(const TPoint& aPt);
+
+ /**
+ * From CButtonBase
+ * Handle pointer leave event.
+ *
+ * @since S60 v3.2
+ * @param aPoint current pointer position
+ * @return Nothing
+ */
+ IMPORT_C void HandlePointerLeave(const TPoint& aPoint);
+
+ /**
+ * From CButtonBase
+ * Cancel pointer down event.
+ *
+ * @since S60 v3.2
+ * @param aPoint current pointer position
+ * @return Nothing
+ */
+ IMPORT_C void CancelPointerDownL();
+
+ /**
+ * Symbian 2nd phase constructor.
+ */
+ IMPORT_C void ConstructL();
+
+private:
+
+ /**
+ * interval of long press
+ */
+ TTimeIntervalMicroSeconds32 iLongPressInterval;
+
+ /**
+ * long press timer (Own)
+ */
+ CAknFepTimer* iLongPressTimer;
+
+ /**
+ * indicates whether long press has occurred
+ */
+ TBool iIsLongPress;
+
+};
+
+#endif // C_CAKNFEPCTRLLONGPRESSBUTTON_H
+
+// End Of File