mulwidgets/mulsliderwidget/inc/imulsliderbaseelementinternal.h
branchRCL_3
changeset 26 0e9bb658ef58
parent 0 e83bab7cf002
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mulwidgets/mulsliderwidget/inc/imulsliderbaseelementinternal.h	Wed Sep 01 12:23:18 2010 +0100
@@ -0,0 +1,149 @@
+/*
+* 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 slider base element internal functions.
+ *
+*/
+
+#ifndef I_MULSLIDERBASEELEMENTINTERNAL_H
+#define I_MULSLIDERBASEELEMENTINTERNAL_H
+
+//Widget Model include
+#include <alf/ialfinterfacebase.h>
+
+//Toolkit include
+#include <alf/alfevent.h>
+#include <alf/alftypes.h>
+#include <mul/imulsliderwidget.h>
+namespace Alf
+    {
+    enum SliderLCTIDs
+    {
+    EHSliderPane,// horizontal slider aacf_slider_pane(0) for base layout 
+    EHSliderBase,
+    EHSliderCentre,
+    EHSliderCenter,// horizontal slider aaslider_bg_pane(0) for track
+    EHSliderRight,
+    EHSliderLeft,
+    EHSliderHandle,// horizontal slider aacf_slider_pane_g1(0) for thumb 
+    EHSliderHandleExtended,
+    EVSliderPane,  // vertical slider aaslider_pane(2) for mainlayout
+    EVSliderBackground, // vertical slider aaslider_pane_g1(2) for mainlayout
+    EVSliderBgPane , // aaslider_bg_pane_cp001     
+    EVSliderTop ,
+    EVSliderMiddle ,
+    EVSliderEnd ,
+    EVSliderPlus, //aid_touch_size_slider_max
+    EVSliderMinus, //aid_touch_size_slider_min
+    EVSliderMarker, //aacf_slider_pane_g1
+    EVSliderMarkerExtended,
+    EVSliderZoomText, //aaslider_pane_t3
+    EVSliderAudioImage,
+    EVSliderInnerRect,
+    EPSliderLeft,
+    EPSliderCentre,
+    EPSliderRight   
+    };    
+enum TOperation
+{
+ENop,      // Nothing is going on.
+EMoveItem   // Item is begin moved.
+}; 
+/**
+ * @namespace mulsliderbaseelementinternal
+ *
+ * internal interface.
+ */
+namespace mulsliderbaseelementinternal
+    {
+    static const IfId ident =
+        {
+        0,"mulsliderbaseelementinternal" 
+        };
+    }
+
+
+class IMulSliderBaseElementInternal : public IAlfInterfaceBase 
+    {
+
+public:
+
+ 
+    static inline const IfId& type()
+        {
+        return mulsliderbaseelementinternal :: ident;
+        }
+
+    /**
+     * Notified when the base layout of Slider changes .
+     * Relayouts all the visuals with respect to the new size.
+     */
+
+    virtual void baseLayoutSizeChanged()=0;
+    /**
+      * Creates the Visualization of Slider
+      * 
+      */
+ 
+    virtual void createVisualization(sliderTemplate aTemplate) = 0;
+    /**
+      * Updates the Visualization of Slider
+      * 
+      */
+
+    virtual void updateVisualization() = 0;
+    /**
+      * Updates the Text Visualization of Slider
+      * 
+      */
+
+    virtual void updateTextVisualization() = 0;
+    /**
+      * Stops all the event handling operations 
+      * 
+      */
+
+    virtual void stopEvents()
+        {
+        
+        }
+    /**
+      * API to make the widget transparent.
+      * @param aTransparent - True will make it transparent.
+      *                     - False for Opaque. 
+      */
+
+    virtual void MakeTransparent( bool /*aTransparent*/ )
+    {
+    	
+    }
+    /**
+      * API to Handle Long Tap events.
+      */   
+    virtual AlfEventStatus handleLongTap() 
+    {
+    	 return EEventNotHandled;
+    }
+       
+    /** 
+     *virtual Destructor.
+     *
+     */
+    virtual ~IMulSliderBaseElementInternal() {}
+
+    }; // end of class IMulSliderBaseElementInternal
+  
+    } // end of namespace Alf
+
+#endif // I_MULSLIDERBASEELEMENTINTERNAL_H
+//End Of File