Merge "Add missed parameter documentation" into devel/master
[platform/core/uifw/dali-toolkit.git] / plugins / dali-swig / SWIG / events / pageturnview-event.i
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 %define PAGETURNVIEW_EVENTHANDLER_TYPEMAP_EVENTARG(NameSpace, ClassName)
19 %typemap(csimports) NameSpace::ClassName %{
20 using System;
21 using System.Runtime.InteropServices;
22
23 %}
24 %enddef
25
26 %define PAGETURNVIEW_EVENTHANDLER_TYPEMAP_HELPER(NameSpace, ClassName)
27 %typemap(cscode) NameSpace::ClassName %{
28
29 public class PagePanStartedEventArgs : EventArgs
30 {
31    private PageTurnView _pageTurnView;
32
33    public PageTurnView PageTurnView
34    {
35       get
36       {
37          return _pageTurnView;
38       }
39       set
40       {
41          _pageTurnView = value;
42       }
43    }
44 }
45
46 public class PagePanFinishedEventArgs : EventArgs
47 {
48    private PageTurnView _pageTurnView;
49
50    public PageTurnView PageTurnView
51    {
52       get
53       {
54          return _pageTurnView;
55       }
56       set
57       {
58          _pageTurnView = value;
59       }
60    }
61 }
62
63 public class PageTurnStartedEventArgs : EventArgs
64 {
65    private PageTurnView _pageTurnView;
66    private uint _pageIndex;
67    private bool _isTurningForward;
68
69    public PageTurnView PageTurnView
70    {
71       get
72       {
73          return _pageTurnView;
74       }
75       set
76       {
77          _pageTurnView = value;
78       }
79    }
80
81    public uint PageIndex
82    {
83       get
84       {
85          return _pageIndex;
86       }
87       set
88       {
89          _pageIndex = value;
90       }
91    }
92
93    public bool IsTurningForward
94    {
95       get
96       {
97          return _isTurningForward;
98       }
99       set
100       {
101          _isTurningForward = value;
102       }
103    }
104
105 }
106
107 public class PageTurnFinishedEventArgs : EventArgs
108 {
109    private PageTurnView _pageTurnView;
110    private uint _pageIndex;
111    private bool _isTurningForward;
112
113    public PageTurnView PageTurnView
114    {
115       get
116       {
117          return _pageTurnView;
118       }
119       set
120       {
121          _pageTurnView = value;
122       }
123    }
124
125    public uint PageIndex
126    {
127       get
128       {
129          return _pageIndex;
130       }
131       set
132       {
133          _pageIndex = value;
134       }
135    }
136
137    public bool IsTurningForward
138    {
139       get
140       {
141          return _isTurningForward;
142       }
143       set
144       {
145          _isTurningForward = value;
146       }
147    }
148
149 }
150
151   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
152   public delegate void PagePanStartedEventHandler(object source, PagePanStartedEventArgs e);
153
154   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
155   public delegate void PagePanFinishedEventHandler(object source, PagePanFinishedEventArgs e);
156
157   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
158   public delegate void PageTurnStartedEventHandler(object source, PageTurnStartedEventArgs e);
159
160   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
161   public delegate void PageTurnFinishedEventHandler(object source, PageTurnFinishedEventArgs e);
162
163   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
164   private delegate void PagePanStartedCallbackDelegate(IntPtr page);
165   private PagePanStartedEventHandler _pageTurnViewPagePanStartedEventHandler;
166   private PagePanStartedCallbackDelegate _pageTurnViewPagePanStartedCallbackDelegate;
167
168   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
169   private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
170   private PagePanFinishedEventHandler _pageTurnViewPagePanFinishedEventHandler;
171   private PagePanFinishedCallbackDelegate _pageTurnViewPagePanFinishedCallbackDelegate;
172
173   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
174   private delegate void PageTurnStartedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
175   private PageTurnStartedEventHandler _pageTurnViewPageTurnStartedEventHandler;
176   private PageTurnStartedCallbackDelegate _pageTurnViewPageTurnStartedCallbackDelegate;
177
178   [UnmanagedFunctionPointer(CallingConvention.StdCall)]
179   private delegate void PageTurnFinishedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
180   private PageTurnFinishedEventHandler _pageTurnViewPageTurnFinishedEventHandler;
181   private PageTurnFinishedCallbackDelegate _pageTurnViewPageTurnFinishedCallbackDelegate;
182
183   public event PagePanStartedEventHandler PagePanStarted
184   {
185      add
186      {
187         lock(this)
188         {
189            // Restricted to only one listener
190            if (_pageTurnViewPagePanStartedEventHandler == null)
191            {
192               _pageTurnViewPagePanStartedEventHandler += value;
193
194               _pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
195               this.PagePanStartedSignal().Connect(_pageTurnViewPagePanStartedCallbackDelegate);
196            }
197         }
198      }
199
200      remove
201      {
202         lock(this)
203         {
204            if (_pageTurnViewPagePanStartedEventHandler != null)
205            {
206               this.PagePanStartedSignal().Disconnect(_pageTurnViewPagePanStartedCallbackDelegate);
207            }
208
209            _pageTurnViewPagePanStartedEventHandler -= value;
210         }
211      }
212   }
213
214   // Callback for PageTurnView PagePanStarted signal
215   private void OnPagePanStarted(IntPtr page)
216   {
217      PagePanStartedEventArgs e = new PagePanStartedEventArgs();
218
219      // Populate all members of "e" (PagePanStartedEventArgs) with real page
220      e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
221
222      if (_pageTurnViewPagePanStartedEventHandler != null)
223      {
224         //here we send all page to user event handlers
225        _pageTurnViewPagePanStartedEventHandler(this, e);
226      }
227   }
228
229   public event PagePanFinishedEventHandler PagePanFinished
230   {
231      add
232      {
233         lock(this)
234         {
235            // Restricted to only one listener
236            if (_pageTurnViewPagePanFinishedEventHandler == null)
237            {
238               _pageTurnViewPagePanFinishedEventHandler += value;
239
240               _pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
241               this.PagePanFinishedSignal().Connect(_pageTurnViewPagePanFinishedCallbackDelegate);
242            }
243         }
244      }
245
246      remove
247      {
248         lock(this)
249         {
250            if (_pageTurnViewPagePanFinishedEventHandler != null)
251            {
252               this.PagePanFinishedSignal().Disconnect(_pageTurnViewPagePanFinishedCallbackDelegate);
253            }
254
255            _pageTurnViewPagePanFinishedEventHandler -= value;
256         }
257      }
258   }
259
260   // Callback for PageTurnView PagePanFinished signal
261   private void OnPagePanFinished(IntPtr page)
262   {
263      PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
264
265      // Populate all members of "e" (PagePanFinishedEventArgs) with real page
266      e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
267
268      if (_pageTurnViewPagePanFinishedEventHandler != null)
269      {
270         //here we send all page to user event handlers
271        _pageTurnViewPagePanFinishedEventHandler(this, e);
272      }
273   }
274
275
276   public event PageTurnStartedEventHandler PageTurnStarted
277   {
278      add
279      {
280         lock(this)
281         {
282            // Restricted to only one listener
283            if (_pageTurnViewPageTurnStartedEventHandler == null)
284            {
285               _pageTurnViewPageTurnStartedEventHandler += value;
286
287               _pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
288               this.PageTurnStartedSignal().Connect(_pageTurnViewPageTurnStartedCallbackDelegate);
289            }
290         }
291      }
292
293      remove
294      {
295         lock(this)
296         {
297            if (_pageTurnViewPageTurnStartedEventHandler != null)
298            {
299               this.PageTurnStartedSignal().Disconnect(_pageTurnViewPageTurnStartedCallbackDelegate);
300            }
301
302            _pageTurnViewPageTurnStartedEventHandler -= value;
303         }
304      }
305   }
306
307   // Callback for PageTurnView PageTurnStarted signal
308   private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
309   {
310      PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
311
312      // Populate all members of "e" (PageTurnStartedEventArgs) with real page
313      e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
314      e.PageIndex = pageIndex;
315      e.IsTurningForward = isTurningForward;
316
317
318      if (_pageTurnViewPageTurnStartedEventHandler != null)
319      {
320         //here we send all page to user event handlers
321        _pageTurnViewPageTurnStartedEventHandler(this, e);
322      }
323   }
324
325
326   public event PageTurnFinishedEventHandler PageTurnFinished
327   {
328      add
329      {
330         lock(this)
331         {
332            // Restricted to only one listener
333            if (_pageTurnViewPageTurnFinishedEventHandler == null)
334            {
335               _pageTurnViewPageTurnFinishedEventHandler += value;
336
337               _pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
338               this.PageTurnFinishedSignal().Connect(_pageTurnViewPageTurnFinishedCallbackDelegate);
339            }
340         }
341      }
342
343      remove
344      {
345         lock(this)
346         {
347            if (_pageTurnViewPageTurnFinishedEventHandler != null)
348            {
349               this.PageTurnFinishedSignal().Disconnect(_pageTurnViewPageTurnFinishedCallbackDelegate);
350            }
351
352            _pageTurnViewPageTurnFinishedEventHandler -= value;
353         }
354      }
355   }
356
357   // Callback for PageTurnView PageTurnFinished signal
358   private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
359   {
360      PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
361
362      // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
363      e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
364      e.PageIndex = pageIndex;
365      e.IsTurningForward = isTurningForward;
366
367
368      if (_pageTurnViewPageTurnFinishedEventHandler != null)
369      {
370         //here we send all page to user event handlers
371        _pageTurnViewPageTurnFinishedEventHandler(this, e);
372      }
373   }
374
375   public static ClassName Get ## ClassName ## FromPtr(global::System.IntPtr cPtr) {
376     ClassName ret = new ClassName(cPtr, false);
377    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
378     return ret;
379   }
380
381 %}
382
383 %enddef
384
385
386 %define DALI_PAGETURNVIEW_EVENTHANDLER_PARAM( NameSpace, ClassName)
387
388   PAGETURNVIEW_EVENTHANDLER_TYPEMAP_EVENTARG( NameSpace, ClassName);
389   PAGETURNVIEW_EVENTHANDLER_TYPEMAP_HELPER( NameSpace, ClassName);
390
391 %enddef
392
393 namespace Dali
394 {
395   DALI_PAGETURNVIEW_EVENTHANDLER_PARAM( Dali::Toolkit, PageTurnView);
396 }