1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
6 using System.Threading;
7 using System.ComponentModel;
12 /// <summary>Efl UI selectable interface</summary>
13 [Efl.Ui.ISelectableConcrete.NativeMethods]
14 public interface ISelectable :
15 Efl.Eo.IWrapper, IDisposable
17 /// <summary>Called when selected</summary>
18 event EventHandler<Efl.Ui.ISelectableItemSelectedEvt_Args> ItemSelectedEvt;
19 /// <summary>Called when no longer selected</summary>
20 event EventHandler<Efl.Ui.ISelectableItemUnselectedEvt_Args> ItemUnselectedEvt;
21 /// <summary>Called when selection is pasted</summary>
22 event EventHandler SelectionPasteEvt;
23 /// <summary>Called when selection is copied</summary>
24 event EventHandler SelectionCopyEvt;
25 /// <summary>Called when selection is cut</summary>
26 event EventHandler SelectionCutEvt;
27 /// <summary>Called at selection start</summary>
28 event EventHandler SelectionStartEvt;
29 /// <summary>Called when selection is changed</summary>
30 event EventHandler SelectionChangedEvt;
31 /// <summary>Called when selection is cleared</summary>
32 event EventHandler SelectionClearedEvt;
34 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.ISelectable.ItemSelectedEvt"/>.</summary>
35 public class ISelectableItemSelectedEvt_Args : EventArgs {
36 ///<summary>Actual event payload.</summary>
37 public Efl.Object arg { get; set; }
39 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.ISelectable.ItemUnselectedEvt"/>.</summary>
40 public class ISelectableItemUnselectedEvt_Args : EventArgs {
41 ///<summary>Actual event payload.</summary>
42 public Efl.Object arg { get; set; }
44 /// <summary>Efl UI selectable interface</summary>
45 sealed public class ISelectableConcrete :
50 ///<summary>Pointer to the native class description.</summary>
51 public override System.IntPtr NativeClass
55 if (((object)this).GetType() == typeof(ISelectableConcrete))
57 return GetEflClassStatic();
61 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
66 [System.Runtime.InteropServices.DllImport(efl.Libs.Efl)] internal static extern System.IntPtr
67 efl_ui_selectable_interface_get();
68 /// <summary>Initializes a new instance of the <see cref="ISelectable"/> class.
69 /// Internal usage: This is used when interacting with C code and should not be used directly.</summary>
70 private ISelectableConcrete(System.IntPtr raw) : base(raw)
74 /// <summary>Called when selected</summary>
75 public event EventHandler<Efl.Ui.ISelectableItemSelectedEvt_Args> ItemSelectedEvt
81 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
83 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
86 Efl.Ui.ISelectableItemSelectedEvt_Args args = new Efl.Ui.ISelectableItemSelectedEvt_Args();
87 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Object);
90 value?.Invoke(obj, args);
94 Eina.Log.Error(e.ToString());
95 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
100 string key = "_EFL_UI_EVENT_ITEM_SELECTED";
101 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
109 string key = "_EFL_UI_EVENT_ITEM_SELECTED";
110 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
114 ///<summary>Method to raise event ItemSelectedEvt.</summary>
115 public void OnItemSelectedEvt(Efl.Ui.ISelectableItemSelectedEvt_Args e)
117 var key = "_EFL_UI_EVENT_ITEM_SELECTED";
118 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
119 if (desc == IntPtr.Zero)
121 Eina.Log.Error($"Failed to get native event {key}");
125 IntPtr info = e.arg.NativeHandle;
126 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
128 /// <summary>Called when no longer selected</summary>
129 public event EventHandler<Efl.Ui.ISelectableItemUnselectedEvt_Args> ItemUnselectedEvt
135 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
137 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
140 Efl.Ui.ISelectableItemUnselectedEvt_Args args = new Efl.Ui.ISelectableItemUnselectedEvt_Args();
141 args.arg = (Efl.Eo.Globals.CreateWrapperFor(evt.Info) as Efl.Object);
144 value?.Invoke(obj, args);
148 Eina.Log.Error(e.ToString());
149 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
154 string key = "_EFL_UI_EVENT_ITEM_UNSELECTED";
155 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
163 string key = "_EFL_UI_EVENT_ITEM_UNSELECTED";
164 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
168 ///<summary>Method to raise event ItemUnselectedEvt.</summary>
169 public void OnItemUnselectedEvt(Efl.Ui.ISelectableItemUnselectedEvt_Args e)
171 var key = "_EFL_UI_EVENT_ITEM_UNSELECTED";
172 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
173 if (desc == IntPtr.Zero)
175 Eina.Log.Error($"Failed to get native event {key}");
179 IntPtr info = e.arg.NativeHandle;
180 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info);
182 /// <summary>Called when selection is pasted</summary>
183 public event EventHandler SelectionPasteEvt
189 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
191 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
194 EventArgs args = EventArgs.Empty;
197 value?.Invoke(obj, args);
201 Eina.Log.Error(e.ToString());
202 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
207 string key = "_EFL_UI_EVENT_SELECTION_PASTE";
208 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
216 string key = "_EFL_UI_EVENT_SELECTION_PASTE";
217 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
221 ///<summary>Method to raise event SelectionPasteEvt.</summary>
222 public void OnSelectionPasteEvt(EventArgs e)
224 var key = "_EFL_UI_EVENT_SELECTION_PASTE";
225 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
226 if (desc == IntPtr.Zero)
228 Eina.Log.Error($"Failed to get native event {key}");
232 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
234 /// <summary>Called when selection is copied</summary>
235 public event EventHandler SelectionCopyEvt
241 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
243 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
246 EventArgs args = EventArgs.Empty;
249 value?.Invoke(obj, args);
253 Eina.Log.Error(e.ToString());
254 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
259 string key = "_EFL_UI_EVENT_SELECTION_COPY";
260 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
268 string key = "_EFL_UI_EVENT_SELECTION_COPY";
269 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
273 ///<summary>Method to raise event SelectionCopyEvt.</summary>
274 public void OnSelectionCopyEvt(EventArgs e)
276 var key = "_EFL_UI_EVENT_SELECTION_COPY";
277 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
278 if (desc == IntPtr.Zero)
280 Eina.Log.Error($"Failed to get native event {key}");
284 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
286 /// <summary>Called when selection is cut</summary>
287 public event EventHandler SelectionCutEvt
293 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
295 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
298 EventArgs args = EventArgs.Empty;
301 value?.Invoke(obj, args);
305 Eina.Log.Error(e.ToString());
306 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
311 string key = "_EFL_UI_EVENT_SELECTION_CUT";
312 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
320 string key = "_EFL_UI_EVENT_SELECTION_CUT";
321 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
325 ///<summary>Method to raise event SelectionCutEvt.</summary>
326 public void OnSelectionCutEvt(EventArgs e)
328 var key = "_EFL_UI_EVENT_SELECTION_CUT";
329 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
330 if (desc == IntPtr.Zero)
332 Eina.Log.Error($"Failed to get native event {key}");
336 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
338 /// <summary>Called at selection start</summary>
339 public event EventHandler SelectionStartEvt
345 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
347 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
350 EventArgs args = EventArgs.Empty;
353 value?.Invoke(obj, args);
357 Eina.Log.Error(e.ToString());
358 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
363 string key = "_EFL_UI_EVENT_SELECTION_START";
364 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
372 string key = "_EFL_UI_EVENT_SELECTION_START";
373 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
377 ///<summary>Method to raise event SelectionStartEvt.</summary>
378 public void OnSelectionStartEvt(EventArgs e)
380 var key = "_EFL_UI_EVENT_SELECTION_START";
381 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
382 if (desc == IntPtr.Zero)
384 Eina.Log.Error($"Failed to get native event {key}");
388 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
390 /// <summary>Called when selection is changed</summary>
391 public event EventHandler SelectionChangedEvt
397 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
399 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
402 EventArgs args = EventArgs.Empty;
405 value?.Invoke(obj, args);
409 Eina.Log.Error(e.ToString());
410 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
415 string key = "_EFL_UI_EVENT_SELECTION_CHANGED";
416 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
424 string key = "_EFL_UI_EVENT_SELECTION_CHANGED";
425 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
429 ///<summary>Method to raise event SelectionChangedEvt.</summary>
430 public void OnSelectionChangedEvt(EventArgs e)
432 var key = "_EFL_UI_EVENT_SELECTION_CHANGED";
433 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
434 if (desc == IntPtr.Zero)
436 Eina.Log.Error($"Failed to get native event {key}");
440 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
442 /// <summary>Called when selection is cleared</summary>
443 public event EventHandler SelectionClearedEvt
449 Efl.EventCb callerCb = (IntPtr data, ref Efl.Event.NativeStruct evt) =>
451 var obj = Efl.Eo.Globals.WrapperSupervisorPtrToManaged(data).Target;
454 EventArgs args = EventArgs.Empty;
457 value?.Invoke(obj, args);
461 Eina.Log.Error(e.ToString());
462 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
467 string key = "_EFL_UI_EVENT_SELECTION_CLEARED";
468 AddNativeEventHandler(efl.Libs.Efl, key, callerCb, value);
476 string key = "_EFL_UI_EVENT_SELECTION_CLEARED";
477 RemoveNativeEventHandler(efl.Libs.Efl, key, value);
481 ///<summary>Method to raise event SelectionClearedEvt.</summary>
482 public void OnSelectionClearedEvt(EventArgs e)
484 var key = "_EFL_UI_EVENT_SELECTION_CLEARED";
485 IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Efl, key);
486 if (desc == IntPtr.Zero)
488 Eina.Log.Error($"Failed to get native event {key}");
492 Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, IntPtr.Zero);
494 private static IntPtr GetEflClassStatic()
496 return Efl.Ui.ISelectableConcrete.efl_ui_selectable_interface_get();
498 /// <summary>Wrapper for native methods and virtual method delegates.
499 /// For internal use by generated code only.</summary>
500 public class NativeMethods : Efl.Eo.NativeClass
502 /// <summary>Gets the list of Eo operations to override.</summary>
503 /// <returns>The list of Eo operations to be overload.</returns>
504 public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
506 var descs = new System.Collections.Generic.List<Efl_Op_Description>();
509 /// <summary>Returns the Eo class for the native methods of this class.</summary>
510 /// <returns>The native class pointer.</returns>
511 public override IntPtr GetEflClass()
513 return Efl.Ui.ISelectableConcrete.efl_ui_selectable_interface_get();
516 #pragma warning disable CA1707, CS1591, SA1300, SA1600
518 #pragma warning restore CA1707, CS1591, SA1300, SA1600