private static Efl.Ui.ISelectable fallback_selection_get(System.IntPtr obj, System.IntPtr pd)
                {
                    Eina.Log.Debug("function efl_ui_single_selectable_fallback_selection_get was called");

                    var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);

                    if (ws != null)
                    {
                        Efl.Ui.ISelectable _ret_var = default(Efl.Ui.ISelectable);
                        try
                        {
                            _ret_var = ((IMultiSelectable)ws.Target).GetFallbackSelection();
                        }
                        catch (Exception e)
                        {
                            Eina.Log.Warning($"Callback error: {e.ToString()}");
                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                        }

                        return(_ret_var);
                    }
                    else
                    {
                        return(efl_ui_single_selectable_fallback_selection_get_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj))));
                    }
                }
                private static void unselect_range(System.IntPtr obj, System.IntPtr pd, Efl.Ui.ISelectable a, Efl.Ui.ISelectable b)
                {
                    Eina.Log.Debug("function efl_ui_unselect_range was called");
                    var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);

                    if (ws != null)
                    {
                        try
                        {
                            ((IMultiSelectable)ws.Target).UnselectRange(a, b);
                        }
                        catch (Exception e)
                        {
                            Eina.Log.Warning($"Callback error: {e.ToString()}");
                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                        }
                    }
                    else
                    {
                        efl_ui_unselect_range_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), a, b);
                    }
                }
 /// <summary>Unselect a range of <see cref="Efl.Ui.ISelectable"/>.
 /// This will unselect the range of selectables from a to b or from b to a depending on which one comes first. If a or b are not part of the widget, a error is returned, and no change is applied. <c>null</c> is not allowed as either of the parameters. Both of the passed values will also be unselected.</summary>
 /// <param name="a">One side of the range.</param>
 /// <param name="b">The other side of the range.</param>
 public void UnselectRange(Efl.Ui.ISelectable a, Efl.Ui.ISelectable b)
 {
     Efl.Ui.IMultiSelectableConcrete.NativeMethods.efl_ui_unselect_range_ptr.Value.Delegate(this.NativeHandle, a, b);
     Eina.Error.RaiseIfUnhandledException();
 }
 /// <summary>A object that will be selected in case nothing is selected
 /// A object set to this property will be selected instead of no item beeing selected. Which means, there will be always at least one element selected. If this property is NULL, the state of &quot;no item is selected&quot; can be reached.
 ///
 /// Setting this property as a result of selection events results in undefined behavior.</summary>
 public void SetFallbackSelection(Efl.Ui.ISelectable fallback)
 {
     Efl.Ui.ISingleSelectableConcrete.NativeMethods.efl_ui_single_selectable_fallback_selection_set_ptr.Value.Delegate(this.NativeHandle, fallback);
     Eina.Error.RaiseIfUnhandledException();
 }
                private static void fallback_selection_set(System.IntPtr obj, System.IntPtr pd, Efl.Ui.ISelectable fallback)
                {
                    Eina.Log.Debug("function efl_ui_single_selectable_fallback_selection_set was called");
                    var ws = Efl.Eo.Globals.GetWrapperSupervisor(obj);

                    if (ws != null)
                    {
                        try
                        {
                            ((ISingleSelectable)ws.Target).SetFallbackSelection(fallback);
                        }
                        catch (Exception e)
                        {
                            Eina.Log.Warning($"Callback error: {e.ToString()}");
                            Eina.Error.Set(Eina.Error.UNHANDLED_EXCEPTION);
                        }
                    }
                    else
                    {
                        efl_ui_single_selectable_fallback_selection_set_ptr.Value.Delegate(Efl.Eo.Globals.efl_super(obj, Efl.Eo.Globals.efl_class_get(obj)), fallback);
                    }
                }