Add C# properties for actor current position and size
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / SWIG / events / actor-event.i
old mode 100644 (file)
new mode 100755 (executable)
index e325613..93b5c15
 %define ACTOR_EVENTHANDLER_TYPEMAP_HELPER(NameSpace, ClassName)
   %typemap(cscode) NameSpace::ClassName %{
 
-
-    /**
-      * @brief Event arguments that passed via Touch signal
-      *
-      */
-    public class TouchEventArgs : EventArgs
-    {
-       private Actor _actor;
-       private TouchData _touchData;
-
-      /**
-        * @brief Actor - is the actor that is being touched
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-
-      /**
-        * @brief TouchData - contains the information of touch points
-        *
-        */
-      public TouchData TouchData
-      {
-        get
-        {
-          return _touchData;
-        }
-        set
-        {
-          _touchData = value;
-        }
-      }
-    }
-
-    /**
-      * @brief Event arguments that passed via Hover signal
-      *
-      */
-    public class HoverEventArgs : EventArgs
-    {
-    private Actor _actor;
-    private HoverEvent _hoverEvent;
-
-      /**
-        * @brief Actor - is the actor that is being hovered
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-
-      /**
-        * @brief HoverEvent - contains touch points that represent the points
-        * that are currently being hovered or the points where a hover has stopped
-        *
-        */
-      public HoverEvent HoverEvent
-      {
-        get
-        {
-          return _hoverEvent;
-        }
-        set
-        {
-          _hoverEvent = value;
-        }
-      }
-    }
-
-    /**
-      * @brief Event arguments that passed via Wheel signal
-      *
-      */
-    public class WheelEventArgs : EventArgs
-    {
-    private Actor _actor;
-    private WheelEvent _wheelEvent;
-
-      /**
-        * @brief Actor - is the actor that is being wheeled
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-
-      /**
-        * @brief WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
-        *
-        */
-      public WheelEvent WheelEvent
-      {
-        get
-        {
-          return _wheelEvent;
-        }
-        set
-        {
-          _wheelEvent = value;
-        }
-      }
-    }
-
-    /**
-      * @brief Event arguments that passed via OnStage signal
-      *
-      */
-    public class OnStageEventArgs : EventArgs
-    {
-    private Actor _actor;
-
-      /**
-        * @brief Actor - is the actor that is being connected to the stage
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-    }
-
-    /**
-      * @brief Event arguments that passed via OffStage signal
-      *
-      */
-    public class OffStageEventArgs : EventArgs
-    {
-    private Actor _actor;
-
-      /**
-        * @brief Actor - is the actor that is being disconnected from the stage
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-    }
-
-    /**
-      * @brief Event arguments that passed via OnRelayout signal
-      *
-      */
-    public class OnRelayoutEventArgs : EventArgs
-    {
-      private Actor _actor;
-
-      /**
-        * @brief Actor - is the actor that is being resized upon relayout
-        *
-        */
-      public Actor Actor
-      {
-        get
-        {
-          return _actor;
-        }
-        set
-        {
-          _actor = value;
-        }
-      }
-    }
-
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate bool TouchEventHandler(object source, TouchEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate bool HoverEventHandler(object source, HoverEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate bool WheelEventHandler(object source, WheelEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate void OnStageEventHandler(object source, OnStageEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate void OffStageEventHandler(object source, OffStageEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    public delegate void OnRelayoutEventHandler(object source, OnRelayoutEventArgs e);
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate bool TouchCallbackDelegate(IntPtr actor, IntPtr touchData);
-    private TouchEventHandler _actorTouchDataEventHandler;
-    private TouchCallbackDelegate _actorTouchDataCallbackDelegate;
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate bool HoverEventCallbackDelegate(IntPtr actor, IntPtr hoverEvent);
-    private HoverEventHandler _actorHoverEventHandler;
-    private HoverEventCallbackDelegate _actorHoverEventCallbackDelegate;
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate bool WheelEventCallbackDelegate(IntPtr actor, IntPtr wheelEvent);
-    private WheelEventHandler _actorWheelEventHandler;
-    private WheelEventCallbackDelegate _actorWheelEventCallbackDelegate;
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate void OnStageEventCallbackDelegate(IntPtr actor);
-    private OnStageEventHandler _actorOnStageEventHandler;
-    private OnStageEventCallbackDelegate _actorOnStageEventCallbackDelegate;
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate void OffStageEventCallbackDelegate(IntPtr actor);
-    private OffStageEventHandler _actorOffStageEventHandler;
-    private OffStageEventCallbackDelegate _actorOffStageEventCallbackDelegate;
-
-    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-    private delegate void OnRelayoutEventCallbackDelegate(IntPtr actor);
-    private OnRelayoutEventHandler _actorOnRelayoutEventHandler;
-    private OnRelayoutEventCallbackDelegate _actorOnRelayoutEventCallbackDelegate;
-
-    /**
-      * @brief Event for Touched signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of TouchEventHandler) provided by the user.
-      * Touched signal is emitted when touch input is received.
-      */
-    public event TouchEventHandler Touched
-    {
-      add
-      {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorTouchDataEventHandler == null)
-          {
-            _actorTouchDataEventHandler += value;
-
-            _actorTouchDataCallbackDelegate = new TouchCallbackDelegate(OnTouch);
-            this.TouchSignal().Connect(_actorTouchDataCallbackDelegate);
-          }
-        }
-      }
-
-      remove
-      {
-        lock(this)
-        {
-          if (_actorTouchDataEventHandler != null)
-          {
-            this.TouchSignal().Disconnect(_actorTouchDataCallbackDelegate);
-          }
-
-          _actorTouchDataEventHandler -= value;
-        }
-      }
+    public static ClassName Get ## ClassName ## FromPtr(global::System.IntPtr cPtr) {
+      ClassName ret = new ClassName(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
     }
 
-    // Callback for Actor TouchSignal
-    private bool OnTouch(IntPtr actor, IntPtr touchData)
+    public IntPtr GetPtrfrom ## ClassName ()
     {
-      TouchEventArgs e = new TouchEventArgs();
-
-      // Populate all members of "e" (TouchEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(actor);
-      e.TouchData = Dali.TouchData.GetTouchDataFromPtr(touchData);
-
-      if (_actorTouchDataEventHandler != null)
-      {
-        //here we send all data to user event handlers
-        return _actorTouchDataEventHandler(this, e);
-      }
-
-      return false;
+       return (IntPtr)swigCPtr;
     }
 
-    /**
-      * @brief Event for Hovered signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of HoverEventHandler) provided by the user.
-      * Hovered signal is emitted when hover input is received.
-      */
-    public event HoverEventHandler Hovered
+    public Position CurrentPosition
     {
-      add
+      get
       {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorHoverEventHandler == null)
-          {
-            _actorHoverEventHandler += value;
-
-            _actorHoverEventCallbackDelegate = new HoverEventCallbackDelegate(OnHoverEvent);
-            this.HoveredSignal().Connect(_actorHoverEventCallbackDelegate);
-          }
-        }
-      }
-
-      remove
-      {
-        lock(this)
-        {
-          if (_actorHoverEventHandler != null)
-          {
-            this.HoveredSignal().Disconnect(_actorHoverEventCallbackDelegate);
-          }
-
-          _actorHoverEventHandler -= value;
-        }
+        return GetCurrentPosition();
       }
     }
 
-    // Callback for Actor Hover signal
-    private bool OnHoverEvent(IntPtr actor, IntPtr hoverEvent)
+    public Size3D CurrentSize
     {
-      HoverEventArgs e = new HoverEventArgs();
-
-      // Populate all members of "e" (HoverEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(actor);
-      e.HoverEvent = Dali.HoverEvent.GetHoverEventFromPtr(hoverEvent);
-
-      if (_actorHoverEventHandler != null)
+      get
       {
-        //here we send all data to user event handlers
-        return _actorHoverEventHandler(this, e);
+        return GetCurrentSize();
       }
-
-      return false;
     }
 
-    /**
-      * @brief Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of WheelEventHandler) provided by the user.
-      * WheelMoved signal is emitted when wheel event is received.
-      */
-    public event WheelEventHandler WheelMoved
+    public Actor Parent
     {
-      add
-      {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorWheelEventHandler == null)
-          {
-            _actorWheelEventHandler += value;
-
-            _actorWheelEventCallbackDelegate = new WheelEventCallbackDelegate(OnWheelEvent);
-            this.WheelEventSignal().Connect(_actorWheelEventCallbackDelegate);
-          }
-        }
-      }
-
-      remove
+      get
       {
-        lock(this)
-        {
-          if (_actorWheelEventHandler != null)
-          {
-            this.WheelEventSignal().Disconnect(_actorWheelEventCallbackDelegate);
-          }
-
-          _actorWheelEventHandler -= value;
-        }
+        return GetParent();
       }
     }
 
-    // Callback for Actor Wheel signal
-    private bool OnWheelEvent(IntPtr actor, IntPtr wheelEvent)
-    {
-      WheelEventArgs e = new WheelEventArgs();
-
-      // Populate all members of "e" (WheelEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(actor);
-      e.WheelEvent = Dali.WheelEvent.GetWheelEventFromPtr(wheelEvent);
-
-      if (_actorWheelEventHandler != null)
+   public bool Visibility
+   {
+      get
       {
-        //here we send all data to user event handlers
-        return _actorWheelEventHandler(this, e);
+        return IsVisible();
       }
-
-      return false;
     }
 
-    /**
-      * @brief Event for OnStage signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of OnStageEventHandler) provided by the user.
-      * OnStage signal is emitted after the actor has been connected to the stage.
-      */
-    public event OnStageEventHandler OnStageEvent
-    {
-      add
+   public float Opacity
+   {
+      set
       {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorOnStageEventHandler == null)
-          {
-            _actorOnStageEventHandler += value;
-
-            _actorOnStageEventCallbackDelegate = new OnStageEventCallbackDelegate(OnStage);
-            this.OnStageSignal().Connect(_actorOnStageEventCallbackDelegate);
-          }
-        }
+        SetOpacity(value);
       }
-
-      remove
+      get
       {
-        lock(this)
-        {
-          if (_actorOnStageEventHandler != null)
-          {
-            this.OnStageSignal().Disconnect(_actorOnStageEventCallbackDelegate);
-          }
-
-          _actorOnStageEventHandler -= value;
-        }
-      }
-    }
-
-    // Callback for Actor OnStage signal
-    private void OnStage(IntPtr data)
-    {
-      OnStageEventArgs e = new OnStageEventArgs();
-
-      // Populate all members of "e" (OnStageEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(data);
-
-      if (_actorOnStageEventHandler != null)
-      {
-        //here we send all data to user event handlers
-        _actorOnStageEventHandler(this, e);
+        return GetCurrentOpacity();
       }
-    }
+   }
 
-    /**
-      * @brief Event for OffStage signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of OffStageEventHandler) provided by the user.
-      * OffStage signal is emitted after the actor has been disconnected from the stage.
-      */
-    public event OffStageEventHandler OffStageEvent
+    public bool StateFocusEnable
     {
-      add
+      set
       {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorOffStageEventHandler == null)
-          {
-            _actorOffStageEventHandler += value;
-
-            _actorOffStageEventCallbackDelegate = new OffStageEventCallbackDelegate(OffStage);
-            this.OnStageSignal().Connect(_actorOffStageEventCallbackDelegate);
-          }
-        }
+        SetKeyboardFocusable(value);
       }
-
-      remove
+      get
       {
-        lock(this)
-        {
-          if (_actorOffStageEventHandler != null)
-          {
-            this.OnStageSignal().Disconnect(_actorOffStageEventCallbackDelegate);
-          }
-
-          _actorOffStageEventHandler -= value;
-        }
+        return IsKeyboardFocusable();
       }
     }
 
-    // Callback for Actor OffStage signal
-    private void OffStage(IntPtr data)
+    public bool IsOnStage
     {
-      OffStageEventArgs e = new OffStageEventArgs();
-
-      // Populate all members of "e" (OffStageEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(data);
-
-      if (_actorOffStageEventHandler != null)
+      get
       {
-        //here we send all data to user event handlers
-        _actorOffStageEventHandler(this, e);
+        return OnStage();
       }
     }
 
-    /**
-      * @brief Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler
-      * (in the type of OnRelayoutEventHandler) provided by the user.
-      * OnRelayout signal is emitted after the size has been set on the actor during relayout.
-      */
-    public event OnRelayoutEventHandler OnRelayoutEvent
+    public int SiblingOrder
     {
-      add
+      get
       {
-        lock(this)
-        {
-          // Restricted to only one listener
-          if (_actorOnRelayoutEventHandler == null)
-          {
-            _actorOnRelayoutEventHandler += value;
-
-            _actorOnRelayoutEventCallbackDelegate = new OnRelayoutEventCallbackDelegate(OnRelayout);
-            this.OnRelayoutSignal().Connect(_actorOnRelayoutEventCallbackDelegate);
-          }
-        }
+        int temp = 0;
+        GetProperty( Actor.Property.SIBLING_ORDER).Get( ref temp );
+        return temp;
       }
-
-      remove
+      set
       {
-        lock(this)
-        {
-          if (_actorOnRelayoutEventHandler != null)
-          {
-            this.OnRelayoutSignal().Disconnect(_actorOnRelayoutEventCallbackDelegate);
-          }
-
-          _actorOnRelayoutEventHandler -= value;
-        }
+        SetProperty( Actor.Property.SIBLING_ORDER, new Dali.Property.Value( value ) );
       }
     }
 
-    // Callback for Actor OnRelayout signal
-    private void OnRelayout(IntPtr data)
+    public void Show()
     {
-      OnRelayoutEventArgs e = new OnRelayoutEventArgs();
-
-      // Populate all members of "e" (OnRelayoutEventArgs) with real data
-      e.Actor = Actor.GetActorFromPtr(data);
-
-      if (_actorOnRelayoutEventHandler != null)
-      {
-        //here we send all data to user event handlers
-        _actorOnRelayoutEventHandler(this, e);
-      }
-    }
-
-    public static ClassName Get ## ClassName ## FromPtr(global::System.IntPtr cPtr) {
-      ClassName ret = new ClassName(cPtr, false);
-      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
+      SetVisible(true);
     }
 
-    public IntPtr GetPtrfrom ## ClassName ()
+    public void Hide()
     {
-       return (IntPtr)swigCPtr;
+      SetVisible(false);
     }
-    %}
+%}
 
-    %enddef
+%enddef
 
 %define DALI_ACTOR_EVENTHANDLER_PARAM( NameSpace, ClassName)
 
-  ACTOR_EVENTHANDLER_TYPEMAP_EVENTARG( NameSpace, ClassName);
-  ACTOR_EVENTHANDLER_TYPEMAP_HELPER( NameSpace, ClassName);
+ACTOR_EVENTHANDLER_TYPEMAP_EVENTARG( NameSpace, ClassName);
+ACTOR_EVENTHANDLER_TYPEMAP_HELPER( NameSpace, ClassName);
 
-  %enddef
+%enddef
 
-  namespace Dali
+namespace Dali
 {
   DALI_ACTOR_EVENTHANDLER_PARAM( Dali, Actor);
 }