--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mulwidgets/alfscrollbarwidget/inc/ialfscrollbarbaseelementinternal.h Thu Dec 17 08:56:02 2009 +0200
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2007 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 for the scrollbar base element internal functions.
+*
+*/
+
+#ifndef I_ALFSCROLLBARBASEELEMENTINTERNAL_H
+#define I_ALFSCROLLBARBASEELEMENTINTERNAL_H
+
+//Widget Model include
+#include <alf/ialfinterfacebase.h>
+
+//Toolkit include
+#include <alf/alfevent.h>
+
+namespace Alf
+ {
+
+/**
+ * @namespace alfscrollbarbaseelementinternal
+ *
+ * ident specifies the unique identifier for the scrollbar base-element
+ * internal interface.
+ */
+namespace alfscrollbarbaseelementinternal
+ {
+ static const IfId ident =
+ {
+ 0,"scrollbarbaseelementinternal"
+ };
+ }
+
+/**
+ * An internal interface to be used by custom scrollbar base element writer.
+ *
+ * An interface which should be implemented by all the base elements of
+ * scrollbar (e.g. AlfScrollBarDefaltBaseElement, AlfScrollBarArrowBAseElement,
+ * AlfScrollBarDefaltLctBaseElement). The interface is exported for the
+ * developers who wants to create their custom scrollbar base element.
+ * The functions of this interface are not supposed to be called by scrollbar
+ * widget users directly. These functions are called by different part of
+ * scrollbar widget (e.g. scrollbar control, long tap pointer event timer).
+ *
+ */
+class IAlfScrollBarBaseElementInternal : public IAlfInterfaceBase
+ {
+
+public:
+
+ /**
+ * Getter for the type identifier of this interface.
+ * Usage:
+ * @code
+ * IAlfElement* element;
+ * IAlfScrollBarBaseElementInternal* elementInternal =
+ * static_cast<IAlfScrollBarBaseElementInternal*> (
+ * element->makeInterface (IAlfScrollBarBaseElementInternal::type() ) );
+ * @endcode
+ * @see \link IAlfInterfaceBase \endlink for
+ * \link IAlfInterfaceBase::makeInterface \endlink
+ * The above code provides all the interfaces of ScrollBar base element.
+ * @since S60 ?S60_version
+ * @return Identifier of this interface.
+ */
+ static inline const IfId& type()
+ {
+ return alfscrollbarbaseelementinternal :: ident;
+ }
+
+ /**
+ * baseLayoutSizeChanged.
+ * This function is called by scrollbar control to notify scrollbar base
+ * element the base layout size has been changed ( and so the base element
+ * should relayout its internal visualization).
+ *
+ * @since S60 ?S60_version
+ */
+ virtual void baseLayoutSizeChanged()=0;
+
+ /**
+ * Send the corresponding Custom events to the scrollbar eventhandlers
+ * according to the visual clicked.
+ *
+ */
+ virtual bool processPointerEvent(TAlfEvent * aPntrEvent)=0;
+
+ /**
+ * creates the visualization
+ *
+ */
+ virtual void createVisualization() = 0;
+
+ /**
+ * Destroys the visualization
+ *
+ */
+ virtual void updateVisualization() = 0;
+
+ /**
+ * updates the visualization
+ *
+ */
+ virtual void destroyVisualization() = 0;
+
+ /**
+ * Returns pointer to AlfScrollBarModel
+ */
+ virtual void initializeScrollModel() = 0;
+
+ /**
+ * Handles Longtap event
+ */
+ virtual AlfEventStatus handleLongTapEvent() = 0;
+
+ /**
+ *virtual Destructor.
+ *
+ */
+ virtual ~IAlfScrollBarBaseElementInternal() {}
+
+ }; // end of class IAlfScrollBarBaseElementInternal
+
+ } // end of namespace Alf
+
+#endif // I_ALFSCROLLBARBASEELEMENTINTERNAL_H
+//End Of File