[Bluetooth][Non-ACR] Fix no data exception issue (#787)
[platform/core/csapi/tizenfx.git] / internals / src / EflSharp / EflSharp / efl_ui_focus_manager.eo.cs
1 #pragma warning disable CS1591
2 using System;
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
5 using System.Linq;
6 using System.ComponentModel;
7 namespace Efl { namespace Ui { namespace Focus { 
8 /// <summary>Interface for managing focus objects
9 /// This interface is built in order to support movement of the focus property in a set of widgets. The movement of the focus property can happen in a tree manner, or a graph manner. The movement is also keeping track of the history of focused elements. The tree interpretation differentiates between logical and non-logical widgets, a logical widget cannot receive focus whereas a non-logical one can.
10 /// 1.20</summary>
11 [ManagerNativeInherit]
12 public interface Manager : 
13    Efl.Eo.IWrapper, IDisposable
14 {
15    /// <summary>The element which is currently focused by this manager
16 /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
17 /// 1.20</summary>
18 /// <returns>Currently focused element.
19 /// 1.20</returns>
20 Efl.Ui.Focus.Object GetManagerFocus();
21    /// <summary>The element which is currently focused by this manager
22 /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
23 /// 1.20</summary>
24 /// <param name="focus">Currently focused element.
25 /// 1.20</param>
26 /// <returns></returns>
27  void SetManagerFocus( Efl.Ui.Focus.Object focus);
28    /// <summary>Add another manager to serve the move requests.
29 /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
30 /// 1.20</summary>
31 /// <returns>The redirect manager.
32 /// 1.20</returns>
33 Efl.Ui.Focus.Manager GetRedirect();
34    /// <summary>Add another manager to serve the move requests.
35 /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
36 /// 1.20</summary>
37 /// <param name="redirect">The redirect manager.
38 /// 1.20</param>
39 /// <returns></returns>
40  void SetRedirect( Efl.Ui.Focus.Manager redirect);
41    /// <summary>The list of elements which are at the border of the graph.
42 /// This means one of the relations right,left or down,up are not set. This call flushes all changes. See <see cref="Efl.Ui.Focus.Manager.Move"/>
43 /// 1.20</summary>
44 /// <returns>An iterator over the border objects.
45 /// 1.20</returns>
46 Eina.Iterator<Efl.Ui.Focus.Object> GetBorderElements();
47    /// <summary>Get all elements that are at the border of the viewport
48 /// Every element returned by this is located inside the viewport rectangle, but has a right, left, down or up neighbor outside the viewport.
49 /// 1.20</summary>
50 /// <param name="viewport">The rectangle defining the viewport.
51 /// 1.20</param>
52 /// <returns>The list of border objects.
53 /// 1.20</returns>
54 Eina.Iterator<Efl.Ui.Focus.Object> GetViewportElements( Eina.Rect viewport);
55    /// <summary>Root node for all logical subtrees.
56 /// This property can only be set once.
57 /// 1.20</summary>
58 /// <returns>Will be registered into this manager object.
59 /// 1.20</returns>
60 Efl.Ui.Focus.Object GetRoot();
61    /// <summary>Root node for all logical subtrees.
62 /// This property can only be set once.
63 /// 1.20</summary>
64 /// <param name="root">Will be registered into this manager object.
65 /// 1.20</param>
66 /// <returns>If <c>true</c>, this is the root node
67 /// 1.20</returns>
68 bool SetRoot( Efl.Ui.Focus.Object root);
69    /// <summary>Move the focus in the given direction.
70 /// This call flushes all changes. This means all changes between the last flush and now are computed.
71 /// 1.20</summary>
72 /// <param name="direction">The direction to move to.
73 /// 1.20</param>
74 /// <returns>The element which is now focused.
75 /// 1.20</returns>
76 Efl.Ui.Focus.Object Move( Efl.Ui.Focus.Direction direction);
77    /// <summary>Return the object in the <c>direction</c> from <c>child</c>.
78 /// 1.20</summary>
79 /// <param name="direction">Direction to move focus.
80 /// 1.20</param>
81 /// <param name="child">The child to move from. Pass <c>null</c> to indicate the currently focused child.
82 /// 1.20</param>
83 /// <param name="logical">Wether you want to have a logical node as result or a non-logical. Note, in a <see cref="Efl.Ui.Focus.Manager.Move"/> call no logical node will get focus.
84 /// 1.20</param>
85 /// <returns>Object that would receive focus if moved in the given direction.
86 /// 1.20</returns>
87 Efl.Ui.Focus.Object MoveRequest( Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object child,  bool logical);
88    /// <summary>Return the widget in the direction next.
89 /// The returned widget is a child of <c>root</c>. It&apos;s guaranteed that child will not be prepared once again, so you can call this function inside a <see cref="Efl.Ui.Focus.Object.SetupOrder"/> call.
90 /// 1.20</summary>
91 /// <param name="root">Parent for returned child.
92 /// 1.20</param>
93 /// <returns>Child of passed parameter.
94 /// 1.20</returns>
95 Efl.Ui.Focus.Object RequestSubchild( Efl.Ui.Focus.Object root);
96    /// <summary>This will fetch the data from a registered node.
97 /// Be aware this function will trigger a computation of all dirty nodes.
98 /// 1.20</summary>
99 /// <param name="child">The child object to inspect.
100 /// 1.20</param>
101 /// <returns>The list of relations starting from <c>child</c>.
102 /// 1.20</returns>
103 Efl.Ui.Focus.Relations Fetch( Efl.Ui.Focus.Object child);
104    /// <summary>Return the last logical object.
105 /// The returned object is the last object that would be returned if you start at the root and move the direction into next.
106 /// 1.20</summary>
107 /// <returns>Last object.
108 /// 1.20</returns>
109 Efl.Ui.Focus.ManagerLogicalEndDetail LogicalEnd();
110    /// <summary>Reset the history stack of this manager object. This means the uppermost element will be unfocused, and all other elements will be removed from the remembered list.
111 /// You should focus another element immediately after calling this, in order to always have a focused object.
112 /// 1.20</summary>
113 /// <returns></returns>
114  void ResetHistory();
115    /// <summary>Remove the uppermost history element, and focus the previous one.
116 /// If there is an element that was focused before, it will be used. Otherwise, the best fitting element from the registered elements will be focused.
117 /// 1.20</summary>
118 /// <returns></returns>
119  void PopHistoryStack();
120    /// <summary>Called when this manager is set as redirect.
121 /// In case that this is called as an result of a move call, <c>direction</c> and <c>entry</c> will be set to the direction of the move call, and the <c>entry</c> object will be set to the object that had this manager as redirect property.
122 /// 1.20</summary>
123 /// <param name="direction">The direction in which this should be setup.
124 /// 1.20</param>
125 /// <param name="entry">The object that caused this manager to be redirect.
126 /// 1.20</param>
127 /// <returns></returns>
128  void SetupOnFirstTouch( Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object entry);
129    /// <summary>This disables the cache invalidation when an object is moved.
130 /// Even if an object is moved, the focus manager will not recalculate its relations. This can be used when you know that the set of widgets in the focus manager is moved the same way, so the relations between the widets in the set do not change and the complex calculations can be avoided. Use <see cref="Efl.Ui.Focus.Manager.DirtyLogicUnfreeze"/> to re-enable relationship calculation.
131 /// 1.20</summary>
132 /// <returns></returns>
133  void FreezeDirtyLogic();
134    /// <summary>This enables the cache invalidation when an object is moved.
135 /// This is the counterpart to <see cref="Efl.Ui.Focus.Manager.FreezeDirtyLogic"/>.
136 /// 1.20</summary>
137 /// <returns></returns>
138  void DirtyLogicUnfreeze();
139                                                          /// <summary>Redirect object has changed, the old manager is passed as an event argument.
140    /// 1.20</summary>
141    event EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args> RedirectChangedEvt;
142    /// <summary>After this event, the manager object will calculate relations in the graph. Can be used to add / remove children in a lazy fashion.
143    /// 1.20</summary>
144    event EventHandler FlushPreEvt;
145    /// <summary>Cached relationship calculation results have been invalidated.
146    /// 1.20</summary>
147    event EventHandler CoordsDirtyEvt;
148    /// <summary>The manager_focus property has changed. The previously focused object is passed as an event argument.
149    /// 1.20</summary>
150    event EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args> Manager_focusChangedEvt;
151    /// <summary>Called when this focus manager is frozen or thawed, even_info beeing <c>true</c> indicates that it is now frozen, <c>false</c> indicates that it is thawed.
152    /// 1.20</summary>
153    event EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args> Dirty_logic_freezeChangedEvt;
154    /// <summary>The element which is currently focused by this manager
155 /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
156 /// 1.20</summary>
157 /// <value>Currently focused element.
158 /// 1.20</value>
159    Efl.Ui.Focus.Object ManagerFocus {
160       get ;
161       set ;
162    }
163    /// <summary>Add another manager to serve the move requests.
164 /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
165 /// 1.20</summary>
166 /// <value>The redirect manager.
167 /// 1.20</value>
168    Efl.Ui.Focus.Manager Redirect {
169       get ;
170       set ;
171    }
172    /// <summary>The list of elements which are at the border of the graph.
173 /// This means one of the relations right,left or down,up are not set. This call flushes all changes. See <see cref="Efl.Ui.Focus.Manager.Move"/>
174 /// 1.20</summary>
175 /// <value>An iterator over the border objects.
176 /// 1.20</value>
177    Eina.Iterator<Efl.Ui.Focus.Object> BorderElements {
178       get ;
179    }
180    /// <summary>Root node for all logical subtrees.
181 /// This property can only be set once.
182 /// 1.20</summary>
183 /// <value>Will be registered into this manager object.
184 /// 1.20</value>
185    Efl.Ui.Focus.Object Root {
186       get ;
187       set ;
188    }
189 }
190 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Focus.Manager.RedirectChangedEvt"/>.</summary>
191 public class ManagerRedirectChangedEvt_Args : EventArgs {
192    ///<summary>Actual event payload.</summary>
193    public Efl.Ui.Focus.Manager arg { get; set; }
194 }
195 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Focus.Manager.Manager_focusChangedEvt"/>.</summary>
196 public class ManagerManager_focusChangedEvt_Args : EventArgs {
197    ///<summary>Actual event payload.</summary>
198    public Efl.Ui.Focus.Object arg { get; set; }
199 }
200 ///<summary>Event argument wrapper for event <see cref="Efl.Ui.Focus.Manager.Dirty_logic_freezeChangedEvt"/>.</summary>
201 public class ManagerDirty_logic_freezeChangedEvt_Args : EventArgs {
202    ///<summary>Actual event payload.</summary>
203    public bool arg { get; set; }
204 }
205 /// <summary>Interface for managing focus objects
206 /// This interface is built in order to support movement of the focus property in a set of widgets. The movement of the focus property can happen in a tree manner, or a graph manner. The movement is also keeping track of the history of focused elements. The tree interpretation differentiates between logical and non-logical widgets, a logical widget cannot receive focus whereas a non-logical one can.
207 /// 1.20</summary>
208 sealed public class ManagerConcrete : 
209
210 Manager
211    
212 {
213    ///<summary>Pointer to the native class description.</summary>
214    public System.IntPtr NativeClass {
215       get {
216          if (((object)this).GetType() == typeof (ManagerConcrete))
217             return Efl.Ui.Focus.ManagerNativeInherit.GetEflClassStatic();
218          else
219             return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
220       }
221    }
222    private EventHandlerList eventHandlers = new EventHandlerList();
223    private  System.IntPtr handle;
224    ///<summary>Pointer to the native instance.</summary>
225    public System.IntPtr NativeHandle {
226       get { return handle; }
227    }
228    [System.Runtime.InteropServices.DllImport(efl.Libs.Elementary)] internal static extern System.IntPtr
229       efl_ui_focus_manager_interface_get();
230    ///<summary>Internal usage: Constructs an instance from a native pointer. This is used when interacting with C code and should not be used directly.</summary>
231    public ManagerConcrete(System.IntPtr raw)
232    {
233       handle = raw;
234       register_event_proxies();
235    }
236    ///<summary>Destructor.</summary>
237    ~ManagerConcrete()
238    {
239       Dispose(false);
240    }
241    ///<summary>Releases the underlying native instance.</summary>
242    void Dispose(bool disposing)
243    {
244       if (handle != System.IntPtr.Zero) {
245          Efl.Eo.Globals.efl_unref(handle);
246          handle = System.IntPtr.Zero;
247       }
248    }
249    ///<summary>Releases the underlying native instance.</summary>
250    public void Dispose()
251    {
252       Dispose(true);
253       GC.SuppressFinalize(this);
254    }
255    ///<summary>Casts obj into an instance of this type.</summary>
256    public static ManagerConcrete static_cast(Efl.Object obj)
257    {
258       if (obj == null)
259          throw new System.ArgumentNullException("obj");
260       return new ManagerConcrete(obj.NativeHandle);
261    }
262    ///<summary>Verifies if the given object is equal to this one.</summary>
263    public override bool Equals(object obj)
264    {
265       var other = obj as Efl.Object;
266       if (other == null)
267          return false;
268       return this.NativeHandle == other.NativeHandle;
269    }
270    ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
271    public override int GetHashCode()
272    {
273       return this.NativeHandle.ToInt32();
274    }
275    ///<summary>Turns the native pointer into a string representation.</summary>
276    public override String ToString()
277    {
278       return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
279    }
280    private readonly object eventLock = new object();
281    private Dictionary<string, int> event_cb_count = new Dictionary<string, int>();
282    private bool add_cpp_event_handler(string lib, string key, Efl.EventCb evt_delegate) {
283       int event_count = 0;
284       if (!event_cb_count.TryGetValue(key, out event_count))
285          event_cb_count[key] = event_count;
286       if (event_count == 0) {
287          IntPtr desc = Efl.EventDescription.GetNative(lib, key);
288          if (desc == IntPtr.Zero) {
289             Eina.Log.Error($"Failed to get native event {key}");
290             return false;
291          }
292           bool result = Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);
293          if (!result) {
294             Eina.Log.Error($"Failed to add event proxy for event {key}");
295             return false;
296          }
297          Eina.Error.RaiseIfUnhandledException();
298       } 
299       event_cb_count[key]++;
300       return true;
301    }
302    private bool remove_cpp_event_handler(string key, Efl.EventCb evt_delegate) {
303       int event_count = 0;
304       if (!event_cb_count.TryGetValue(key, out event_count))
305          event_cb_count[key] = event_count;
306       if (event_count == 1) {
307          IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Elementary, key);
308          if (desc == IntPtr.Zero) {
309             Eina.Log.Error($"Failed to get native event {key}");
310             return false;
311          }
312          bool result = Efl.Eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);
313          if (!result) {
314             Eina.Log.Error($"Failed to remove event proxy for event {key}");
315             return false;
316          }
317          Eina.Error.RaiseIfUnhandledException();
318       } else if (event_count == 0) {
319          Eina.Log.Error($"Trying to remove proxy for event {key} when there is nothing registered.");
320          return false;
321       } 
322       event_cb_count[key]--;
323       return true;
324    }
325 private static object RedirectChangedEvtKey = new object();
326    /// <summary>Redirect object has changed, the old manager is passed as an event argument.
327    /// 1.20</summary>
328    public event EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args> RedirectChangedEvt
329    {
330       add {
331          lock (eventLock) {
332             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED";
333             if (add_cpp_event_handler(efl.Libs.Elementary, key, this.evt_RedirectChangedEvt_delegate)) {
334                eventHandlers.AddHandler(RedirectChangedEvtKey , value);
335             } else
336                Eina.Log.Error($"Error adding proxy for event {key}");
337          }
338       }
339       remove {
340          lock (eventLock) {
341             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED";
342             if (remove_cpp_event_handler(key, this.evt_RedirectChangedEvt_delegate)) { 
343                eventHandlers.RemoveHandler(RedirectChangedEvtKey , value);
344             } else
345                Eina.Log.Error($"Error removing proxy for event {key}");
346          }
347       }
348    }
349    ///<summary>Method to raise event RedirectChangedEvt.</summary>
350    public void On_RedirectChangedEvt(Efl.Ui.Focus.ManagerRedirectChangedEvt_Args e)
351    {
352       EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args> evt;
353       lock (eventLock) {
354       evt = (EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args>)eventHandlers[RedirectChangedEvtKey];
355       }
356       evt?.Invoke(this, e);
357    }
358    Efl.EventCb evt_RedirectChangedEvt_delegate;
359    private void on_RedirectChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
360    {
361       Efl.Ui.Focus.ManagerRedirectChangedEvt_Args args = new Efl.Ui.Focus.ManagerRedirectChangedEvt_Args();
362       args.arg = new Efl.Ui.Focus.ManagerConcrete(evt.Info);
363       try {
364          On_RedirectChangedEvt(args);
365       } catch (Exception e) {
366          Eina.Log.Error(e.ToString());
367          Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
368       }
369    }
370
371 private static object FlushPreEvtKey = new object();
372    /// <summary>After this event, the manager object will calculate relations in the graph. Can be used to add / remove children in a lazy fashion.
373    /// 1.20</summary>
374    public event EventHandler FlushPreEvt
375    {
376       add {
377          lock (eventLock) {
378             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_FLUSH_PRE";
379             if (add_cpp_event_handler(efl.Libs.Elementary, key, this.evt_FlushPreEvt_delegate)) {
380                eventHandlers.AddHandler(FlushPreEvtKey , value);
381             } else
382                Eina.Log.Error($"Error adding proxy for event {key}");
383          }
384       }
385       remove {
386          lock (eventLock) {
387             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_FLUSH_PRE";
388             if (remove_cpp_event_handler(key, this.evt_FlushPreEvt_delegate)) { 
389                eventHandlers.RemoveHandler(FlushPreEvtKey , value);
390             } else
391                Eina.Log.Error($"Error removing proxy for event {key}");
392          }
393       }
394    }
395    ///<summary>Method to raise event FlushPreEvt.</summary>
396    public void On_FlushPreEvt(EventArgs e)
397    {
398       EventHandler evt;
399       lock (eventLock) {
400       evt = (EventHandler)eventHandlers[FlushPreEvtKey];
401       }
402       evt?.Invoke(this, e);
403    }
404    Efl.EventCb evt_FlushPreEvt_delegate;
405    private void on_FlushPreEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
406    {
407       EventArgs args = EventArgs.Empty;
408       try {
409          On_FlushPreEvt(args);
410       } catch (Exception e) {
411          Eina.Log.Error(e.ToString());
412          Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
413       }
414    }
415
416 private static object CoordsDirtyEvtKey = new object();
417    /// <summary>Cached relationship calculation results have been invalidated.
418    /// 1.20</summary>
419    public event EventHandler CoordsDirtyEvt
420    {
421       add {
422          lock (eventLock) {
423             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY";
424             if (add_cpp_event_handler(efl.Libs.Elementary, key, this.evt_CoordsDirtyEvt_delegate)) {
425                eventHandlers.AddHandler(CoordsDirtyEvtKey , value);
426             } else
427                Eina.Log.Error($"Error adding proxy for event {key}");
428          }
429       }
430       remove {
431          lock (eventLock) {
432             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY";
433             if (remove_cpp_event_handler(key, this.evt_CoordsDirtyEvt_delegate)) { 
434                eventHandlers.RemoveHandler(CoordsDirtyEvtKey , value);
435             } else
436                Eina.Log.Error($"Error removing proxy for event {key}");
437          }
438       }
439    }
440    ///<summary>Method to raise event CoordsDirtyEvt.</summary>
441    public void On_CoordsDirtyEvt(EventArgs e)
442    {
443       EventHandler evt;
444       lock (eventLock) {
445       evt = (EventHandler)eventHandlers[CoordsDirtyEvtKey];
446       }
447       evt?.Invoke(this, e);
448    }
449    Efl.EventCb evt_CoordsDirtyEvt_delegate;
450    private void on_CoordsDirtyEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
451    {
452       EventArgs args = EventArgs.Empty;
453       try {
454          On_CoordsDirtyEvt(args);
455       } catch (Exception e) {
456          Eina.Log.Error(e.ToString());
457          Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
458       }
459    }
460
461 private static object Manager_focusChangedEvtKey = new object();
462    /// <summary>The manager_focus property has changed. The previously focused object is passed as an event argument.
463    /// 1.20</summary>
464    public event EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args> Manager_focusChangedEvt
465    {
466       add {
467          lock (eventLock) {
468             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_MANAGER_FOCUS_CHANGED";
469             if (add_cpp_event_handler(efl.Libs.Elementary, key, this.evt_Manager_focusChangedEvt_delegate)) {
470                eventHandlers.AddHandler(Manager_focusChangedEvtKey , value);
471             } else
472                Eina.Log.Error($"Error adding proxy for event {key}");
473          }
474       }
475       remove {
476          lock (eventLock) {
477             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_MANAGER_FOCUS_CHANGED";
478             if (remove_cpp_event_handler(key, this.evt_Manager_focusChangedEvt_delegate)) { 
479                eventHandlers.RemoveHandler(Manager_focusChangedEvtKey , value);
480             } else
481                Eina.Log.Error($"Error removing proxy for event {key}");
482          }
483       }
484    }
485    ///<summary>Method to raise event Manager_focusChangedEvt.</summary>
486    public void On_Manager_focusChangedEvt(Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args e)
487    {
488       EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args> evt;
489       lock (eventLock) {
490       evt = (EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args>)eventHandlers[Manager_focusChangedEvtKey];
491       }
492       evt?.Invoke(this, e);
493    }
494    Efl.EventCb evt_Manager_focusChangedEvt_delegate;
495    private void on_Manager_focusChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
496    {
497       Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args args = new Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args();
498       args.arg = new Efl.Ui.Focus.ObjectConcrete(evt.Info);
499       try {
500          On_Manager_focusChangedEvt(args);
501       } catch (Exception e) {
502          Eina.Log.Error(e.ToString());
503          Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
504       }
505    }
506
507 private static object Dirty_logic_freezeChangedEvtKey = new object();
508    /// <summary>Called when this focus manager is frozen or thawed, even_info beeing <c>true</c> indicates that it is now frozen, <c>false</c> indicates that it is thawed.
509    /// 1.20</summary>
510    public event EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args> Dirty_logic_freezeChangedEvt
511    {
512       add {
513          lock (eventLock) {
514             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_DIRTY_LOGIC_FREEZE_CHANGED";
515             if (add_cpp_event_handler(efl.Libs.Elementary, key, this.evt_Dirty_logic_freezeChangedEvt_delegate)) {
516                eventHandlers.AddHandler(Dirty_logic_freezeChangedEvtKey , value);
517             } else
518                Eina.Log.Error($"Error adding proxy for event {key}");
519          }
520       }
521       remove {
522          lock (eventLock) {
523             string key = "_EFL_UI_FOCUS_MANAGER_EVENT_DIRTY_LOGIC_FREEZE_CHANGED";
524             if (remove_cpp_event_handler(key, this.evt_Dirty_logic_freezeChangedEvt_delegate)) { 
525                eventHandlers.RemoveHandler(Dirty_logic_freezeChangedEvtKey , value);
526             } else
527                Eina.Log.Error($"Error removing proxy for event {key}");
528          }
529       }
530    }
531    ///<summary>Method to raise event Dirty_logic_freezeChangedEvt.</summary>
532    public void On_Dirty_logic_freezeChangedEvt(Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args e)
533    {
534       EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args> evt;
535       lock (eventLock) {
536       evt = (EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args>)eventHandlers[Dirty_logic_freezeChangedEvtKey];
537       }
538       evt?.Invoke(this, e);
539    }
540    Efl.EventCb evt_Dirty_logic_freezeChangedEvt_delegate;
541    private void on_Dirty_logic_freezeChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
542    {
543       Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args args = new Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args();
544       args.arg = evt.Info != IntPtr.Zero;
545       try {
546          On_Dirty_logic_freezeChangedEvt(args);
547       } catch (Exception e) {
548          Eina.Log.Error(e.ToString());
549          Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
550       }
551    }
552
553     void register_event_proxies()
554    {
555       evt_RedirectChangedEvt_delegate = new Efl.EventCb(on_RedirectChangedEvt_NativeCallback);
556       evt_FlushPreEvt_delegate = new Efl.EventCb(on_FlushPreEvt_NativeCallback);
557       evt_CoordsDirtyEvt_delegate = new Efl.EventCb(on_CoordsDirtyEvt_NativeCallback);
558       evt_Manager_focusChangedEvt_delegate = new Efl.EventCb(on_Manager_focusChangedEvt_NativeCallback);
559       evt_Dirty_logic_freezeChangedEvt_delegate = new Efl.EventCb(on_Dirty_logic_freezeChangedEvt_NativeCallback);
560    }
561    /// <summary>The element which is currently focused by this manager
562    /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
563    /// 1.20</summary>
564    /// <returns>Currently focused element.
565    /// 1.20</returns>
566    public Efl.Ui.Focus.Object GetManagerFocus() {
567        var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_focus_get_ptr.Value.Delegate(this.NativeHandle);
568       Eina.Error.RaiseIfUnhandledException();
569       return _ret_var;
570  }
571    /// <summary>The element which is currently focused by this manager
572    /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
573    /// 1.20</summary>
574    /// <param name="focus">Currently focused element.
575    /// 1.20</param>
576    /// <returns></returns>
577    public  void SetManagerFocus( Efl.Ui.Focus.Object focus) {
578                          Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_focus_set_ptr.Value.Delegate(this.NativeHandle, focus);
579       Eina.Error.RaiseIfUnhandledException();
580                    }
581    /// <summary>Add another manager to serve the move requests.
582    /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
583    /// 1.20</summary>
584    /// <returns>The redirect manager.
585    /// 1.20</returns>
586    public Efl.Ui.Focus.Manager GetRedirect() {
587        var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_redirect_get_ptr.Value.Delegate(this.NativeHandle);
588       Eina.Error.RaiseIfUnhandledException();
589       return _ret_var;
590  }
591    /// <summary>Add another manager to serve the move requests.
592    /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
593    /// 1.20</summary>
594    /// <param name="redirect">The redirect manager.
595    /// 1.20</param>
596    /// <returns></returns>
597    public  void SetRedirect( Efl.Ui.Focus.Manager redirect) {
598                          Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_redirect_set_ptr.Value.Delegate(this.NativeHandle, redirect);
599       Eina.Error.RaiseIfUnhandledException();
600                    }
601    /// <summary>The list of elements which are at the border of the graph.
602    /// This means one of the relations right,left or down,up are not set. This call flushes all changes. See <see cref="Efl.Ui.Focus.Manager.Move"/>
603    /// 1.20</summary>
604    /// <returns>An iterator over the border objects.
605    /// 1.20</returns>
606    public Eina.Iterator<Efl.Ui.Focus.Object> GetBorderElements() {
607        var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_border_elements_get_ptr.Value.Delegate(this.NativeHandle);
608       Eina.Error.RaiseIfUnhandledException();
609       return new Eina.Iterator<Efl.Ui.Focus.Object>(_ret_var, false, false);
610  }
611    /// <summary>Get all elements that are at the border of the viewport
612    /// Every element returned by this is located inside the viewport rectangle, but has a right, left, down or up neighbor outside the viewport.
613    /// 1.20</summary>
614    /// <param name="viewport">The rectangle defining the viewport.
615    /// 1.20</param>
616    /// <returns>The list of border objects.
617    /// 1.20</returns>
618    public Eina.Iterator<Efl.Ui.Focus.Object> GetViewportElements( Eina.Rect viewport) {
619        var _in_viewport = Eina.Rect_StructConversion.ToInternal(viewport);
620                   var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_viewport_elements_get_ptr.Value.Delegate(this.NativeHandle, _in_viewport);
621       Eina.Error.RaiseIfUnhandledException();
622                   return new Eina.Iterator<Efl.Ui.Focus.Object>(_ret_var, false, false);
623  }
624    /// <summary>Root node for all logical subtrees.
625    /// This property can only be set once.
626    /// 1.20</summary>
627    /// <returns>Will be registered into this manager object.
628    /// 1.20</returns>
629    public Efl.Ui.Focus.Object GetRoot() {
630        var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_root_get_ptr.Value.Delegate(this.NativeHandle);
631       Eina.Error.RaiseIfUnhandledException();
632       return _ret_var;
633  }
634    /// <summary>Root node for all logical subtrees.
635    /// This property can only be set once.
636    /// 1.20</summary>
637    /// <param name="root">Will be registered into this manager object.
638    /// 1.20</param>
639    /// <returns>If <c>true</c>, this is the root node
640    /// 1.20</returns>
641    public bool SetRoot( Efl.Ui.Focus.Object root) {
642                          var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_root_set_ptr.Value.Delegate(this.NativeHandle, root);
643       Eina.Error.RaiseIfUnhandledException();
644                   return _ret_var;
645  }
646    /// <summary>Move the focus in the given direction.
647    /// This call flushes all changes. This means all changes between the last flush and now are computed.
648    /// 1.20</summary>
649    /// <param name="direction">The direction to move to.
650    /// 1.20</param>
651    /// <returns>The element which is now focused.
652    /// 1.20</returns>
653    public Efl.Ui.Focus.Object Move( Efl.Ui.Focus.Direction direction) {
654                          var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_move_ptr.Value.Delegate(this.NativeHandle, direction);
655       Eina.Error.RaiseIfUnhandledException();
656                   return _ret_var;
657  }
658    /// <summary>Return the object in the <c>direction</c> from <c>child</c>.
659    /// 1.20</summary>
660    /// <param name="direction">Direction to move focus.
661    /// 1.20</param>
662    /// <param name="child">The child to move from. Pass <c>null</c> to indicate the currently focused child.
663    /// 1.20</param>
664    /// <param name="logical">Wether you want to have a logical node as result or a non-logical. Note, in a <see cref="Efl.Ui.Focus.Manager.Move"/> call no logical node will get focus.
665    /// 1.20</param>
666    /// <returns>Object that would receive focus if moved in the given direction.
667    /// 1.20</returns>
668    public Efl.Ui.Focus.Object MoveRequest( Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object child,  bool logical) {
669                                                              var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_request_move_ptr.Value.Delegate(this.NativeHandle, direction,  child,  logical);
670       Eina.Error.RaiseIfUnhandledException();
671                                           return _ret_var;
672  }
673    /// <summary>Return the widget in the direction next.
674    /// The returned widget is a child of <c>root</c>. It&apos;s guaranteed that child will not be prepared once again, so you can call this function inside a <see cref="Efl.Ui.Focus.Object.SetupOrder"/> call.
675    /// 1.20</summary>
676    /// <param name="root">Parent for returned child.
677    /// 1.20</param>
678    /// <returns>Child of passed parameter.
679    /// 1.20</returns>
680    public Efl.Ui.Focus.Object RequestSubchild( Efl.Ui.Focus.Object root) {
681                          var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_request_subchild_ptr.Value.Delegate(this.NativeHandle, root);
682       Eina.Error.RaiseIfUnhandledException();
683                   return _ret_var;
684  }
685    /// <summary>This will fetch the data from a registered node.
686    /// Be aware this function will trigger a computation of all dirty nodes.
687    /// 1.20</summary>
688    /// <param name="child">The child object to inspect.
689    /// 1.20</param>
690    /// <returns>The list of relations starting from <c>child</c>.
691    /// 1.20</returns>
692    public Efl.Ui.Focus.Relations Fetch( Efl.Ui.Focus.Object child) {
693                          var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_fetch_ptr.Value.Delegate(this.NativeHandle, child);
694       Eina.Error.RaiseIfUnhandledException();
695                   var __ret_tmp = Eina.PrimitiveConversion.PointerToManaged<Efl.Ui.Focus.Relations>(_ret_var);
696       Marshal.FreeHGlobal(_ret_var);
697       return __ret_tmp;
698  }
699    /// <summary>Return the last logical object.
700    /// The returned object is the last object that would be returned if you start at the root and move the direction into next.
701    /// 1.20</summary>
702    /// <returns>Last object.
703    /// 1.20</returns>
704    public Efl.Ui.Focus.ManagerLogicalEndDetail LogicalEnd() {
705        var _ret_var = Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_logical_end_ptr.Value.Delegate(this.NativeHandle);
706       Eina.Error.RaiseIfUnhandledException();
707       return Efl.Ui.Focus.ManagerLogicalEndDetail_StructConversion.ToManaged(_ret_var);
708  }
709    /// <summary>Reset the history stack of this manager object. This means the uppermost element will be unfocused, and all other elements will be removed from the remembered list.
710    /// You should focus another element immediately after calling this, in order to always have a focused object.
711    /// 1.20</summary>
712    /// <returns></returns>
713    public  void ResetHistory() {
714        Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_reset_history_ptr.Value.Delegate(this.NativeHandle);
715       Eina.Error.RaiseIfUnhandledException();
716        }
717    /// <summary>Remove the uppermost history element, and focus the previous one.
718    /// If there is an element that was focused before, it will be used. Otherwise, the best fitting element from the registered elements will be focused.
719    /// 1.20</summary>
720    /// <returns></returns>
721    public  void PopHistoryStack() {
722        Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_pop_history_stack_ptr.Value.Delegate(this.NativeHandle);
723       Eina.Error.RaiseIfUnhandledException();
724        }
725    /// <summary>Called when this manager is set as redirect.
726    /// In case that this is called as an result of a move call, <c>direction</c> and <c>entry</c> will be set to the direction of the move call, and the <c>entry</c> object will be set to the object that had this manager as redirect property.
727    /// 1.20</summary>
728    /// <param name="direction">The direction in which this should be setup.
729    /// 1.20</param>
730    /// <param name="entry">The object that caused this manager to be redirect.
731    /// 1.20</param>
732    /// <returns></returns>
733    public  void SetupOnFirstTouch( Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object entry) {
734                                            Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_setup_on_first_touch_ptr.Value.Delegate(this.NativeHandle, direction,  entry);
735       Eina.Error.RaiseIfUnhandledException();
736                                }
737    /// <summary>This disables the cache invalidation when an object is moved.
738    /// Even if an object is moved, the focus manager will not recalculate its relations. This can be used when you know that the set of widgets in the focus manager is moved the same way, so the relations between the widets in the set do not change and the complex calculations can be avoided. Use <see cref="Efl.Ui.Focus.Manager.DirtyLogicUnfreeze"/> to re-enable relationship calculation.
739    /// 1.20</summary>
740    /// <returns></returns>
741    public  void FreezeDirtyLogic() {
742        Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_dirty_logic_freeze_ptr.Value.Delegate(this.NativeHandle);
743       Eina.Error.RaiseIfUnhandledException();
744        }
745    /// <summary>This enables the cache invalidation when an object is moved.
746    /// This is the counterpart to <see cref="Efl.Ui.Focus.Manager.FreezeDirtyLogic"/>.
747    /// 1.20</summary>
748    /// <returns></returns>
749    public  void DirtyLogicUnfreeze() {
750        Efl.Ui.Focus.ManagerNativeInherit.efl_ui_focus_manager_dirty_logic_unfreeze_ptr.Value.Delegate(this.NativeHandle);
751       Eina.Error.RaiseIfUnhandledException();
752        }
753    /// <summary>The element which is currently focused by this manager
754 /// Use this property to retrieve the object currently being focused, or to set the focus to a new one. When <c>focus</c> is a logical child (which cannot receive focus), the next non-logical object is selected instead. If there is no such object, focus does not change.
755 /// 1.20</summary>
756 /// <value>Currently focused element.
757 /// 1.20</value>
758    public Efl.Ui.Focus.Object ManagerFocus {
759       get { return GetManagerFocus(); }
760       set { SetManagerFocus( value); }
761    }
762    /// <summary>Add another manager to serve the move requests.
763 /// If this value is set, all move requests are redirected to this manager object. Set it to <c>null</c> once nothing should be redirected anymore.
764 /// 1.20</summary>
765 /// <value>The redirect manager.
766 /// 1.20</value>
767    public Efl.Ui.Focus.Manager Redirect {
768       get { return GetRedirect(); }
769       set { SetRedirect( value); }
770    }
771    /// <summary>The list of elements which are at the border of the graph.
772 /// This means one of the relations right,left or down,up are not set. This call flushes all changes. See <see cref="Efl.Ui.Focus.Manager.Move"/>
773 /// 1.20</summary>
774 /// <value>An iterator over the border objects.
775 /// 1.20</value>
776    public Eina.Iterator<Efl.Ui.Focus.Object> BorderElements {
777       get { return GetBorderElements(); }
778    }
779    /// <summary>Root node for all logical subtrees.
780 /// This property can only be set once.
781 /// 1.20</summary>
782 /// <value>Will be registered into this manager object.
783 /// 1.20</value>
784    public Efl.Ui.Focus.Object Root {
785       get { return GetRoot(); }
786       set { SetRoot( value); }
787    }
788 }
789 public class ManagerNativeInherit  : Efl.Eo.NativeClass{
790    public  static Efl.Eo.NativeModule _Module = new Efl.Eo.NativeModule(efl.Libs.Elementary);
791    public override System.Collections.Generic.List<Efl_Op_Description> GetEoOps(System.Type type)
792    {
793       var descs = new System.Collections.Generic.List<Efl_Op_Description>();
794       if (efl_ui_focus_manager_focus_get_static_delegate == null)
795       efl_ui_focus_manager_focus_get_static_delegate = new efl_ui_focus_manager_focus_get_delegate(manager_focus_get);
796       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_focus_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_focus_get_static_delegate)});
797       if (efl_ui_focus_manager_focus_set_static_delegate == null)
798       efl_ui_focus_manager_focus_set_static_delegate = new efl_ui_focus_manager_focus_set_delegate(manager_focus_set);
799       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_focus_set"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_focus_set_static_delegate)});
800       if (efl_ui_focus_manager_redirect_get_static_delegate == null)
801       efl_ui_focus_manager_redirect_get_static_delegate = new efl_ui_focus_manager_redirect_get_delegate(redirect_get);
802       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_redirect_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_redirect_get_static_delegate)});
803       if (efl_ui_focus_manager_redirect_set_static_delegate == null)
804       efl_ui_focus_manager_redirect_set_static_delegate = new efl_ui_focus_manager_redirect_set_delegate(redirect_set);
805       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_redirect_set"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_redirect_set_static_delegate)});
806       if (efl_ui_focus_manager_border_elements_get_static_delegate == null)
807       efl_ui_focus_manager_border_elements_get_static_delegate = new efl_ui_focus_manager_border_elements_get_delegate(border_elements_get);
808       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_border_elements_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_border_elements_get_static_delegate)});
809       if (efl_ui_focus_manager_viewport_elements_get_static_delegate == null)
810       efl_ui_focus_manager_viewport_elements_get_static_delegate = new efl_ui_focus_manager_viewport_elements_get_delegate(viewport_elements_get);
811       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_viewport_elements_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_viewport_elements_get_static_delegate)});
812       if (efl_ui_focus_manager_root_get_static_delegate == null)
813       efl_ui_focus_manager_root_get_static_delegate = new efl_ui_focus_manager_root_get_delegate(root_get);
814       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_root_get"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_root_get_static_delegate)});
815       if (efl_ui_focus_manager_root_set_static_delegate == null)
816       efl_ui_focus_manager_root_set_static_delegate = new efl_ui_focus_manager_root_set_delegate(root_set);
817       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_root_set"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_root_set_static_delegate)});
818       if (efl_ui_focus_manager_move_static_delegate == null)
819       efl_ui_focus_manager_move_static_delegate = new efl_ui_focus_manager_move_delegate(move);
820       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_move"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_move_static_delegate)});
821       if (efl_ui_focus_manager_request_move_static_delegate == null)
822       efl_ui_focus_manager_request_move_static_delegate = new efl_ui_focus_manager_request_move_delegate(request_move);
823       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_request_move"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_request_move_static_delegate)});
824       if (efl_ui_focus_manager_request_subchild_static_delegate == null)
825       efl_ui_focus_manager_request_subchild_static_delegate = new efl_ui_focus_manager_request_subchild_delegate(request_subchild);
826       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_request_subchild"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_request_subchild_static_delegate)});
827       if (efl_ui_focus_manager_fetch_static_delegate == null)
828       efl_ui_focus_manager_fetch_static_delegate = new efl_ui_focus_manager_fetch_delegate(fetch);
829       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_fetch"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_fetch_static_delegate)});
830       if (efl_ui_focus_manager_logical_end_static_delegate == null)
831       efl_ui_focus_manager_logical_end_static_delegate = new efl_ui_focus_manager_logical_end_delegate(logical_end);
832       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_logical_end"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_logical_end_static_delegate)});
833       if (efl_ui_focus_manager_reset_history_static_delegate == null)
834       efl_ui_focus_manager_reset_history_static_delegate = new efl_ui_focus_manager_reset_history_delegate(reset_history);
835       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_reset_history"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_reset_history_static_delegate)});
836       if (efl_ui_focus_manager_pop_history_stack_static_delegate == null)
837       efl_ui_focus_manager_pop_history_stack_static_delegate = new efl_ui_focus_manager_pop_history_stack_delegate(pop_history_stack);
838       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_pop_history_stack"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_pop_history_stack_static_delegate)});
839       if (efl_ui_focus_manager_setup_on_first_touch_static_delegate == null)
840       efl_ui_focus_manager_setup_on_first_touch_static_delegate = new efl_ui_focus_manager_setup_on_first_touch_delegate(setup_on_first_touch);
841       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_setup_on_first_touch"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_setup_on_first_touch_static_delegate)});
842       if (efl_ui_focus_manager_dirty_logic_freeze_static_delegate == null)
843       efl_ui_focus_manager_dirty_logic_freeze_static_delegate = new efl_ui_focus_manager_dirty_logic_freeze_delegate(dirty_logic_freeze);
844       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_dirty_logic_freeze"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_dirty_logic_freeze_static_delegate)});
845       if (efl_ui_focus_manager_dirty_logic_unfreeze_static_delegate == null)
846       efl_ui_focus_manager_dirty_logic_unfreeze_static_delegate = new efl_ui_focus_manager_dirty_logic_unfreeze_delegate(dirty_logic_unfreeze);
847       descs.Add(new Efl_Op_Description() {api_func = Efl.Eo.FunctionInterop.LoadFunctionPointer(_Module.Module, "efl_ui_focus_manager_dirty_logic_unfreeze"), func = Marshal.GetFunctionPointerForDelegate(efl_ui_focus_manager_dirty_logic_unfreeze_static_delegate)});
848       return descs;
849    }
850    public override IntPtr GetEflClass()
851    {
852       return Efl.Ui.Focus.ManagerConcrete.efl_ui_focus_manager_interface_get();
853    }
854    public static  IntPtr GetEflClassStatic()
855    {
856       return Efl.Ui.Focus.ManagerConcrete.efl_ui_focus_manager_interface_get();
857    }
858
859
860    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Object efl_ui_focus_manager_focus_get_delegate(System.IntPtr obj, System.IntPtr pd);
861
862
863    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Object efl_ui_focus_manager_focus_get_api_delegate(System.IntPtr obj);
864     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_focus_get_api_delegate> efl_ui_focus_manager_focus_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_focus_get_api_delegate>(_Module, "efl_ui_focus_manager_focus_get");
865     private static Efl.Ui.Focus.Object manager_focus_get(System.IntPtr obj, System.IntPtr pd)
866    {
867       Eina.Log.Debug("function efl_ui_focus_manager_focus_get was called");
868       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
869       if(wrapper != null) {
870                   Efl.Ui.Focus.Object _ret_var = default(Efl.Ui.Focus.Object);
871          try {
872             _ret_var = ((Manager)wrapper).GetManagerFocus();
873          } catch (Exception e) {
874             Eina.Log.Warning($"Callback error: {e.ToString()}");
875             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
876          }
877       return _ret_var;
878       } else {
879          return efl_ui_focus_manager_focus_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
880       }
881    }
882    private static efl_ui_focus_manager_focus_get_delegate efl_ui_focus_manager_focus_get_static_delegate;
883
884
885     private delegate  void efl_ui_focus_manager_focus_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object focus);
886
887
888     public delegate  void efl_ui_focus_manager_focus_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object focus);
889     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_focus_set_api_delegate> efl_ui_focus_manager_focus_set_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_focus_set_api_delegate>(_Module, "efl_ui_focus_manager_focus_set");
890     private static  void manager_focus_set(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Object focus)
891    {
892       Eina.Log.Debug("function efl_ui_focus_manager_focus_set was called");
893       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
894       if(wrapper != null) {
895                                     
896          try {
897             ((Manager)wrapper).SetManagerFocus( focus);
898          } catch (Exception e) {
899             Eina.Log.Warning($"Callback error: {e.ToString()}");
900             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
901          }
902                         } else {
903          efl_ui_focus_manager_focus_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  focus);
904       }
905    }
906    private static efl_ui_focus_manager_focus_set_delegate efl_ui_focus_manager_focus_set_static_delegate;
907
908
909    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ManagerConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Manager efl_ui_focus_manager_redirect_get_delegate(System.IntPtr obj, System.IntPtr pd);
910
911
912    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ManagerConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Manager efl_ui_focus_manager_redirect_get_api_delegate(System.IntPtr obj);
913     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_redirect_get_api_delegate> efl_ui_focus_manager_redirect_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_redirect_get_api_delegate>(_Module, "efl_ui_focus_manager_redirect_get");
914     private static Efl.Ui.Focus.Manager redirect_get(System.IntPtr obj, System.IntPtr pd)
915    {
916       Eina.Log.Debug("function efl_ui_focus_manager_redirect_get was called");
917       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
918       if(wrapper != null) {
919                   Efl.Ui.Focus.Manager _ret_var = default(Efl.Ui.Focus.Manager);
920          try {
921             _ret_var = ((Manager)wrapper).GetRedirect();
922          } catch (Exception e) {
923             Eina.Log.Warning($"Callback error: {e.ToString()}");
924             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
925          }
926       return _ret_var;
927       } else {
928          return efl_ui_focus_manager_redirect_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
929       }
930    }
931    private static efl_ui_focus_manager_redirect_get_delegate efl_ui_focus_manager_redirect_get_static_delegate;
932
933
934     private delegate  void efl_ui_focus_manager_redirect_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ManagerConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Manager redirect);
935
936
937     public delegate  void efl_ui_focus_manager_redirect_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ManagerConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Manager redirect);
938     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_redirect_set_api_delegate> efl_ui_focus_manager_redirect_set_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_redirect_set_api_delegate>(_Module, "efl_ui_focus_manager_redirect_set");
939     private static  void redirect_set(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Manager redirect)
940    {
941       Eina.Log.Debug("function efl_ui_focus_manager_redirect_set was called");
942       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
943       if(wrapper != null) {
944                                     
945          try {
946             ((Manager)wrapper).SetRedirect( redirect);
947          } catch (Exception e) {
948             Eina.Log.Warning($"Callback error: {e.ToString()}");
949             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
950          }
951                         } else {
952          efl_ui_focus_manager_redirect_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  redirect);
953       }
954    }
955    private static efl_ui_focus_manager_redirect_set_delegate efl_ui_focus_manager_redirect_set_static_delegate;
956
957
958     private delegate  System.IntPtr efl_ui_focus_manager_border_elements_get_delegate(System.IntPtr obj, System.IntPtr pd);
959
960
961     public delegate  System.IntPtr efl_ui_focus_manager_border_elements_get_api_delegate(System.IntPtr obj);
962     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_border_elements_get_api_delegate> efl_ui_focus_manager_border_elements_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_border_elements_get_api_delegate>(_Module, "efl_ui_focus_manager_border_elements_get");
963     private static  System.IntPtr border_elements_get(System.IntPtr obj, System.IntPtr pd)
964    {
965       Eina.Log.Debug("function efl_ui_focus_manager_border_elements_get was called");
966       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
967       if(wrapper != null) {
968                   Eina.Iterator<Efl.Ui.Focus.Object> _ret_var = default(Eina.Iterator<Efl.Ui.Focus.Object>);
969          try {
970             _ret_var = ((Manager)wrapper).GetBorderElements();
971          } catch (Exception e) {
972             Eina.Log.Warning($"Callback error: {e.ToString()}");
973             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
974          }
975       return _ret_var.Handle;
976       } else {
977          return efl_ui_focus_manager_border_elements_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
978       }
979    }
980    private static efl_ui_focus_manager_border_elements_get_delegate efl_ui_focus_manager_border_elements_get_static_delegate;
981
982
983     private delegate  System.IntPtr efl_ui_focus_manager_viewport_elements_get_delegate(System.IntPtr obj, System.IntPtr pd,   Eina.Rect_StructInternal viewport);
984
985
986     public delegate  System.IntPtr efl_ui_focus_manager_viewport_elements_get_api_delegate(System.IntPtr obj,   Eina.Rect_StructInternal viewport);
987     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_viewport_elements_get_api_delegate> efl_ui_focus_manager_viewport_elements_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_viewport_elements_get_api_delegate>(_Module, "efl_ui_focus_manager_viewport_elements_get");
988     private static  System.IntPtr viewport_elements_get(System.IntPtr obj, System.IntPtr pd,  Eina.Rect_StructInternal viewport)
989    {
990       Eina.Log.Debug("function efl_ui_focus_manager_viewport_elements_get was called");
991       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
992       if(wrapper != null) {
993                var _in_viewport = Eina.Rect_StructConversion.ToManaged(viewport);
994                      Eina.Iterator<Efl.Ui.Focus.Object> _ret_var = default(Eina.Iterator<Efl.Ui.Focus.Object>);
995          try {
996             _ret_var = ((Manager)wrapper).GetViewportElements( _in_viewport);
997          } catch (Exception e) {
998             Eina.Log.Warning($"Callback error: {e.ToString()}");
999             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1000          }
1001                   return _ret_var.Handle;
1002       } else {
1003          return efl_ui_focus_manager_viewport_elements_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  viewport);
1004       }
1005    }
1006    private static efl_ui_focus_manager_viewport_elements_get_delegate efl_ui_focus_manager_viewport_elements_get_static_delegate;
1007
1008
1009    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Object efl_ui_focus_manager_root_get_delegate(System.IntPtr obj, System.IntPtr pd);
1010
1011
1012    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Object efl_ui_focus_manager_root_get_api_delegate(System.IntPtr obj);
1013     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_root_get_api_delegate> efl_ui_focus_manager_root_get_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_root_get_api_delegate>(_Module, "efl_ui_focus_manager_root_get");
1014     private static Efl.Ui.Focus.Object root_get(System.IntPtr obj, System.IntPtr pd)
1015    {
1016       Eina.Log.Debug("function efl_ui_focus_manager_root_get was called");
1017       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1018       if(wrapper != null) {
1019                   Efl.Ui.Focus.Object _ret_var = default(Efl.Ui.Focus.Object);
1020          try {
1021             _ret_var = ((Manager)wrapper).GetRoot();
1022          } catch (Exception e) {
1023             Eina.Log.Warning($"Callback error: {e.ToString()}");
1024             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1025          }
1026       return _ret_var;
1027       } else {
1028          return efl_ui_focus_manager_root_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1029       }
1030    }
1031    private static efl_ui_focus_manager_root_get_delegate efl_ui_focus_manager_root_get_static_delegate;
1032
1033
1034     [return: MarshalAs(UnmanagedType.U1)] private delegate bool efl_ui_focus_manager_root_set_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object root);
1035
1036
1037     [return: MarshalAs(UnmanagedType.U1)] public delegate bool efl_ui_focus_manager_root_set_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object root);
1038     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_root_set_api_delegate> efl_ui_focus_manager_root_set_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_root_set_api_delegate>(_Module, "efl_ui_focus_manager_root_set");
1039     private static bool root_set(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Object root)
1040    {
1041       Eina.Log.Debug("function efl_ui_focus_manager_root_set was called");
1042       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1043       if(wrapper != null) {
1044                                     bool _ret_var = default(bool);
1045          try {
1046             _ret_var = ((Manager)wrapper).SetRoot( root);
1047          } catch (Exception e) {
1048             Eina.Log.Warning($"Callback error: {e.ToString()}");
1049             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1050          }
1051                   return _ret_var;
1052       } else {
1053          return efl_ui_focus_manager_root_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  root);
1054       }
1055    }
1056    private static efl_ui_focus_manager_root_set_delegate efl_ui_focus_manager_root_set_static_delegate;
1057
1058
1059    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Object efl_ui_focus_manager_move_delegate(System.IntPtr obj, System.IntPtr pd,   Efl.Ui.Focus.Direction direction);
1060
1061
1062    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Object efl_ui_focus_manager_move_api_delegate(System.IntPtr obj,   Efl.Ui.Focus.Direction direction);
1063     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_move_api_delegate> efl_ui_focus_manager_move_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_move_api_delegate>(_Module, "efl_ui_focus_manager_move");
1064     private static Efl.Ui.Focus.Object move(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Direction direction)
1065    {
1066       Eina.Log.Debug("function efl_ui_focus_manager_move was called");
1067       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1068       if(wrapper != null) {
1069                                     Efl.Ui.Focus.Object _ret_var = default(Efl.Ui.Focus.Object);
1070          try {
1071             _ret_var = ((Manager)wrapper).Move( direction);
1072          } catch (Exception e) {
1073             Eina.Log.Warning($"Callback error: {e.ToString()}");
1074             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1075          }
1076                   return _ret_var;
1077       } else {
1078          return efl_ui_focus_manager_move_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  direction);
1079       }
1080    }
1081    private static efl_ui_focus_manager_move_delegate efl_ui_focus_manager_move_static_delegate;
1082
1083
1084    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Object efl_ui_focus_manager_request_move_delegate(System.IntPtr obj, System.IntPtr pd,   Efl.Ui.Focus.Direction direction, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object child,  [MarshalAs(UnmanagedType.U1)]  bool logical);
1085
1086
1087    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Object efl_ui_focus_manager_request_move_api_delegate(System.IntPtr obj,   Efl.Ui.Focus.Direction direction, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object child,  [MarshalAs(UnmanagedType.U1)]  bool logical);
1088     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_request_move_api_delegate> efl_ui_focus_manager_request_move_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_request_move_api_delegate>(_Module, "efl_ui_focus_manager_request_move");
1089     private static Efl.Ui.Focus.Object request_move(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object child,  bool logical)
1090    {
1091       Eina.Log.Debug("function efl_ui_focus_manager_request_move was called");
1092       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1093       if(wrapper != null) {
1094                                                                         Efl.Ui.Focus.Object _ret_var = default(Efl.Ui.Focus.Object);
1095          try {
1096             _ret_var = ((Manager)wrapper).MoveRequest( direction,  child,  logical);
1097          } catch (Exception e) {
1098             Eina.Log.Warning($"Callback error: {e.ToString()}");
1099             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1100          }
1101                                           return _ret_var;
1102       } else {
1103          return efl_ui_focus_manager_request_move_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  direction,  child,  logical);
1104       }
1105    }
1106    private static efl_ui_focus_manager_request_move_delegate efl_ui_focus_manager_request_move_static_delegate;
1107
1108
1109    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] private delegate Efl.Ui.Focus.Object efl_ui_focus_manager_request_subchild_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object root);
1110
1111
1112    [return:MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))] public delegate Efl.Ui.Focus.Object efl_ui_focus_manager_request_subchild_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object root);
1113     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_request_subchild_api_delegate> efl_ui_focus_manager_request_subchild_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_request_subchild_api_delegate>(_Module, "efl_ui_focus_manager_request_subchild");
1114     private static Efl.Ui.Focus.Object request_subchild(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Object root)
1115    {
1116       Eina.Log.Debug("function efl_ui_focus_manager_request_subchild was called");
1117       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1118       if(wrapper != null) {
1119                                     Efl.Ui.Focus.Object _ret_var = default(Efl.Ui.Focus.Object);
1120          try {
1121             _ret_var = ((Manager)wrapper).RequestSubchild( root);
1122          } catch (Exception e) {
1123             Eina.Log.Warning($"Callback error: {e.ToString()}");
1124             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1125          }
1126                   return _ret_var;
1127       } else {
1128          return efl_ui_focus_manager_request_subchild_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  root);
1129       }
1130    }
1131    private static efl_ui_focus_manager_request_subchild_delegate efl_ui_focus_manager_request_subchild_static_delegate;
1132
1133
1134     private delegate  System.IntPtr efl_ui_focus_manager_fetch_delegate(System.IntPtr obj, System.IntPtr pd, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object child);
1135
1136
1137     public delegate  System.IntPtr efl_ui_focus_manager_fetch_api_delegate(System.IntPtr obj, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object child);
1138     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_fetch_api_delegate> efl_ui_focus_manager_fetch_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_fetch_api_delegate>(_Module, "efl_ui_focus_manager_fetch");
1139     private static  System.IntPtr fetch(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Object child)
1140    {
1141       Eina.Log.Debug("function efl_ui_focus_manager_fetch was called");
1142       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1143       if(wrapper != null) {
1144                                     Efl.Ui.Focus.Relations _ret_var = default(Efl.Ui.Focus.Relations);
1145          try {
1146             _ret_var = ((Manager)wrapper).Fetch( child);
1147          } catch (Exception e) {
1148             Eina.Log.Warning($"Callback error: {e.ToString()}");
1149             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1150          }
1151                   return Eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);
1152       } else {
1153          return efl_ui_focus_manager_fetch_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  child);
1154       }
1155    }
1156    private static efl_ui_focus_manager_fetch_delegate efl_ui_focus_manager_fetch_static_delegate;
1157
1158
1159     private delegate Efl.Ui.Focus.ManagerLogicalEndDetail_StructInternal efl_ui_focus_manager_logical_end_delegate(System.IntPtr obj, System.IntPtr pd);
1160
1161
1162     public delegate Efl.Ui.Focus.ManagerLogicalEndDetail_StructInternal efl_ui_focus_manager_logical_end_api_delegate(System.IntPtr obj);
1163     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_logical_end_api_delegate> efl_ui_focus_manager_logical_end_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_logical_end_api_delegate>(_Module, "efl_ui_focus_manager_logical_end");
1164     private static Efl.Ui.Focus.ManagerLogicalEndDetail_StructInternal logical_end(System.IntPtr obj, System.IntPtr pd)
1165    {
1166       Eina.Log.Debug("function efl_ui_focus_manager_logical_end was called");
1167       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1168       if(wrapper != null) {
1169                   Efl.Ui.Focus.ManagerLogicalEndDetail _ret_var = default(Efl.Ui.Focus.ManagerLogicalEndDetail);
1170          try {
1171             _ret_var = ((Manager)wrapper).LogicalEnd();
1172          } catch (Exception e) {
1173             Eina.Log.Warning($"Callback error: {e.ToString()}");
1174             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1175          }
1176       return Efl.Ui.Focus.ManagerLogicalEndDetail_StructConversion.ToInternal(_ret_var);
1177       } else {
1178          return efl_ui_focus_manager_logical_end_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1179       }
1180    }
1181    private static efl_ui_focus_manager_logical_end_delegate efl_ui_focus_manager_logical_end_static_delegate;
1182
1183
1184     private delegate  void efl_ui_focus_manager_reset_history_delegate(System.IntPtr obj, System.IntPtr pd);
1185
1186
1187     public delegate  void efl_ui_focus_manager_reset_history_api_delegate(System.IntPtr obj);
1188     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_reset_history_api_delegate> efl_ui_focus_manager_reset_history_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_reset_history_api_delegate>(_Module, "efl_ui_focus_manager_reset_history");
1189     private static  void reset_history(System.IntPtr obj, System.IntPtr pd)
1190    {
1191       Eina.Log.Debug("function efl_ui_focus_manager_reset_history was called");
1192       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1193       if(wrapper != null) {
1194                   
1195          try {
1196             ((Manager)wrapper).ResetHistory();
1197          } catch (Exception e) {
1198             Eina.Log.Warning($"Callback error: {e.ToString()}");
1199             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1200          }
1201             } else {
1202          efl_ui_focus_manager_reset_history_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1203       }
1204    }
1205    private static efl_ui_focus_manager_reset_history_delegate efl_ui_focus_manager_reset_history_static_delegate;
1206
1207
1208     private delegate  void efl_ui_focus_manager_pop_history_stack_delegate(System.IntPtr obj, System.IntPtr pd);
1209
1210
1211     public delegate  void efl_ui_focus_manager_pop_history_stack_api_delegate(System.IntPtr obj);
1212     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_pop_history_stack_api_delegate> efl_ui_focus_manager_pop_history_stack_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_pop_history_stack_api_delegate>(_Module, "efl_ui_focus_manager_pop_history_stack");
1213     private static  void pop_history_stack(System.IntPtr obj, System.IntPtr pd)
1214    {
1215       Eina.Log.Debug("function efl_ui_focus_manager_pop_history_stack was called");
1216       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1217       if(wrapper != null) {
1218                   
1219          try {
1220             ((Manager)wrapper).PopHistoryStack();
1221          } catch (Exception e) {
1222             Eina.Log.Warning($"Callback error: {e.ToString()}");
1223             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1224          }
1225             } else {
1226          efl_ui_focus_manager_pop_history_stack_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1227       }
1228    }
1229    private static efl_ui_focus_manager_pop_history_stack_delegate efl_ui_focus_manager_pop_history_stack_static_delegate;
1230
1231
1232     private delegate  void efl_ui_focus_manager_setup_on_first_touch_delegate(System.IntPtr obj, System.IntPtr pd,   Efl.Ui.Focus.Direction direction, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object entry);
1233
1234
1235     public delegate  void efl_ui_focus_manager_setup_on_first_touch_api_delegate(System.IntPtr obj,   Efl.Ui.Focus.Direction direction, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.MarshalTest<Efl.Ui.Focus.ObjectConcrete, Efl.Eo.NonOwnTag>))]  Efl.Ui.Focus.Object entry);
1236     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_setup_on_first_touch_api_delegate> efl_ui_focus_manager_setup_on_first_touch_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_setup_on_first_touch_api_delegate>(_Module, "efl_ui_focus_manager_setup_on_first_touch");
1237     private static  void setup_on_first_touch(System.IntPtr obj, System.IntPtr pd,  Efl.Ui.Focus.Direction direction,  Efl.Ui.Focus.Object entry)
1238    {
1239       Eina.Log.Debug("function efl_ui_focus_manager_setup_on_first_touch was called");
1240       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1241       if(wrapper != null) {
1242                                                       
1243          try {
1244             ((Manager)wrapper).SetupOnFirstTouch( direction,  entry);
1245          } catch (Exception e) {
1246             Eina.Log.Warning($"Callback error: {e.ToString()}");
1247             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1248          }
1249                                     } else {
1250          efl_ui_focus_manager_setup_on_first_touch_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)),  direction,  entry);
1251       }
1252    }
1253    private static efl_ui_focus_manager_setup_on_first_touch_delegate efl_ui_focus_manager_setup_on_first_touch_static_delegate;
1254
1255
1256     private delegate  void efl_ui_focus_manager_dirty_logic_freeze_delegate(System.IntPtr obj, System.IntPtr pd);
1257
1258
1259     public delegate  void efl_ui_focus_manager_dirty_logic_freeze_api_delegate(System.IntPtr obj);
1260     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_dirty_logic_freeze_api_delegate> efl_ui_focus_manager_dirty_logic_freeze_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_dirty_logic_freeze_api_delegate>(_Module, "efl_ui_focus_manager_dirty_logic_freeze");
1261     private static  void dirty_logic_freeze(System.IntPtr obj, System.IntPtr pd)
1262    {
1263       Eina.Log.Debug("function efl_ui_focus_manager_dirty_logic_freeze was called");
1264       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1265       if(wrapper != null) {
1266                   
1267          try {
1268             ((Manager)wrapper).FreezeDirtyLogic();
1269          } catch (Exception e) {
1270             Eina.Log.Warning($"Callback error: {e.ToString()}");
1271             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1272          }
1273             } else {
1274          efl_ui_focus_manager_dirty_logic_freeze_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1275       }
1276    }
1277    private static efl_ui_focus_manager_dirty_logic_freeze_delegate efl_ui_focus_manager_dirty_logic_freeze_static_delegate;
1278
1279
1280     private delegate  void efl_ui_focus_manager_dirty_logic_unfreeze_delegate(System.IntPtr obj, System.IntPtr pd);
1281
1282
1283     public delegate  void efl_ui_focus_manager_dirty_logic_unfreeze_api_delegate(System.IntPtr obj);
1284     public static Efl.Eo.FunctionWrapper<efl_ui_focus_manager_dirty_logic_unfreeze_api_delegate> efl_ui_focus_manager_dirty_logic_unfreeze_ptr = new Efl.Eo.FunctionWrapper<efl_ui_focus_manager_dirty_logic_unfreeze_api_delegate>(_Module, "efl_ui_focus_manager_dirty_logic_unfreeze");
1285     private static  void dirty_logic_unfreeze(System.IntPtr obj, System.IntPtr pd)
1286    {
1287       Eina.Log.Debug("function efl_ui_focus_manager_dirty_logic_unfreeze was called");
1288       Efl.Eo.IWrapper wrapper = Efl.Eo.Globals.data_get(pd);
1289       if(wrapper != null) {
1290                   
1291          try {
1292             ((Manager)wrapper).DirtyLogicUnfreeze();
1293          } catch (Exception e) {
1294             Eina.Log.Warning($"Callback error: {e.ToString()}");
1295             Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1296          }
1297             } else {
1298          efl_ui_focus_manager_dirty_logic_unfreeze_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1299       }
1300    }
1301    private static efl_ui_focus_manager_dirty_logic_unfreeze_delegate efl_ui_focus_manager_dirty_logic_unfreeze_static_delegate;
1302 }
1303 } } } 
1304 namespace Efl { namespace Ui { namespace Focus { 
1305 /// <summary>Structure holding the graph of relations between focusable objects.
1306 /// 1.20</summary>
1307 [StructLayout(LayoutKind.Sequential)]
1308 public struct Relations
1309 {
1310    /// <summary>List of objects on the right side</summary>
1311    public Eina.List<Efl.Ui.Focus.Object> Right;
1312    /// <summary>[List of objects on the left side</summary>
1313    public Eina.List<Efl.Ui.Focus.Object> Left;
1314    /// <summary>[List of objects above</summary>
1315    public Eina.List<Efl.Ui.Focus.Object> Top;
1316    /// <summary>[List of objects below</summary>
1317    public Eina.List<Efl.Ui.Focus.Object> Down;
1318    /// <summary>[Next object</summary>
1319    public Efl.Ui.Focus.Object Next;
1320    /// <summary>Previous object</summary>
1321    public Efl.Ui.Focus.Object Prev;
1322    /// <summary>Parent object</summary>
1323    public Efl.Ui.Focus.Object Parent;
1324    /// <summary>Redirect manager</summary>
1325    public Efl.Ui.Focus.Manager Redirect;
1326    /// <summary>The node where this is the information from</summary>
1327    public Efl.Ui.Focus.Object Node;
1328    /// <summary><c>true</c> if this node is only logical</summary>
1329    public bool Logical;
1330    /// <summary>The position in the history stack</summary>
1331    public  int Position_in_history;
1332    ///<summary>Constructor for Relations.</summary>
1333    public Relations(
1334       Eina.List<Efl.Ui.Focus.Object> Right=default(Eina.List<Efl.Ui.Focus.Object>),
1335       Eina.List<Efl.Ui.Focus.Object> Left=default(Eina.List<Efl.Ui.Focus.Object>),
1336       Eina.List<Efl.Ui.Focus.Object> Top=default(Eina.List<Efl.Ui.Focus.Object>),
1337       Eina.List<Efl.Ui.Focus.Object> Down=default(Eina.List<Efl.Ui.Focus.Object>),
1338       Efl.Ui.Focus.Object Next=default(Efl.Ui.Focus.Object),
1339       Efl.Ui.Focus.Object Prev=default(Efl.Ui.Focus.Object),
1340       Efl.Ui.Focus.Object Parent=default(Efl.Ui.Focus.Object),
1341       Efl.Ui.Focus.Manager Redirect=default(Efl.Ui.Focus.Manager),
1342       Efl.Ui.Focus.Object Node=default(Efl.Ui.Focus.Object),
1343       bool Logical=default(bool),
1344        int Position_in_history=default( int)   )
1345    {
1346       this.Right = Right;
1347       this.Left = Left;
1348       this.Top = Top;
1349       this.Down = Down;
1350       this.Next = Next;
1351       this.Prev = Prev;
1352       this.Parent = Parent;
1353       this.Redirect = Redirect;
1354       this.Node = Node;
1355       this.Logical = Logical;
1356       this.Position_in_history = Position_in_history;
1357    }
1358 public static implicit operator Relations(IntPtr ptr)
1359    {
1360       var tmp = (Relations_StructInternal)Marshal.PtrToStructure(ptr, typeof(Relations_StructInternal));
1361       return Relations_StructConversion.ToManaged(tmp);
1362    }
1363 }
1364 ///<summary>Internal wrapper for struct Relations.</summary>
1365 [StructLayout(LayoutKind.Sequential)]
1366 public struct Relations_StructInternal
1367 {
1368    
1369    public  System.IntPtr Right;
1370    
1371    public  System.IntPtr Left;
1372    
1373    public  System.IntPtr Top;
1374    
1375    public  System.IntPtr Down;
1376 ///<summary>Internal wrapper for field Next</summary>
1377 public System.IntPtr Next;
1378 ///<summary>Internal wrapper for field Prev</summary>
1379 public System.IntPtr Prev;
1380 ///<summary>Internal wrapper for field Parent</summary>
1381 public System.IntPtr Parent;
1382 ///<summary>Internal wrapper for field Redirect</summary>
1383 public System.IntPtr Redirect;
1384 ///<summary>Internal wrapper for field Node</summary>
1385 public System.IntPtr Node;
1386 ///<summary>Internal wrapper for field Logical</summary>
1387 public System.Byte Logical;
1388    
1389    public  int Position_in_history;
1390    ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
1391    public static implicit operator Relations(Relations_StructInternal struct_)
1392    {
1393       return Relations_StructConversion.ToManaged(struct_);
1394    }
1395    ///<summary>Implicit conversion to the managed representation.</summary>
1396    public static implicit operator Relations_StructInternal(Relations struct_)
1397    {
1398       return Relations_StructConversion.ToInternal(struct_);
1399    }
1400 }
1401 /// <summary>Conversion class for struct Relations</summary>
1402 public static class Relations_StructConversion
1403 {
1404    internal static Relations_StructInternal ToInternal(Relations _external_struct)
1405    {
1406       var _internal_struct = new Relations_StructInternal();
1407
1408       _internal_struct.Right = _external_struct.Right.Handle;
1409       _internal_struct.Left = _external_struct.Left.Handle;
1410       _internal_struct.Top = _external_struct.Top.Handle;
1411       _internal_struct.Down = _external_struct.Down.Handle;
1412       _internal_struct.Next = _external_struct.Next.NativeHandle;
1413       _internal_struct.Prev = _external_struct.Prev.NativeHandle;
1414       _internal_struct.Parent = _external_struct.Parent.NativeHandle;
1415       _internal_struct.Redirect = _external_struct.Redirect.NativeHandle;
1416       _internal_struct.Node = _external_struct.Node.NativeHandle;
1417       _internal_struct.Logical = _external_struct.Logical ? (byte)1 : (byte)0;
1418       _internal_struct.Position_in_history = _external_struct.Position_in_history;
1419
1420       return _internal_struct;
1421    }
1422
1423    internal static Relations ToManaged(Relations_StructInternal _internal_struct)
1424    {
1425       var _external_struct = new Relations();
1426
1427       _external_struct.Right = new Eina.List<Efl.Ui.Focus.Object>(_internal_struct.Right, false, false);
1428       _external_struct.Left = new Eina.List<Efl.Ui.Focus.Object>(_internal_struct.Left, false, false);
1429       _external_struct.Top = new Eina.List<Efl.Ui.Focus.Object>(_internal_struct.Top, false, false);
1430       _external_struct.Down = new Eina.List<Efl.Ui.Focus.Object>(_internal_struct.Down, false, false);
1431
1432       _external_struct.Next = (Efl.Ui.Focus.ObjectConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ObjectConcrete), new System.Object[] {_internal_struct.Next});
1433       Efl.Eo.Globals.efl_ref(_internal_struct.Next);
1434
1435
1436       _external_struct.Prev = (Efl.Ui.Focus.ObjectConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ObjectConcrete), new System.Object[] {_internal_struct.Prev});
1437       Efl.Eo.Globals.efl_ref(_internal_struct.Prev);
1438
1439
1440       _external_struct.Parent = (Efl.Ui.Focus.ObjectConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ObjectConcrete), new System.Object[] {_internal_struct.Parent});
1441       Efl.Eo.Globals.efl_ref(_internal_struct.Parent);
1442
1443
1444       _external_struct.Redirect = (Efl.Ui.Focus.ManagerConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ManagerConcrete), new System.Object[] {_internal_struct.Redirect});
1445       Efl.Eo.Globals.efl_ref(_internal_struct.Redirect);
1446
1447
1448       _external_struct.Node = (Efl.Ui.Focus.ObjectConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ObjectConcrete), new System.Object[] {_internal_struct.Node});
1449       Efl.Eo.Globals.efl_ref(_internal_struct.Node);
1450
1451       _external_struct.Logical = _internal_struct.Logical != 0;
1452       _external_struct.Position_in_history = _internal_struct.Position_in_history;
1453
1454       return _external_struct;
1455    }
1456
1457 }
1458 } } } 
1459 namespace Efl { namespace Ui { namespace Focus { 
1460 /// <summary>Structure holding the focus object with extra information on logical end
1461 /// 1.21</summary>
1462 [StructLayout(LayoutKind.Sequential)]
1463 public struct ManagerLogicalEndDetail
1464 {
1465    /// <summary><c>true</c> if logical end, <c>false</c> otherwise</summary>
1466    public bool Is_regular_end;
1467    /// <summary>Focus object element</summary>
1468    public Efl.Ui.Focus.Object Element;
1469    ///<summary>Constructor for ManagerLogicalEndDetail.</summary>
1470    public ManagerLogicalEndDetail(
1471       bool Is_regular_end=default(bool),
1472       Efl.Ui.Focus.Object Element=default(Efl.Ui.Focus.Object)   )
1473    {
1474       this.Is_regular_end = Is_regular_end;
1475       this.Element = Element;
1476    }
1477 public static implicit operator ManagerLogicalEndDetail(IntPtr ptr)
1478    {
1479       var tmp = (ManagerLogicalEndDetail_StructInternal)Marshal.PtrToStructure(ptr, typeof(ManagerLogicalEndDetail_StructInternal));
1480       return ManagerLogicalEndDetail_StructConversion.ToManaged(tmp);
1481    }
1482 }
1483 ///<summary>Internal wrapper for struct ManagerLogicalEndDetail.</summary>
1484 [StructLayout(LayoutKind.Sequential)]
1485 public struct ManagerLogicalEndDetail_StructInternal
1486 {
1487 ///<summary>Internal wrapper for field Is_regular_end</summary>
1488 public System.Byte Is_regular_end;
1489 ///<summary>Internal wrapper for field Element</summary>
1490 public System.IntPtr Element;
1491    ///<summary>Implicit conversion to the internal/marshalling representation.</summary>
1492    public static implicit operator ManagerLogicalEndDetail(ManagerLogicalEndDetail_StructInternal struct_)
1493    {
1494       return ManagerLogicalEndDetail_StructConversion.ToManaged(struct_);
1495    }
1496    ///<summary>Implicit conversion to the managed representation.</summary>
1497    public static implicit operator ManagerLogicalEndDetail_StructInternal(ManagerLogicalEndDetail struct_)
1498    {
1499       return ManagerLogicalEndDetail_StructConversion.ToInternal(struct_);
1500    }
1501 }
1502 /// <summary>Conversion class for struct ManagerLogicalEndDetail</summary>
1503 public static class ManagerLogicalEndDetail_StructConversion
1504 {
1505    internal static ManagerLogicalEndDetail_StructInternal ToInternal(ManagerLogicalEndDetail _external_struct)
1506    {
1507       var _internal_struct = new ManagerLogicalEndDetail_StructInternal();
1508
1509       _internal_struct.Is_regular_end = _external_struct.Is_regular_end ? (byte)1 : (byte)0;
1510       _internal_struct.Element = _external_struct.Element.NativeHandle;
1511
1512       return _internal_struct;
1513    }
1514
1515    internal static ManagerLogicalEndDetail ToManaged(ManagerLogicalEndDetail_StructInternal _internal_struct)
1516    {
1517       var _external_struct = new ManagerLogicalEndDetail();
1518
1519       _external_struct.Is_regular_end = _internal_struct.Is_regular_end != 0;
1520
1521       _external_struct.Element = (Efl.Ui.Focus.ObjectConcrete) System.Activator.CreateInstance(typeof(Efl.Ui.Focus.ObjectConcrete), new System.Object[] {_internal_struct.Element});
1522       Efl.Eo.Globals.efl_ref(_internal_struct.Element);
1523
1524
1525       return _external_struct;
1526    }
1527
1528 }
1529 } } }