2 * Copyright(c) 2021 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.
17 using System.ComponentModel;
22 using System.Runtime.InteropServices;
23 using Tizen.NUI.BaseComponents;
24 using Tizen.NUI.Binding;
27 /// The WidgetView is a class for displaying the widget image and controlling the widget.<br />
28 /// Input events that the WidgetView gets are delivered to the widget.
30 /// <since_tizen> 3 </since_tizen>
31 public class WidgetView : View
36 [EditorBrowsable(EditorBrowsableState.Never)]
37 public static readonly BindableProperty PreviewProperty = BindableProperty.Create(nameof(Preview), typeof(bool), typeof(Tizen.NUI.WidgetView), false, propertyChanged: (bindable, oldValue, newValue) =>
39 var instance = (Tizen.NUI.WidgetView)bindable;
42 instance.InternalPreview = (bool)newValue;
45 defaultValueCreator: (bindable) =>
47 var instance = (Tizen.NUI.WidgetView)bindable;
48 return instance.InternalPreview;
52 /// LoadingTextProperty
54 [EditorBrowsable(EditorBrowsableState.Never)]
55 public static readonly BindableProperty LoadingTextProperty = BindableProperty.Create(nameof(LoadingText), typeof(bool), typeof(Tizen.NUI.WidgetView), false, propertyChanged: (bindable, oldValue, newValue) =>
57 var instance = (Tizen.NUI.WidgetView)bindable;
60 instance.InternalLoadingText = (bool)newValue;
63 defaultValueCreator: (bindable) =>
65 var instance = (Tizen.NUI.WidgetView)bindable;
66 return instance.InternalLoadingText;
70 /// WidgetStateFaultedProperty
72 [EditorBrowsable(EditorBrowsableState.Never)]
73 public static readonly BindableProperty WidgetStateFaultedProperty = BindableProperty.Create(nameof(WidgetStateFaulted), typeof(bool), typeof(Tizen.NUI.WidgetView), false, propertyChanged: (bindable, oldValue, newValue) =>
75 var instance = (Tizen.NUI.WidgetView)bindable;
78 instance.InternalWidgetStateFaulted = (bool)newValue;
81 defaultValueCreator: (bindable) =>
83 var instance = (Tizen.NUI.WidgetView)bindable;
84 return instance.InternalWidgetStateFaulted;
88 /// PermanentDeleteProperty
90 [EditorBrowsable(EditorBrowsableState.Never)]
91 public static readonly BindableProperty PermanentDeleteProperty = BindableProperty.Create(nameof(PermanentDelete), typeof(bool), typeof(Tizen.NUI.WidgetView), false, propertyChanged: (bindable, oldValue, newValue) =>
93 var instance = (Tizen.NUI.WidgetView)bindable;
96 instance.InternalPermanentDelete = (bool)newValue;
99 defaultValueCreator: (bindable) =>
101 var instance = (Tizen.NUI.WidgetView)bindable;
102 return instance.InternalPermanentDelete;
106 /// RetryTextProperty
108 [EditorBrowsable(EditorBrowsableState.Never)]
109 public static readonly BindableProperty RetryTextProperty = BindableProperty.Create(nameof(RetryText), typeof(Tizen.NUI.PropertyMap), typeof(Tizen.NUI.WidgetView), null, propertyChanged: (bindable, oldValue, newValue) =>
111 var instance = (Tizen.NUI.WidgetView)bindable;
112 if (newValue != null)
114 instance.InternalRetryText = (Tizen.NUI.PropertyMap)newValue;
117 defaultValueCreator: (bindable) =>
119 var instance = (Tizen.NUI.WidgetView)bindable;
120 return instance.InternalRetryText;
126 [EditorBrowsable(EditorBrowsableState.Never)]
127 public static readonly BindableProperty EffectProperty = BindableProperty.Create(nameof(Effect), typeof(Tizen.NUI.PropertyMap), typeof(Tizen.NUI.WidgetView), null, propertyChanged: (bindable, oldValue, newValue) =>
129 var instance = (Tizen.NUI.WidgetView)bindable;
130 if (newValue != null)
132 instance.InternalEffect = (Tizen.NUI.PropertyMap)newValue;
135 defaultValueCreator: (bindable) =>
137 var instance = (Tizen.NUI.WidgetView)bindable;
138 return instance.InternalEffect;
141 private EventHandler<WidgetViewEventArgs> widgetAddedEventHandler;
142 private WidgetAddedEventCallbackType widgetAddedEventCallback;
143 private EventHandler<WidgetViewEventArgs> widgetContentUpdatedEventHandler;
144 private WidgetContentUpdatedEventCallbackType widgetContentUpdatedEventCallback;
145 private EventHandler<WidgetViewEventArgs> widgetDeletedEventHandler;
146 private WidgetDeletedEventCallbackType widgetDeletedEventCallback;
147 private EventHandler<WidgetViewEventArgs> widgetCreationAbortedEventHandler;
148 private WidgetCreationAbortedEventCallbackType widgetCreationAbortedEventCallback;
149 private EventHandler<WidgetViewEventArgs> widgetUpdatePeriodChangedEventHandler;
150 private WidgetUpdatePeriodChangedEventCallbackType widgetUpdatePeriodChangedEventCallback;
151 private EventHandler<WidgetViewEventArgs> widgetFaultedEventHandler;
152 private WidgetFaultedEventCallbackType widgetFaultedEventCallback;
155 /// Used in xaml as factory method to create WidgetView.
157 /// <param name="widgetId"></param>
158 /// <param name="contentInfo"></param>
159 /// <param name="width"></param>
160 /// <param name="height"></param>
161 /// <param name="updatePeriod"></param>
162 /// <returns></returns>
163 [EditorBrowsable(EditorBrowsableState.Never)]
164 public static WidgetView CreateWidgetView(string widgetId, string contentInfo, int width, int height, float updatePeriod)
166 return WidgetViewManager.Instance.AddWidget(widgetId, contentInfo, width, height, updatePeriod);
170 /// Creates a new WidgetView.
172 /// <since_tizen> 3 </since_tizen>
173 public WidgetView(string widgetId, string contentInfo, int width, int height, float updatePeriod) : this(Interop.WidgetView.New(widgetId, contentInfo, width, height, updatePeriod), true)
175 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
179 internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
182 internal WidgetView(WidgetView handle) : this(Interop.WidgetView.NewWidgetView(WidgetView.getCPtr(handle)), true)
184 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
187 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
188 private delegate void WidgetAddedEventCallbackType(IntPtr data);
189 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
190 private delegate void WidgetContentUpdatedEventCallbackType(IntPtr data);
191 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
192 private delegate void WidgetDeletedEventCallbackType(IntPtr data);
193 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
194 private delegate void WidgetCreationAbortedEventCallbackType(IntPtr data);
195 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
196 private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
197 [UnmanagedFunctionPointer(CallingConvention.StdCall)]
198 private delegate void WidgetFaultedEventCallbackType(IntPtr data);
201 /// An event for the WidgetAdded signal which can be used to subscribe or unsubscribe the event handler.<br />
202 /// This signal is emitted when widget is added.<br />
204 /// <since_tizen> 3 </since_tizen>
205 public event EventHandler<WidgetViewEventArgs> WidgetAdded
209 if (widgetAddedEventHandler == null)
211 widgetAddedEventCallback = OnWidgetAdded;
212 WidgetViewSignal widgetAdded = WidgetAddedSignal();
213 widgetAdded?.Connect(widgetAddedEventCallback);
214 widgetAdded?.Dispose();
217 widgetAddedEventHandler += value;
222 widgetAddedEventHandler -= value;
224 WidgetViewSignal widgetAdded = WidgetAddedSignal();
225 if (widgetAddedEventHandler == null && widgetAdded?.Empty() == false)
227 widgetAdded?.Disconnect(widgetAddedEventCallback);
229 widgetAdded?.Dispose();
234 /// An event for the WidgetContentUpdated signal which can be used to subscribe or unsubscribe the event handler.<br />
235 /// This signal is emitted when the widget content is updated.<br />
237 /// <since_tizen> 3 </since_tizen>
238 public event EventHandler<WidgetViewEventArgs> WidgetContentUpdated
242 if (widgetContentUpdatedEventHandler == null)
244 widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
245 WidgetViewSignal widgetContentUpdated = WidgetContentUpdatedSignal();
246 widgetContentUpdated?.Connect(widgetContentUpdatedEventCallback);
247 widgetContentUpdated?.Dispose();
250 widgetContentUpdatedEventHandler += value;
255 widgetContentUpdatedEventHandler -= value;
257 WidgetViewSignal widgetContentUpdated = WidgetContentUpdatedSignal();
258 if (widgetContentUpdatedEventHandler == null && widgetContentUpdated?.Empty() == false)
260 widgetContentUpdated?.Disconnect(widgetContentUpdatedEventCallback);
262 widgetContentUpdated?.Dispose();
267 /// An event for the WidgetDeleted signal which can be used to subscribe or unsubscribe the event handler.<br />
268 /// This signal is emitted when the widget is deleted.<br />
270 /// <since_tizen> 3 </since_tizen>
271 public event EventHandler<WidgetViewEventArgs> WidgetDeleted
275 if (widgetDeletedEventHandler == null)
277 widgetDeletedEventCallback = OnWidgetDeleted;
278 WidgetViewSignal widgetDeleted = WidgetDeletedSignal();
279 widgetDeleted?.Connect(widgetDeletedEventCallback);
280 widgetDeleted?.Dispose();
283 widgetDeletedEventHandler += value;
288 widgetDeletedEventHandler -= value;
290 WidgetViewSignal widgetDeleted = WidgetDeletedSignal();
291 if (widgetDeletedEventHandler == null && widgetDeleted?.Empty() == false)
293 widgetDeleted?.Disconnect(widgetDeletedEventCallback);
295 widgetDeleted?.Dispose();
300 /// An event for the WidgetCreationAborted signal which can be used to subscribe or unsubscribe the event handler.<br />
301 /// This signal is emitted when the widget creation is aborted.<br />
303 /// <since_tizen> 3 </since_tizen>
304 public event EventHandler<WidgetViewEventArgs> WidgetCreationAborted
308 if (widgetCreationAbortedEventHandler == null)
310 widgetCreationAbortedEventCallback = OnWidgetCreationAborted;
311 WidgetViewSignal widgetCreationAborted = WidgetCreationAbortedSignal();
312 widgetCreationAborted?.Connect(widgetCreationAbortedEventCallback);
313 widgetCreationAborted?.Dispose();
316 widgetCreationAbortedEventHandler += value;
321 widgetCreationAbortedEventHandler -= value;
323 WidgetViewSignal widgetCreationAborted = WidgetCreationAbortedSignal();
324 if (widgetCreationAbortedEventHandler == null && widgetCreationAborted?.Empty() == false)
326 widgetCreationAborted?.Disconnect(widgetCreationAbortedEventCallback);
328 widgetCreationAborted?.Dispose();
333 /// An event for the WidgetUpdatePeriodChanged signal which can be used to subscribe or unsubscribe the event handler.<br />
334 /// This signal is emitted when the widget update period is changed.<br />
336 /// <since_tizen> 3 </since_tizen>
337 public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
341 if (widgetUpdatePeriodChangedEventHandler == null)
343 widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
344 WidgetViewSignal widgetUpdatePeriodChanged = WidgetUpdatePeriodChangedSignal();
345 widgetUpdatePeriodChanged?.Connect(widgetUpdatePeriodChangedEventCallback);
346 widgetUpdatePeriodChanged?.Dispose();
349 widgetUpdatePeriodChangedEventHandler += value;
354 widgetUpdatePeriodChangedEventHandler -= value;
356 WidgetViewSignal widgetUpdatePeriodChanged = WidgetUpdatePeriodChangedSignal();
357 if (widgetUpdatePeriodChangedEventHandler == null && widgetUpdatePeriodChanged?.Empty() == false)
359 widgetUpdatePeriodChanged?.Disconnect(widgetUpdatePeriodChangedEventCallback);
361 widgetUpdatePeriodChanged?.Dispose();
366 /// An event for the WidgetFaulted signal which can be used to subscribe or unsubscribe the event handler.<br />
367 /// This signal is emitted when the widget process is not running.<br />
369 /// <since_tizen> 3 </since_tizen>
370 public event EventHandler<WidgetViewEventArgs> WidgetFaulted
374 if (widgetFaultedEventHandler == null)
376 widgetFaultedEventCallback = OnWidgetFaulted;
377 WidgetViewSignal widgetFaulted = WidgetFaultedSignal();
378 widgetFaulted?.Connect(widgetFaultedEventCallback);
379 widgetFaulted?.Dispose();
382 widgetFaultedEventHandler += value;
387 widgetFaultedEventHandler -= value;
389 WidgetViewSignal widgetFaulted = WidgetFaultedSignal();
390 if (widgetFaultedEventHandler == null && widgetFaulted?.Empty() == false)
392 widgetFaulted?.Disconnect(widgetFaultedEventCallback);
394 widgetFaulted?.Dispose();
399 /// Gets the ID of the widget.
401 /// <since_tizen> 3 </since_tizen>
402 public string WidgetID
406 string retValue = "";
407 PropertyValue widgetId = GetProperty(WidgetView.Property.WidgetId);
408 widgetId?.Get(out retValue);
415 /// Gets the ID of the instance.
417 /// <since_tizen> 3 </since_tizen>
418 public string InstanceID
422 string retValue = "";
423 PropertyValue instanceId = GetProperty(WidgetView.Property.InstanceId);
424 instanceId?.Get(out retValue);
425 instanceId?.Dispose();
431 /// Gets the content info.
433 /// <since_tizen> 3 </since_tizen>
434 public string ContentInfo
438 string retValue = "";
439 PropertyValue contentInfo = GetProperty(WidgetView.Property.ContentInfo);
440 contentInfo?.Get(out retValue);
441 contentInfo?.Dispose();
449 /// <since_tizen> 3 </since_tizen>
454 string retValue = "";
455 PropertyValue title = GetProperty(WidgetView.Property.TITLE);
456 title?.Get(out retValue);
463 /// Gets the update period.
465 /// <since_tizen> 3 </since_tizen>
466 public float UpdatePeriod
471 PropertyValue updatePeriod = GetProperty(WidgetView.Property.UpdatePeriod);
472 updatePeriod?.Get(out retValue);
473 updatePeriod?.Dispose();
479 /// Gets or sets the preview.
481 /// <since_tizen> 3 </since_tizen>
486 return (bool)GetValue(PreviewProperty);
490 SetValue(PreviewProperty, value);
491 NotifyPropertyChanged();
495 private bool InternalPreview
499 bool retValue = false;
500 PropertyValue preview = GetProperty(WidgetView.Property.PREVIEW);
501 preview?.Get(out retValue);
507 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
508 SetProperty(WidgetView.Property.PREVIEW, setValue);
514 /// Gets or sets the loading text.
516 /// <since_tizen> 3 </since_tizen>
517 public bool LoadingText
521 return (bool)GetValue(LoadingTextProperty);
525 SetValue(LoadingTextProperty, value);
526 NotifyPropertyChanged();
530 private bool InternalLoadingText
534 bool retValue = false;
535 PropertyValue loadingText = GetProperty(WidgetView.Property.LoadingText);
536 loadingText?.Get(out retValue);
537 loadingText?.Dispose();
542 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
543 SetProperty(WidgetView.Property.LoadingText, setValue);
549 /// Gets or sets whether the widget state is faulted or not.
551 /// <since_tizen> 3 </since_tizen>
552 public bool WidgetStateFaulted
556 return (bool)GetValue(WidgetStateFaultedProperty);
560 SetValue(WidgetStateFaultedProperty, value);
561 NotifyPropertyChanged();
565 private bool InternalWidgetStateFaulted
569 bool retValue = false;
570 PropertyValue widgetStateFaulted = GetProperty(WidgetView.Property.WidgetStateFaulted);
571 widgetStateFaulted?.Get(out retValue);
572 widgetStateFaulted?.Dispose();
577 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
578 SetProperty(WidgetView.Property.WidgetStateFaulted, setValue);
584 /// Gets or sets whether the widget is to delete permanently or not.
586 /// <since_tizen> 3 </since_tizen>
587 public bool PermanentDelete
591 return (bool)GetValue(PermanentDeleteProperty);
595 SetValue(PermanentDeleteProperty, value);
596 NotifyPropertyChanged();
600 private bool InternalPermanentDelete
604 bool retValue = false;
605 PropertyValue permanentDelete = GetProperty(WidgetView.Property.PermanentDelete);
606 permanentDelete?.Get(out retValue);
607 permanentDelete?.Dispose();
612 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
613 SetProperty(WidgetView.Property.PermanentDelete, setValue);
619 /// Gets or sets retry text.
621 /// <since_tizen> 4 </since_tizen>
622 public PropertyMap RetryText
626 return GetValue(RetryTextProperty) as PropertyMap;
630 SetValue(RetryTextProperty, value);
631 NotifyPropertyChanged();
635 private PropertyMap InternalRetryText
639 PropertyMap retValue = new PropertyMap();
640 PropertyValue retryText = GetProperty(WidgetView.Property.RetryText);
641 retryText?.Get(retValue);
642 retryText?.Dispose();
647 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
648 SetProperty(WidgetView.Property.RetryText, setValue);
654 /// Gets or sets effect.
656 /// <since_tizen> 4 </since_tizen>
657 public PropertyMap Effect
661 return GetValue(EffectProperty) as PropertyMap;
665 SetValue(EffectProperty, value);
666 NotifyPropertyChanged();
670 private PropertyMap InternalEffect
674 PropertyMap retValue = new PropertyMap();
675 PropertyValue effect = GetProperty(WidgetView.Property.EFFECT);
676 effect?.Get(retValue);
682 PropertyValue setValue = new Tizen.NUI.PropertyValue(value);
683 SetProperty(WidgetView.Property.EFFECT, setValue);
689 /// Pauses a given widget.
691 /// <returns>True on success, false otherwise.</returns>
692 /// <since_tizen> 3 </since_tizen>
693 public bool PauseWidget()
695 bool ret = Interop.WidgetView.PauseWidget(SwigCPtr);
696 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
701 /// Resumes a given widget.
703 /// <returns>True on success, false otherwise.</returns>
704 /// <since_tizen> 3 </since_tizen>
705 public bool ResumeWidget()
707 bool ret = Interop.WidgetView.ResumeWidget(SwigCPtr);
708 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
713 /// Cancels the touch event procedure.
714 /// If you call this function after feed the touch down event, the widget will get ON_HOLD events.
715 /// If a widget gets ON_HOLD event, it will not do anything even if you feed touch up event.
717 /// <returns>True on success, false otherwise.</returns>
718 /// <since_tizen> 3 </since_tizen>
719 public bool CancelTouchEvent()
721 bool ret = Interop.WidgetView.CancelTouchEvent(SwigCPtr);
722 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
727 /// Activates a widget in the faulted state.
728 /// A widget in faulted state must be activated before adding the widget.
730 /// <since_tizen> 3 </since_tizen>
731 public void ActivateFaultedWidget()
733 Interop.WidgetView.ActivateFaultedWidget(SwigCPtr);
734 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
738 /// Terminate a widget instance.
740 /// <returns>True on success, false otherwise</returns>
741 /// <since_tizen> 4 </since_tizen>
742 public bool TerminateWidget()
744 bool ret = Interop.WidgetView.TerminateWidget(SwigCPtr);
745 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
749 internal static WidgetView DownCast(BaseHandle handle)
751 WidgetView ret = new WidgetView(Interop.WidgetView.DownCast(BaseHandle.getCPtr(handle)), true);
752 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
756 internal static WidgetView GetWidgetViewFromPtr(global::System.IntPtr cPtr)
758 if (cPtr == global::System.IntPtr.Zero)
762 WidgetView ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as WidgetView;
763 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
767 internal WidgetView Assign(WidgetView handle)
769 WidgetView ret = new WidgetView(Interop.WidgetView.Assign(SwigCPtr, WidgetView.getCPtr(handle)), false);
770 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
774 internal WidgetViewSignal WidgetAddedSignal()
776 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetAddedSignal(SwigCPtr), false);
777 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
781 internal WidgetViewSignal WidgetDeletedSignal()
783 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetDeletedSignal(SwigCPtr), false);
784 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
788 internal WidgetViewSignal WidgetCreationAbortedSignal()
790 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetCreationAbortedSignal(SwigCPtr), false);
791 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
795 internal WidgetViewSignal WidgetContentUpdatedSignal()
797 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetContentUpdatedSignal(SwigCPtr), false);
798 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
802 internal WidgetViewSignal WidgetUpdatePeriodChangedSignal()
804 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetUpdatePeriodChangedSignal(SwigCPtr), false);
805 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
809 internal WidgetViewSignal WidgetFaultedSignal()
811 WidgetViewSignal ret = new WidgetViewSignal(Interop.WidgetView.WidgetFaultedSignal(SwigCPtr), false);
812 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
817 /// To make the Button instance be disposed.
819 /// <since_tizen> 3 </since_tizen>
820 protected override void Dispose(DisposeTypes type)
827 //Remove Widget from WidgetViewManager
828 WidgetViewManager.Instance.RemoveWidget(this);
830 //Release your own unmanaged resources here.
831 //You should not access any managed member here except static instance.
832 //because the execution order of Finalizes is non-deterministic.
834 if (widgetAddedEventCallback != null)
836 WidgetViewSignal widgetAdded = this.WidgetAddedSignal();
837 widgetAdded?.Disconnect(widgetAddedEventCallback);
838 widgetAdded?.Dispose();
841 if (widgetContentUpdatedEventCallback != null)
843 WidgetViewSignal widgetContentUpdated = this.WidgetContentUpdatedSignal();
844 widgetContentUpdated?.Disconnect(widgetContentUpdatedEventCallback);
845 widgetContentUpdated?.Dispose();
848 if (widgetCreationAbortedEventCallback != null)
850 WidgetViewSignal widgetCreationAborted = this.WidgetCreationAbortedSignal();
851 widgetCreationAborted?.Disconnect(widgetCreationAbortedEventCallback);
852 widgetCreationAborted?.Dispose();
855 if (widgetDeletedEventCallback != null)
857 WidgetViewSignal widgetDeleted = this.WidgetDeletedSignal();
858 widgetDeleted?.Disconnect(widgetDeletedEventCallback);
859 widgetDeleted?.Dispose();
862 if (widgetFaultedEventCallback != null)
864 WidgetViewSignal widgetFaulted = this.WidgetFaultedSignal();
865 widgetFaulted?.Disconnect(widgetFaultedEventCallback);
866 widgetFaulted?.Dispose();
869 if (widgetUpdatePeriodChangedEventCallback != null)
871 WidgetViewSignal widgetUpdatePeriodChanged = this.WidgetUpdatePeriodChangedSignal();
872 widgetUpdatePeriodChanged?.Disconnect(widgetUpdatePeriodChangedEventCallback);
873 widgetUpdatePeriodChanged?.Dispose();
879 /// This will not be public opened.
880 [EditorBrowsable(EditorBrowsableState.Never)]
881 protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
883 Interop.WidgetView.DeleteWidgetView(swigCPtr);
887 [EditorBrowsable(EditorBrowsableState.Never)]
888 protected override bool HandleControlStateOnTouch(Touch touch)
890 base.HandleControlStateOnTouch(touch);
891 return true; // Do not pass the touch event to the below.
894 // Callback for WidgetView WidgetAdded signal
895 private void OnWidgetAdded(IntPtr data)
897 WidgetViewEventArgs e = new WidgetViewEventArgs();
898 if (data != IntPtr.Zero)
900 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
903 if (widgetAddedEventHandler != null)
905 widgetAddedEventHandler(this, e);
909 // Callback for WidgetView WidgetDeleted signal
910 private void OnWidgetDeleted(IntPtr data)
912 WidgetViewEventArgs e = new WidgetViewEventArgs();
913 if (data != IntPtr.Zero)
915 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
918 if (widgetDeletedEventHandler != null)
920 widgetDeletedEventHandler(this, e);
924 // Callback for WidgetView WidgetCreationAborted signal
925 private void OnWidgetCreationAborted(IntPtr data)
927 WidgetViewEventArgs e = new WidgetViewEventArgs();
928 if (data != IntPtr.Zero)
930 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
933 if (widgetCreationAbortedEventHandler != null)
935 widgetCreationAbortedEventHandler(this, e);
941 // Callback for WidgetView WidgetContentUpdated signal
942 private void OnWidgetContentUpdated(IntPtr data)
944 WidgetViewEventArgs e = new WidgetViewEventArgs();
945 if (data != IntPtr.Zero)
947 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
950 if (widgetContentUpdatedEventHandler != null)
952 widgetContentUpdatedEventHandler(this, e);
956 // Callback for WidgetView WidgetUpdatePeriodChanged signal
957 private void OnWidgetUpdatePeriodChanged(IntPtr data)
959 WidgetViewEventArgs e = new WidgetViewEventArgs();
960 if (data != IntPtr.Zero)
962 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
965 if (widgetUpdatePeriodChangedEventHandler != null)
967 widgetUpdatePeriodChangedEventHandler(this, e);
971 // Callback for WidgetView WidgetFaulted signal
972 private void OnWidgetFaulted(IntPtr data)
974 WidgetViewEventArgs e = new WidgetViewEventArgs();
975 if (data != IntPtr.Zero)
977 e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
980 if (widgetFaultedEventHandler != null)
982 widgetFaultedEventHandler(this, e);
987 /// Event arguments of the widget view.
989 /// <since_tizen> 3 </since_tizen>
990 public class WidgetViewEventArgs : EventArgs
992 private WidgetView _widgetView;
997 /// <since_tizen> 3 </since_tizen>
998 public WidgetView WidgetView
1006 _widgetView = value;
1011 internal new class Property
1013 internal static readonly int WidgetId = Interop.WidgetView.WidgetIdGet();
1014 internal static readonly int InstanceId = Interop.WidgetView.InstanceIdGet();
1015 internal static readonly int ContentInfo = Interop.WidgetView.ContentInfoGet();
1016 internal static readonly int TITLE = Interop.WidgetView.TitleGet();
1017 internal static readonly int UpdatePeriod = Interop.WidgetView.UpdatePeriodGet();
1018 internal static readonly int PREVIEW = Interop.WidgetView.PreviewGet();
1019 internal static readonly int LoadingText = Interop.WidgetView.LoadingTextGet();
1020 internal static readonly int WidgetStateFaulted = Interop.WidgetView.WidgetStateFaultedGet();
1021 internal static readonly int PermanentDelete = Interop.WidgetView.PermanentDeleteGet();
1022 internal static readonly int RetryText = Interop.WidgetView.RetryTextGet();
1023 internal static readonly int EFFECT = Interop.WidgetView.EffectGet();
1026 [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use WidgetId instead.")]
1027 internal static readonly int WIDGET_ID = Interop.WidgetView.WidgetIdGet();
1028 [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use ContentInfo instead.")]
1029 internal static readonly int CONTENT_INFO = Interop.WidgetView.ContentInfoGet();
1030 [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use UpdatePeriod instead.")]
1031 internal static readonly int UPDATE_PERIOD = Interop.WidgetView.UpdatePeriodGet();
1032 [Obsolete("Do not use this, that is deprecated in API9 and will be removed in API11. Use LoadingText instead.")]
1033 internal static readonly int LOADING_TEXT = Interop.WidgetView.LoadingTextGet();