add Timer Tick event 11/115611/1
authordongsug.song <dongsug.song@samsung.com>
Mon, 20 Feb 2017 15:44:36 +0000 (00:44 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Mon, 20 Feb 2017 15:44:36 +0000 (00:44 +0900)
Change-Id: I5a5ad9e93a4b616b4177c43480c626c9ffb38947
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.cs
Tizen.NUI/src/internal/TimerSignalType.cs
Tizen.NUI/src/public/Timer.cs

index f7e8e27..2bb8b86 100755 (executable)
@@ -42,6 +42,7 @@ namespace MyCSharpExample
         private TableView _contentContainer;\r
         private Stage _stage;\r
         private Popup _popup;\r
+        private Timer _timer;\r
 \r
         // List of items\r
         private Item[] mViewList = {\r
@@ -107,6 +108,11 @@ namespace MyCSharpExample
 \r
             FocusManager.Instance.PreFocusChange += OnPreFocusChange;\r
 \r
+            _timer = new Timer(500);\r
+            _timer.Tick += OnTimerTick;\r
+            _timer.Start();\r
+\r
+\r
             View _testView = new View();\r
             Tizen.Log.Debug("NUI", "1) test view sizewidth = " + _testView.SizeWidth + "  sizeHeight= " + _testView.SizeHeight);\r
             _testView.Size = new Size(1.0f, 2.0f, 0.0f);\r
@@ -126,6 +132,12 @@ namespace MyCSharpExample
 #endif\r
         }\r
 \r
+        private bool OnTimerTick(object sender, EventArgs e)\r
+        {\r
+            Tizen.Log.Debug("NUI", "OnTimerTick() is called!");\r
+            return true;\r
+        }\r
+\r
         // Callback for KeyboardFocusManager\r
         private View OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)\r
         {\r
index 427ebf3..a9820fe 100755 (executable)
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
 
-namespace Tizen.NUI {
-
-public class TimerSignalType : global::System.IDisposable {
-  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal TimerSignalType(global::System.IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-  }
-
-  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TimerSignalType obj) {
-    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~TimerSignalType() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
-        if (swigCMemOwn) {
-          swigCMemOwn = false;
-          NDalicPINVOKE.delete_TimerSignalType(swigCPtr);
-        }
-        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-      }
-      global::System.GC.SuppressFinalize(this);
+namespace Tizen.NUI\r
+{\r
+\r
+    public class TimerSignalType : global::System.IDisposable\r
+    {\r
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;\r
+        protected bool swigCMemOwn;\r
+\r
+        internal TimerSignalType(global::System.IntPtr cPtr, bool cMemoryOwn)\r
+        {\r
+            swigCMemOwn = cMemoryOwn;\r
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);\r
+        }\r
+\r
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TimerSignalType obj)\r
+        {\r
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;\r
+        }\r
+\r
+        ~TimerSignalType()\r
+        {\r
+            Dispose();\r
+        }\r
+\r
+        public virtual void Dispose()\r
+        {\r
+            lock (this)\r
+            {\r
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)\r
+                {\r
+                    if (swigCMemOwn)\r
+                    {\r
+                        swigCMemOwn = false;\r
+                        NDalicPINVOKE.delete_TimerSignalType(swigCPtr);\r
+                    }\r
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);\r
+                }\r
+                global::System.GC.SuppressFinalize(this);\r
+            }\r
+        }\r
+\r
+        public TimerSignalType() : this(NDalicPINVOKE.new_TimerSignalType(), true)\r
+        {\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+        }\r
+\r
+        public bool Empty()\r
+        {\r
+            bool ret = NDalicPINVOKE.TimerSignalType_Empty(swigCPtr);\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+            return ret;\r
+        }\r
+\r
+        public uint GetConnectionCount()\r
+        {\r
+            uint ret = NDalicPINVOKE.TimerSignalType_GetConnectionCount(swigCPtr);\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+            return ret;\r
+        }\r
+\r
+        public void Connect(SWIGTYPE_p_f___bool func)\r
+        {\r
+            NDalicPINVOKE.TimerSignalType_Connect__SWIG_0(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+        }\r
+\r
+        public void Disconnect(SWIGTYPE_p_f___bool func)\r
+        {\r
+            NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+        }\r
+\r
+        public void Connect(ConnectionTrackerInterface connectionTracker, SWIGTYPE_p_Dali__FunctorDelegate arg1)\r
+        {\r
+            NDalicPINVOKE.TimerSignalType_Connect__SWIG_4(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), SWIGTYPE_p_Dali__FunctorDelegate.getCPtr(arg1));\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+        }\r
+\r
+        public bool Emit()\r
+        {\r
+            bool ret = NDalicPINVOKE.TimerSignalType_Emit(swigCPtr);\r
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+            return ret;\r
+        }\r
+\r
+\r
+        public void Connect(System.Delegate func)\r
+        {\r
+            System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);\r
+            {\r
+                NDalicPINVOKE.TimerSignalType_Connect__SWIG_0(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));\r
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+            }\r
+        }\r
+\r
+        public void Disconnect(System.Delegate func)\r
+        {\r
+            System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);\r
+            {\r
+                NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));\r
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
+            }\r
+        }\r
+\r
+\r
     }
-  }
-
-  public TimerSignalType() : this(NDalicPINVOKE.new_TimerSignalType(), true) {
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public bool Empty() {
-    bool ret = NDalicPINVOKE.TimerSignalType_Empty(swigCPtr);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public uint GetConnectionCount() {
-    uint ret = NDalicPINVOKE.TimerSignalType_GetConnectionCount(swigCPtr);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public void Connect(SWIGTYPE_p_f___bool func) {
-    NDalicPINVOKE.TimerSignalType_Connect__SWIG_0(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public void Disconnect(SWIGTYPE_p_f___bool func) {
-    NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public void Connect(ConnectionTrackerInterface connectionTracker, SWIGTYPE_p_Dali__FunctorDelegate arg1) {
-    NDalicPINVOKE.TimerSignalType_Connect__SWIG_4(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), SWIGTYPE_p_Dali__FunctorDelegate.getCPtr(arg1));
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public bool Emit() {
-    bool ret = NDalicPINVOKE.TimerSignalType_Emit(swigCPtr);
-    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-}
 
 }
index 9caf62e..98ea103 100755 (executable)
@@ -26,6 +26,9 @@
 \r
 namespace Tizen.NUI\r
 {\r
+    using System;\r
+    using System.Runtime.InteropServices;\r
+\r
 \r
     public class Timer : BaseHandle\r
     {\r
@@ -147,13 +150,52 @@ namespace Tizen.NUI
             return ret;\r
         }\r
 \r
-        internal BoolSignal TickSignal()\r
+\r
+\r
+\r
+        public TimerSignalType TickSignal()\r
         {\r
-            BoolSignal ret = new BoolSignal(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);\r
+            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);\r
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();\r
             return ret;\r
         }\r
 \r
+        private DaliEventHandlerWithReturnType<object, EventArgs, bool> _tickEventHandler;\r
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]\r
+        internal delegate bool TickCallbackType();\r
+        private TickCallbackType _tickCallBack;\r
+\r
+        public event DaliEventHandlerWithReturnType<object, EventArgs, bool> Tick\r
+        {\r
+            add\r
+            {\r
+                if (_tickCallBack == null)\r
+                {\r
+                    _tickCallBack = OnTick;\r
+                    this.TickSignal().Connect(_tickCallBack);\r
+                }\r
+                _tickEventHandler += value;\r
+            }\r
+            remove\r
+            {\r
+                if (_tickCallBack != null)\r
+                {\r
+                    this.TickSignal().Disconnect(_tickCallBack);\r
+                    _tickCallBack = null;\r
+                }\r
+                _tickEventHandler -= value;\r
+            }\r
+        }\r
+        private bool OnTick()\r
+        {\r
+            if (_tickEventHandler != null)\r
+            {\r
+                return _tickEventHandler(this, null);\r
+            }\r
+            return false;\r
+        }\r
+\r
+\r
     }\r
 \r
 }\r