1 #pragma warning disable CS1591
3 using System.Runtime.InteropServices;
4 using System.Collections.Generic;
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.
11 [ManagerNativeInherit]
12 public interface Manager :
13 Efl.Eo.IWrapper, IDisposable
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.
18 /// <returns>Currently focused element.
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.
24 /// <param name="focus">Currently focused element.
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.
31 /// <returns>The redirect manager.
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.
37 /// <param name="redirect">The redirect manager.
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"/>
44 /// <returns>An iterator over the border objects.
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.
50 /// <param name="viewport">The rectangle defining the viewport.
52 /// <returns>The list of border objects.
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.
58 /// <returns>Will be registered into this manager object.
60 Efl.Ui.Focus.Object GetRoot();
61 /// <summary>Root node for all logical subtrees.
62 /// This property can only be set once.
64 /// <param name="root">Will be registered into this manager object.
66 /// <returns>If <c>true</c>, this is the root node
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.
72 /// <param name="direction">The direction to move to.
74 /// <returns>The element which is now focused.
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>.
79 /// <param name="direction">Direction to move focus.
81 /// <param name="child">The child to move from. Pass <c>null</c> to indicate the currently focused child.
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.
85 /// <returns>Object that would receive focus if moved in the given direction.
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'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.
91 /// <param name="root">Parent for returned child.
93 /// <returns>Child of passed parameter.
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.
99 /// <param name="child">The child object to inspect.
101 /// <returns>The list of relations starting from <c>child</c>.
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.
107 /// <returns>Last object.
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.
113 /// <returns></returns>
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.
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.
123 /// <param name="direction">The direction in which this should be setup.
125 /// <param name="entry">The object that caused this manager to be redirect.
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.
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"/>.
137 /// <returns></returns>
138 void DirtyLogicUnfreeze();
139 /// <summary>Redirect object has changed, the old manager is passed as an event argument.
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.
144 event EventHandler FlushPreEvt;
145 /// <summary>Cached relationship calculation results have been invalidated.
147 event EventHandler CoordsDirtyEvt;
148 /// <summary>The manager_focus property has changed. The previously focused object is passed as an event argument.
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.
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.
157 /// <value>Currently focused element.
159 Efl.Ui.Focus.Object ManagerFocus {
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.
166 /// <value>The redirect manager.
168 Efl.Ui.Focus.Manager Redirect {
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"/>
175 /// <value>An iterator over the border objects.
177 Eina.Iterator<Efl.Ui.Focus.Object> BorderElements {
180 /// <summary>Root node for all logical subtrees.
181 /// This property can only be set once.
183 /// <value>Will be registered into this manager object.
185 Efl.Ui.Focus.Object Root {
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; }
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; }
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; }
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.
208 sealed public class ManagerConcrete :
213 ///<summary>Pointer to the native class description.</summary>
214 public System.IntPtr NativeClass {
216 if (((object)this).GetType() == typeof (ManagerConcrete))
217 return Efl.Ui.Focus.ManagerNativeInherit.GetEflClassStatic();
219 return Efl.Eo.ClassRegister.klassFromType[((object)this).GetType()];
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; }
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)
234 register_event_proxies();
236 ///<summary>Destructor.</summary>
241 ///<summary>Releases the underlying native instance.</summary>
242 void Dispose(bool disposing)
244 if (handle != System.IntPtr.Zero) {
245 Efl.Eo.Globals.efl_unref(handle);
246 handle = System.IntPtr.Zero;
249 ///<summary>Releases the underlying native instance.</summary>
250 public void Dispose()
253 GC.SuppressFinalize(this);
255 ///<summary>Casts obj into an instance of this type.</summary>
256 public static ManagerConcrete static_cast(Efl.Object obj)
259 throw new System.ArgumentNullException("obj");
260 return new ManagerConcrete(obj.NativeHandle);
262 ///<summary>Verifies if the given object is equal to this one.</summary>
263 public override bool Equals(object obj)
265 var other = obj as Efl.Object;
268 return this.NativeHandle == other.NativeHandle;
270 ///<summary>Gets the hash code for this object based on the native pointer it points to.</summary>
271 public override int GetHashCode()
273 return this.NativeHandle.ToInt32();
275 ///<summary>Turns the native pointer into a string representation.</summary>
276 public override String ToString()
278 return $"{this.GetType().Name}@[{this.NativeHandle.ToInt32():x}]";
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) {
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}");
292 bool result = Efl.Eo.Globals.efl_event_callback_priority_add(handle, desc, 0, evt_delegate, System.IntPtr.Zero);
294 Eina.Log.Error($"Failed to add event proxy for event {key}");
297 Eina.Error.RaiseIfUnhandledException();
299 event_cb_count[key]++;
302 private bool remove_cpp_event_handler(string key, Efl.EventCb evt_delegate) {
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}");
312 bool result = Efl.Eo.Globals.efl_event_callback_del(handle, desc, evt_delegate, System.IntPtr.Zero);
314 Eina.Log.Error($"Failed to remove event proxy for event {key}");
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.");
322 event_cb_count[key]--;
325 private static object RedirectChangedEvtKey = new object();
326 /// <summary>Redirect object has changed, the old manager is passed as an event argument.
328 public event EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args> RedirectChangedEvt
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);
336 Eina.Log.Error($"Error adding proxy for event {key}");
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);
345 Eina.Log.Error($"Error removing proxy for event {key}");
349 ///<summary>Method to raise event RedirectChangedEvt.</summary>
350 public void On_RedirectChangedEvt(Efl.Ui.Focus.ManagerRedirectChangedEvt_Args e)
352 EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args> evt;
354 evt = (EventHandler<Efl.Ui.Focus.ManagerRedirectChangedEvt_Args>)eventHandlers[RedirectChangedEvtKey];
356 evt?.Invoke(this, e);
358 Efl.EventCb evt_RedirectChangedEvt_delegate;
359 private void on_RedirectChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
361 Efl.Ui.Focus.ManagerRedirectChangedEvt_Args args = new Efl.Ui.Focus.ManagerRedirectChangedEvt_Args();
362 args.arg = new Efl.Ui.Focus.ManagerConcrete(evt.Info);
364 On_RedirectChangedEvt(args);
365 } catch (Exception e) {
366 Eina.Log.Error(e.ToString());
367 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
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.
374 public event EventHandler FlushPreEvt
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);
382 Eina.Log.Error($"Error adding proxy for event {key}");
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);
391 Eina.Log.Error($"Error removing proxy for event {key}");
395 ///<summary>Method to raise event FlushPreEvt.</summary>
396 public void On_FlushPreEvt(EventArgs e)
400 evt = (EventHandler)eventHandlers[FlushPreEvtKey];
402 evt?.Invoke(this, e);
404 Efl.EventCb evt_FlushPreEvt_delegate;
405 private void on_FlushPreEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
407 EventArgs args = EventArgs.Empty;
409 On_FlushPreEvt(args);
410 } catch (Exception e) {
411 Eina.Log.Error(e.ToString());
412 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
416 private static object CoordsDirtyEvtKey = new object();
417 /// <summary>Cached relationship calculation results have been invalidated.
419 public event EventHandler CoordsDirtyEvt
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);
427 Eina.Log.Error($"Error adding proxy for event {key}");
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);
436 Eina.Log.Error($"Error removing proxy for event {key}");
440 ///<summary>Method to raise event CoordsDirtyEvt.</summary>
441 public void On_CoordsDirtyEvt(EventArgs e)
445 evt = (EventHandler)eventHandlers[CoordsDirtyEvtKey];
447 evt?.Invoke(this, e);
449 Efl.EventCb evt_CoordsDirtyEvt_delegate;
450 private void on_CoordsDirtyEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
452 EventArgs args = EventArgs.Empty;
454 On_CoordsDirtyEvt(args);
455 } catch (Exception e) {
456 Eina.Log.Error(e.ToString());
457 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
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.
464 public event EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args> Manager_focusChangedEvt
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);
472 Eina.Log.Error($"Error adding proxy for event {key}");
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);
481 Eina.Log.Error($"Error removing proxy for event {key}");
485 ///<summary>Method to raise event Manager_focusChangedEvt.</summary>
486 public void On_Manager_focusChangedEvt(Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args e)
488 EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args> evt;
490 evt = (EventHandler<Efl.Ui.Focus.ManagerManager_focusChangedEvt_Args>)eventHandlers[Manager_focusChangedEvtKey];
492 evt?.Invoke(this, e);
494 Efl.EventCb evt_Manager_focusChangedEvt_delegate;
495 private void on_Manager_focusChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
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);
500 On_Manager_focusChangedEvt(args);
501 } catch (Exception e) {
502 Eina.Log.Error(e.ToString());
503 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
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.
510 public event EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args> Dirty_logic_freezeChangedEvt
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);
518 Eina.Log.Error($"Error adding proxy for event {key}");
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);
527 Eina.Log.Error($"Error removing proxy for event {key}");
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)
534 EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args> evt;
536 evt = (EventHandler<Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args>)eventHandlers[Dirty_logic_freezeChangedEvtKey];
538 evt?.Invoke(this, e);
540 Efl.EventCb evt_Dirty_logic_freezeChangedEvt_delegate;
541 private void on_Dirty_logic_freezeChangedEvt_NativeCallback(System.IntPtr data, ref Efl.Event_StructInternal evt)
543 Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args args = new Efl.Ui.Focus.ManagerDirty_logic_freezeChangedEvt_Args();
544 args.arg = evt.Info != IntPtr.Zero;
546 On_Dirty_logic_freezeChangedEvt(args);
547 } catch (Exception e) {
548 Eina.Log.Error(e.ToString());
549 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
553 void register_event_proxies()
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);
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.
564 /// <returns>Currently focused element.
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();
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.
574 /// <param name="focus">Currently focused element.
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();
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.
584 /// <returns>The redirect manager.
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();
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.
594 /// <param name="redirect">The redirect manager.
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();
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"/>
604 /// <returns>An iterator over the border objects.
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);
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.
614 /// <param name="viewport">The rectangle defining the viewport.
616 /// <returns>The list of border objects.
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);
624 /// <summary>Root node for all logical subtrees.
625 /// This property can only be set once.
627 /// <returns>Will be registered into this manager object.
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();
634 /// <summary>Root node for all logical subtrees.
635 /// This property can only be set once.
637 /// <param name="root">Will be registered into this manager object.
639 /// <returns>If <c>true</c>, this is the root node
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();
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.
649 /// <param name="direction">The direction to move to.
651 /// <returns>The element which is now focused.
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();
658 /// <summary>Return the object in the <c>direction</c> from <c>child</c>.
660 /// <param name="direction">Direction to move focus.
662 /// <param name="child">The child to move from. Pass <c>null</c> to indicate the currently focused child.
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.
666 /// <returns>Object that would receive focus if moved in the given direction.
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();
673 /// <summary>Return the widget in the direction next.
674 /// The returned widget is a child of <c>root</c>. It'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.
676 /// <param name="root">Parent for returned child.
678 /// <returns>Child of passed parameter.
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();
685 /// <summary>This will fetch the data from a registered node.
686 /// Be aware this function will trigger a computation of all dirty nodes.
688 /// <param name="child">The child object to inspect.
690 /// <returns>The list of relations starting from <c>child</c>.
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);
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.
702 /// <returns>Last object.
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);
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.
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();
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.
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();
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.
728 /// <param name="direction">The direction in which this should be setup.
730 /// <param name="entry">The object that caused this manager to be redirect.
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();
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.
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();
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"/>.
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();
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.
756 /// <value>Currently focused element.
758 public Efl.Ui.Focus.Object ManagerFocus {
759 get { return GetManagerFocus(); }
760 set { SetManagerFocus( value); }
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.
765 /// <value>The redirect manager.
767 public Efl.Ui.Focus.Manager Redirect {
768 get { return GetRedirect(); }
769 set { SetRedirect( value); }
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"/>
774 /// <value>An iterator over the border objects.
776 public Eina.Iterator<Efl.Ui.Focus.Object> BorderElements {
777 get { return GetBorderElements(); }
779 /// <summary>Root node for all logical subtrees.
780 /// This property can only be set once.
782 /// <value>Will be registered into this manager object.
784 public Efl.Ui.Focus.Object Root {
785 get { return GetRoot(); }
786 set { SetRoot( value); }
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)
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)});
850 public override IntPtr GetEflClass()
852 return Efl.Ui.Focus.ManagerConcrete.efl_ui_focus_manager_interface_get();
854 public static IntPtr GetEflClassStatic()
856 return Efl.Ui.Focus.ManagerConcrete.efl_ui_focus_manager_interface_get();
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);
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)
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);
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);
879 return efl_ui_focus_manager_focus_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
882 private static efl_ui_focus_manager_focus_get_delegate efl_ui_focus_manager_focus_get_static_delegate;
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);
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)
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) {
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);
903 efl_ui_focus_manager_focus_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), focus);
906 private static efl_ui_focus_manager_focus_set_delegate efl_ui_focus_manager_focus_set_static_delegate;
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);
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)
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);
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);
928 return efl_ui_focus_manager_redirect_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
931 private static efl_ui_focus_manager_redirect_get_delegate efl_ui_focus_manager_redirect_get_static_delegate;
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);
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)
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) {
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);
952 efl_ui_focus_manager_redirect_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), redirect);
955 private static efl_ui_focus_manager_redirect_set_delegate efl_ui_focus_manager_redirect_set_static_delegate;
958 private delegate System.IntPtr efl_ui_focus_manager_border_elements_get_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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>);
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);
975 return _ret_var.Handle;
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)));
980 private static efl_ui_focus_manager_border_elements_get_delegate efl_ui_focus_manager_border_elements_get_static_delegate;
983 private delegate System.IntPtr efl_ui_focus_manager_viewport_elements_get_delegate(System.IntPtr obj, System.IntPtr pd, Eina.Rect_StructInternal viewport);
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)
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>);
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);
1001 return _ret_var.Handle;
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);
1006 private static efl_ui_focus_manager_viewport_elements_get_delegate efl_ui_focus_manager_viewport_elements_get_static_delegate;
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);
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)
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);
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);
1028 return efl_ui_focus_manager_root_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1031 private static efl_ui_focus_manager_root_get_delegate efl_ui_focus_manager_root_get_static_delegate;
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);
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)
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);
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);
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);
1056 private static efl_ui_focus_manager_root_set_delegate efl_ui_focus_manager_root_set_static_delegate;
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);
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)
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);
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);
1078 return efl_ui_focus_manager_move_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), direction);
1081 private static efl_ui_focus_manager_move_delegate efl_ui_focus_manager_move_static_delegate;
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);
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)
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);
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);
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);
1106 private static efl_ui_focus_manager_request_move_delegate efl_ui_focus_manager_request_move_static_delegate;
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);
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)
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);
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);
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);
1131 private static efl_ui_focus_manager_request_subchild_delegate efl_ui_focus_manager_request_subchild_static_delegate;
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);
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)
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);
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);
1151 return Eina.PrimitiveConversion.ManagedToPointerAlloc(_ret_var);
1153 return efl_ui_focus_manager_fetch_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), child);
1156 private static efl_ui_focus_manager_fetch_delegate efl_ui_focus_manager_fetch_static_delegate;
1159 private delegate Efl.Ui.Focus.ManagerLogicalEndDetail_StructInternal efl_ui_focus_manager_logical_end_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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);
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);
1176 return Efl.Ui.Focus.ManagerLogicalEndDetail_StructConversion.ToInternal(_ret_var);
1178 return efl_ui_focus_manager_logical_end_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1181 private static efl_ui_focus_manager_logical_end_delegate efl_ui_focus_manager_logical_end_static_delegate;
1184 private delegate void efl_ui_focus_manager_reset_history_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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) {
1196 ((Manager)wrapper).ResetHistory();
1197 } catch (Exception e) {
1198 Eina.Log.Warning($"Callback error: {e.ToString()}");
1199 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1202 efl_ui_focus_manager_reset_history_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1205 private static efl_ui_focus_manager_reset_history_delegate efl_ui_focus_manager_reset_history_static_delegate;
1208 private delegate void efl_ui_focus_manager_pop_history_stack_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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) {
1220 ((Manager)wrapper).PopHistoryStack();
1221 } catch (Exception e) {
1222 Eina.Log.Warning($"Callback error: {e.ToString()}");
1223 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1226 efl_ui_focus_manager_pop_history_stack_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1229 private static efl_ui_focus_manager_pop_history_stack_delegate efl_ui_focus_manager_pop_history_stack_static_delegate;
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);
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)
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) {
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);
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);
1253 private static efl_ui_focus_manager_setup_on_first_touch_delegate efl_ui_focus_manager_setup_on_first_touch_static_delegate;
1256 private delegate void efl_ui_focus_manager_dirty_logic_freeze_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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) {
1268 ((Manager)wrapper).FreezeDirtyLogic();
1269 } catch (Exception e) {
1270 Eina.Log.Warning($"Callback error: {e.ToString()}");
1271 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1274 efl_ui_focus_manager_dirty_logic_freeze_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1277 private static efl_ui_focus_manager_dirty_logic_freeze_delegate efl_ui_focus_manager_dirty_logic_freeze_static_delegate;
1280 private delegate void efl_ui_focus_manager_dirty_logic_unfreeze_delegate(System.IntPtr obj, System.IntPtr pd);
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)
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) {
1292 ((Manager)wrapper).DirtyLogicUnfreeze();
1293 } catch (Exception e) {
1294 Eina.Log.Warning($"Callback error: {e.ToString()}");
1295 Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
1298 efl_ui_focus_manager_dirty_logic_unfreeze_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)));
1301 private static efl_ui_focus_manager_dirty_logic_unfreeze_delegate efl_ui_focus_manager_dirty_logic_unfreeze_static_delegate;
1304 namespace Efl { namespace Ui { namespace Focus {
1305 /// <summary>Structure holding the graph of relations between focusable objects.
1307 [StructLayout(LayoutKind.Sequential)]
1308 public struct Relations
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>
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) )
1352 this.Parent = Parent;
1353 this.Redirect = Redirect;
1355 this.Logical = Logical;
1356 this.Position_in_history = Position_in_history;
1358 public static implicit operator Relations(IntPtr ptr)
1360 var tmp = (Relations_StructInternal)Marshal.PtrToStructure(ptr, typeof(Relations_StructInternal));
1361 return Relations_StructConversion.ToManaged(tmp);
1364 ///<summary>Internal wrapper for struct Relations.</summary>
1365 [StructLayout(LayoutKind.Sequential)]
1366 public struct Relations_StructInternal
1369 public System.IntPtr Right;
1371 public System.IntPtr Left;
1373 public System.IntPtr Top;
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;
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_)
1393 return Relations_StructConversion.ToManaged(struct_);
1395 ///<summary>Implicit conversion to the managed representation.</summary>
1396 public static implicit operator Relations_StructInternal(Relations struct_)
1398 return Relations_StructConversion.ToInternal(struct_);
1401 /// <summary>Conversion class for struct Relations</summary>
1402 public static class Relations_StructConversion
1404 internal static Relations_StructInternal ToInternal(Relations _external_struct)
1406 var _internal_struct = new Relations_StructInternal();
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;
1420 return _internal_struct;
1423 internal static Relations ToManaged(Relations_StructInternal _internal_struct)
1425 var _external_struct = new Relations();
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);
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);
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);
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);
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);
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);
1451 _external_struct.Logical = _internal_struct.Logical != 0;
1452 _external_struct.Position_in_history = _internal_struct.Position_in_history;
1454 return _external_struct;
1459 namespace Efl { namespace Ui { namespace Focus {
1460 /// <summary>Structure holding the focus object with extra information on logical end
1462 [StructLayout(LayoutKind.Sequential)]
1463 public struct ManagerLogicalEndDetail
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) )
1474 this.Is_regular_end = Is_regular_end;
1475 this.Element = Element;
1477 public static implicit operator ManagerLogicalEndDetail(IntPtr ptr)
1479 var tmp = (ManagerLogicalEndDetail_StructInternal)Marshal.PtrToStructure(ptr, typeof(ManagerLogicalEndDetail_StructInternal));
1480 return ManagerLogicalEndDetail_StructConversion.ToManaged(tmp);
1483 ///<summary>Internal wrapper for struct ManagerLogicalEndDetail.</summary>
1484 [StructLayout(LayoutKind.Sequential)]
1485 public struct ManagerLogicalEndDetail_StructInternal
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_)
1494 return ManagerLogicalEndDetail_StructConversion.ToManaged(struct_);
1496 ///<summary>Implicit conversion to the managed representation.</summary>
1497 public static implicit operator ManagerLogicalEndDetail_StructInternal(ManagerLogicalEndDetail struct_)
1499 return ManagerLogicalEndDetail_StructConversion.ToInternal(struct_);
1502 /// <summary>Conversion class for struct ManagerLogicalEndDetail</summary>
1503 public static class ManagerLogicalEndDetail_StructConversion
1505 internal static ManagerLogicalEndDetail_StructInternal ToInternal(ManagerLogicalEndDetail _external_struct)
1507 var _internal_struct = new ManagerLogicalEndDetail_StructInternal();
1509 _internal_struct.Is_regular_end = _external_struct.Is_regular_end ? (byte)1 : (byte)0;
1510 _internal_struct.Element = _external_struct.Element.NativeHandle;
1512 return _internal_struct;
1515 internal static ManagerLogicalEndDetail ToManaged(ManagerLogicalEndDetail_StructInternal _internal_struct)
1517 var _external_struct = new ManagerLogicalEndDetail();
1519 _external_struct.Is_regular_end = _internal_struct.Is_regular_end != 0;
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);
1525 return _external_struct;