2 * Copyright(c) 2017 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.ComponentModel;
19 using System.Runtime.InteropServices;
23 internal class WidgetImpl : BaseObject
26 internal WidgetImpl() : this(Interop.WidgetImpl.WidgetImpl_New(), true)
28 SwigDirectorConnect();
31 internal WidgetImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(Interop.WidgetImpl.WidgetImpl_SWIGUpcast(cPtr), cMemoryOwn)
35 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetImpl obj)
37 return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
40 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
42 //throw new global::System.MethodAccessException("C++ destructor does not have public access");
45 public class WIdgetInstanceOnCreateArgs : EventArgs
47 private string _contentInfo;
48 private Window _window;
50 public string ContentInfo
75 private EventHandler<WIdgetInstanceOnCreateArgs> _widgetInstanceOnCreateEventHandler;
76 public event EventHandler<WIdgetInstanceOnCreateArgs> WidgetInstanceCreated
80 _widgetInstanceOnCreateEventHandler += value;
84 _widgetInstanceOnCreateEventHandler -= value;
88 public class WIdgetInstanceOnDestroyArgs : EventArgs
90 private string _contentInfo;
91 private Widget.TerminationType _terminateType;
93 public string ContentInfo
101 _contentInfo = value;
105 public Widget.TerminationType TerminateType
109 return _terminateType;
113 _terminateType = value;
118 private EventHandler<WIdgetInstanceOnDestroyArgs> _widgetInstanceOnDestroyEventHandler;
119 public event EventHandler<WIdgetInstanceOnDestroyArgs> WidgetInstanceDestroyed
123 _widgetInstanceOnDestroyEventHandler += value;
127 _widgetInstanceOnDestroyEventHandler -= value;
131 public class WidgetInstanceOnResizeArgs : EventArgs
133 private Window _window;
148 private EventHandler<WidgetInstanceOnResizeArgs> _widgetInstanceOnResizeEventHandler;
149 public event EventHandler<WidgetInstanceOnResizeArgs> WidgetInstanceResized
153 _widgetInstanceOnResizeEventHandler += value;
157 _widgetInstanceOnResizeEventHandler -= value;
161 private EventHandler _widgetInstanceOnPauseEventHandler;
162 public event EventHandler WidgetInstancePaused
166 _widgetInstanceOnPauseEventHandler += value;
170 _widgetInstanceOnPauseEventHandler -= value;
174 private EventHandler _widgetInstanceOnResumeEventHandler;
175 public event EventHandler WidgetInstanceResumed
179 _widgetInstanceOnResumeEventHandler += value;
183 _widgetInstanceOnResumeEventHandler -= value;
187 public class WidgetInstanceOnUpdateArgs : EventArgs
189 private string _contentInfo;
192 public string ContentInfo
200 _contentInfo = value;
217 private EventHandler<WidgetInstanceOnUpdateArgs> _widgetInstanceOnUpdateEventHandler;
218 public event EventHandler<WidgetInstanceOnUpdateArgs> WidgetInstanceUpdated
222 _widgetInstanceOnUpdateEventHandler += value;
226 _widgetInstanceOnUpdateEventHandler -= value;
230 public virtual void OnCreate(string contentInfo, Window window)
232 WIdgetInstanceOnCreateArgs args = new WIdgetInstanceOnCreateArgs();
233 args.ContentInfo = contentInfo;
234 args.Window = window;
235 _widgetInstanceOnCreateEventHandler?.Invoke(this, args);
238 public virtual void OnTerminate(string contentInfo, Widget.TerminationType type)
240 WIdgetInstanceOnDestroyArgs args = new WIdgetInstanceOnDestroyArgs();
241 args.ContentInfo = contentInfo;
242 args.TerminateType = type;
243 _widgetInstanceOnDestroyEventHandler?.Invoke(this, args);
246 public virtual void OnPause()
248 _widgetInstanceOnPauseEventHandler?.Invoke(this, new EventArgs());
251 public virtual void OnResume()
253 _widgetInstanceOnResumeEventHandler?.Invoke(this, new EventArgs());
256 public virtual void OnResize(Window window)
258 WidgetInstanceOnResizeArgs args = new WidgetInstanceOnResizeArgs();
259 args.Window = window;
260 _widgetInstanceOnResizeEventHandler?.Invoke(this, args);
263 public virtual void OnUpdate(string contentInfo, int force)
265 WidgetInstanceOnUpdateArgs args = new WidgetInstanceOnUpdateArgs();
266 args.ContentInfo = contentInfo;
268 _widgetInstanceOnUpdateEventHandler?.Invoke(this, args);
271 internal virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
275 internal virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
279 public void SetContentInfo(string contentInfo)
281 Interop.WidgetImpl.WidgetImpl_SetContentInfo(swigCPtr, contentInfo);
282 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
285 internal void SetImpl(SWIGTYPE_p_Dali__Widget__Impl impl)
287 Interop.WidgetImpl.WidgetImpl_SetImpl(swigCPtr, SWIGTYPE_p_Dali__Widget__Impl.getCPtr(impl));
288 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
291 private void SwigDirectorConnect()
293 swigDelegate0 = new SwigDelegateWidgetImpl_0(SwigDirectorOnCreate);
294 swigDelegate1 = new SwigDelegateWidgetImpl_1(SwigDirectorOnTerminate);
295 swigDelegate2 = new SwigDelegateWidgetImpl_2(SwigDirectorOnPause);
296 swigDelegate3 = new SwigDelegateWidgetImpl_3(SwigDirectorOnResume);
297 swigDelegate4 = new SwigDelegateWidgetImpl_4(SwigDirectorOnResize);
298 swigDelegate5 = new SwigDelegateWidgetImpl_5(SwigDirectorOnUpdate);
299 swigDelegate6 = new SwigDelegateWidgetImpl_6(SwigDirectorSignalConnected);
300 swigDelegate7 = new SwigDelegateWidgetImpl_7(SwigDirectorSignalDisconnected);
301 Interop.WidgetImpl.WidgetImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate7);
304 private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
306 global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
307 bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(WidgetImpl));
308 return hasDerivedMethod;
311 private void SwigDirectorOnCreate(string contentInfo, global::System.IntPtr window)
313 Window ret = Registry.GetManagedBaseHandleFromNativePtr(window) as Window;
316 ret = new Window(window, true);
318 OnCreate(contentInfo, ret);
321 private void SwigDirectorOnTerminate(string contentInfo, int type)
323 OnTerminate(contentInfo, (Widget.TerminationType)type);
326 private void SwigDirectorOnPause()
331 private void SwigDirectorOnResume()
336 private void SwigDirectorOnResize(global::System.IntPtr window)
338 Window ret = Registry.GetManagedBaseHandleFromNativePtr(window) as Window;
341 ret = new Window(window, true);
346 private void SwigDirectorOnUpdate(string contentInfo, int force)
348 OnUpdate(contentInfo, force);
351 private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
353 SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
356 private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
358 SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback));
361 public delegate void SwigDelegateWidgetImpl_0(string contentInfo, global::System.IntPtr window);
362 public delegate void SwigDelegateWidgetImpl_1(string contentInfo, int type);
363 public delegate void SwigDelegateWidgetImpl_2();
364 public delegate void SwigDelegateWidgetImpl_3();
365 public delegate void SwigDelegateWidgetImpl_4(global::System.IntPtr window);
366 public delegate void SwigDelegateWidgetImpl_5(string contentInfo, int force);
367 public delegate void SwigDelegateWidgetImpl_6(global::System.IntPtr slotObserver, global::System.IntPtr callback);
368 public delegate void SwigDelegateWidgetImpl_7(global::System.IntPtr slotObserver, global::System.IntPtr callback);
370 private SwigDelegateWidgetImpl_0 swigDelegate0;
371 private SwigDelegateWidgetImpl_1 swigDelegate1;
372 private SwigDelegateWidgetImpl_2 swigDelegate2;
373 private SwigDelegateWidgetImpl_3 swigDelegate3;
374 private SwigDelegateWidgetImpl_4 swigDelegate4;
375 private SwigDelegateWidgetImpl_5 swigDelegate5;
376 private SwigDelegateWidgetImpl_6 swigDelegate6;
377 private SwigDelegateWidgetImpl_7 swigDelegate7;