------------------------------------------------------------------------------
--                                                                          --
--                An Ada2005 binding to the Qt C++ framework                --
--                                                                          --
------------------------------------------------------------------------------
--                                                                          --
-- Copyright © 2008-2010 Vadim Godunko <vgodunko@gmail.com>                 --
--                                                                          --
-- QtAda is free software;  you can  redistribute it and/or modify it under --
-- terms of the  GNU General Public License as published  by the Free Soft- --
-- ware  Foundation;  either version 2,  or (at your option) any later ver- --
-- sion. QtAda is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
-- for  more details.  You should have  received  a copy of the GNU General --
-- Public License distributed with QtAda;  see file COPYING.  If not, write --
-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
-- Boston, MA 02110-1301, USA.                                              --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable  to  be --
-- covered  by the  GNU  General  Public  License.  This exception does not --
-- however invalidate  any other reasons why  the executable file  might be --
-- covered by the  GNU Public License.                                      --
--                                                                          --
------------------------------------------------------------------------------
--    This file has been generated automatically. Please don't edit it.     --
------------------------------------------------------------------------------
with Qt4.Action_Events;
with Qt4.Child_Events;
with Qt4.Close_Events;
with Qt4.Context_Menu_Events;
with Qt4.Drag_Enter_Events;
with Qt4.Drag_Leave_Events;
with Qt4.Drag_Move_Events;
with Qt4.Drop_Events;
with Qt4.Events;
with Qt4.Focus_Events;
with Qt4.Hide_Events;
with Qt4.Input_Method_Events;
with Qt4.Key_Events;
with Qt4.Mouse_Events;
with Qt4.Move_Events;
with Qt4.Paint_Events;
with Qt4.Resize_Events;
with Qt4.Show_Events;
with Qt4.Tablet_Events;
with Qt4.Timer_Events;
with Qt4.Wheel_Events;
with Qt_Ada.Internals.Events;
with Qt_Ada.Internals.Events.Registry;
with Qt_Ada.Internals.Object_Registry;
pragma Elaborate (Qt_Ada.Internals.Object_Registry);
with Qt_Ada.Internals.Objects;
with Qt_Ada.Internals.Objects.Object_Utilities;

package body Qt4.Widgets.Directors is

   function qt_metacall_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Kind : Qt4.Meta_Objects.Call;
     Id   : Qt4.Q_Integer;
     Args : Qt4.Address_Pointer)
       return Qt4.Q_Integer;
   pragma Import (C, qt_metacall_wrapper,
                  "__Qt4Ada_QWidget_qt_metacall_wrapper");

   function qt_metacast_wrapper
    (Self  : not null access Qt_Ada.Internals.Objects.QObject;
     Class : Interfaces.C.char_array)
       return System.Address;
   pragma Import (C, qt_metacast_wrapper,
                  "__Qt4Ada_QWidget_qt_metacast_wrapper");

   function heightForWidth_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     W : Qt4.Q_Integer)
       return Qt4.Q_Integer;
   pragma Export (C, heightForWidth_0_dispatch,
                     "__Qt4Ada_QWidget_heightForWidth_0_dispatch");
   pragma Warnings (Off, heightForWidth_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function heightForWidth_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     W : Qt4.Q_Integer)
       return Qt4.Q_Integer;
   pragma Import (C, heightForWidth_0_wrapper,
                     "__Qt4Ada_QWidget_heightForWidth_0_wrapper");

   function inputMethodQuery_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Query : Qt4.Input_Method_Query)
       return not null access Qt4.Variants.Internals.QVariant;
   pragma Export (C, inputMethodQuery_0_dispatch,
                     "__Qt4Ada_QWidget_inputMethodQuery_0_dispatch");
   pragma Warnings (Off, inputMethodQuery_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure inputMethodQuery_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Query : Qt4.Input_Method_Query;
     Returns : not null access Qt4.Variants.Internals.QVariant);
   pragma Import (C, inputMethodQuery_0_wrapper,
                     "__Qt4Ada_QWidget_inputMethodQuery_0_wrapper");

   function minimumSizeHint_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Sizes.Internals.QSize;
   pragma Export (C, minimumSizeHint_0_dispatch,
                     "__Qt4Ada_QWidget_minimumSizeHint_0_dispatch");
   pragma Warnings (Off, minimumSizeHint_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure minimumSizeHint_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Returns : not null access Qt4.Sizes.Internals.QSize);
   pragma Import (C, minimumSizeHint_0_wrapper,
                     "__Qt4Ada_QWidget_minimumSizeHint_0_wrapper");

   function sizeHint_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Sizes.Internals.QSize;
   pragma Export (C, sizeHint_0_dispatch,
                     "__Qt4Ada_QWidget_sizeHint_0_dispatch");
   pragma Warnings (Off, sizeHint_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure sizeHint_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Returns : not null access Qt4.Sizes.Internals.QSize);
   pragma Import (C, sizeHint_0_wrapper,
                     "__Qt4Ada_QWidget_sizeHint_0_wrapper");

   procedure setVisible_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Visible : Qt4.bool);
   pragma Export (C, setVisible_0_dispatch,
                     "__Qt4Ada_QWidget_setVisible_0_dispatch");
   pragma Warnings (Off, setVisible_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure setVisible_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Visible : Qt4.bool);
   pragma Import (C, setVisible_0_wrapper,
                     "__Qt4Ada_QWidget_setVisible_0_wrapper");

   procedure customContextMenuRequested_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Pos : not null access constant Qt4.Points.Internals.QPoint);
   pragma Import (C, customContextMenuRequested_0_wrapper,
                     "__Qt4Ada_QWidget_customContextMenuRequested_0_wrapper");

   procedure actionEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, actionEvent_0_dispatch,
                     "__Qt4Ada_QWidget_actionEvent_0_dispatch");
   pragma Warnings (Off, actionEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure actionEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, actionEvent_0_wrapper,
                     "__Qt4Ada_QWidget_actionEvent_0_wrapper");

   procedure changeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, changeEvent_0_dispatch,
                     "__Qt4Ada_QWidget_changeEvent_0_dispatch");
   pragma Warnings (Off, changeEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure changeEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, changeEvent_0_wrapper,
                     "__Qt4Ada_QWidget_changeEvent_0_wrapper");

   procedure closeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, closeEvent_0_dispatch,
                     "__Qt4Ada_QWidget_closeEvent_0_dispatch");
   pragma Warnings (Off, closeEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure closeEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, closeEvent_0_wrapper,
                     "__Qt4Ada_QWidget_closeEvent_0_wrapper");

   procedure contextMenuEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, contextMenuEvent_0_dispatch,
                     "__Qt4Ada_QWidget_contextMenuEvent_0_dispatch");
   pragma Warnings (Off, contextMenuEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure contextMenuEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, contextMenuEvent_0_wrapper,
                     "__Qt4Ada_QWidget_contextMenuEvent_0_wrapper");

   procedure dragEnterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragEnterEvent_0_dispatch,
                     "__Qt4Ada_QWidget_dragEnterEvent_0_dispatch");
   pragma Warnings (Off, dragEnterEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure dragEnterEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragEnterEvent_0_wrapper,
                     "__Qt4Ada_QWidget_dragEnterEvent_0_wrapper");

   procedure dragLeaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragLeaveEvent_0_dispatch,
                     "__Qt4Ada_QWidget_dragLeaveEvent_0_dispatch");
   pragma Warnings (Off, dragLeaveEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure dragLeaveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragLeaveEvent_0_wrapper,
                     "__Qt4Ada_QWidget_dragLeaveEvent_0_wrapper");

   procedure dragMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragMoveEvent_0_dispatch,
                     "__Qt4Ada_QWidget_dragMoveEvent_0_dispatch");
   pragma Warnings (Off, dragMoveEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure dragMoveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragMoveEvent_0_wrapper,
                     "__Qt4Ada_QWidget_dragMoveEvent_0_wrapper");

   procedure dropEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dropEvent_0_dispatch,
                     "__Qt4Ada_QWidget_dropEvent_0_dispatch");
   pragma Warnings (Off, dropEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure dropEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dropEvent_0_wrapper,
                     "__Qt4Ada_QWidget_dropEvent_0_wrapper");

   procedure enterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, enterEvent_0_dispatch,
                     "__Qt4Ada_QWidget_enterEvent_0_dispatch");
   pragma Warnings (Off, enterEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure enterEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, enterEvent_0_wrapper,
                     "__Qt4Ada_QWidget_enterEvent_0_wrapper");

   function event_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     E : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Import (C, event_0_wrapper,
                     "__Qt4Ada_QWidget_event_0_wrapper");

   procedure focusInEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, focusInEvent_0_dispatch,
                     "__Qt4Ada_QWidget_focusInEvent_0_dispatch");
   pragma Warnings (Off, focusInEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure focusInEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, focusInEvent_0_wrapper,
                     "__Qt4Ada_QWidget_focusInEvent_0_wrapper");

   function focusNextChild_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject)
       return Qt4.bool;
   pragma Import (C, focusNextChild_0_wrapper,
                     "__Qt4Ada_QWidget_focusNextChild_0_wrapper");

   function focusNextPrevChild_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Next : Qt4.bool)
       return Qt4.bool;
   pragma Export (C, focusNextPrevChild_0_dispatch,
                     "__Qt4Ada_QWidget_focusNextPrevChild_0_dispatch");
   pragma Warnings (Off, focusNextPrevChild_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function focusNextPrevChild_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Next : Qt4.bool)
       return Qt4.bool;
   pragma Import (C, focusNextPrevChild_0_wrapper,
                     "__Qt4Ada_QWidget_focusNextPrevChild_0_wrapper");

   procedure focusOutEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, focusOutEvent_0_dispatch,
                     "__Qt4Ada_QWidget_focusOutEvent_0_dispatch");
   pragma Warnings (Off, focusOutEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure focusOutEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, focusOutEvent_0_wrapper,
                     "__Qt4Ada_QWidget_focusOutEvent_0_wrapper");

   function focusPreviousChild_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject)
       return Qt4.bool;
   pragma Import (C, focusPreviousChild_0_wrapper,
                     "__Qt4Ada_QWidget_focusPreviousChild_0_wrapper");

   procedure hideEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, hideEvent_0_dispatch,
                     "__Qt4Ada_QWidget_hideEvent_0_dispatch");
   pragma Warnings (Off, hideEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure hideEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, hideEvent_0_wrapper,
                     "__Qt4Ada_QWidget_hideEvent_0_wrapper");

   procedure inputMethodEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, inputMethodEvent_0_dispatch,
                     "__Qt4Ada_QWidget_inputMethodEvent_0_dispatch");
   pragma Warnings (Off, inputMethodEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure inputMethodEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, inputMethodEvent_0_wrapper,
                     "__Qt4Ada_QWidget_inputMethodEvent_0_wrapper");

   procedure keyPressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, keyPressEvent_0_dispatch,
                     "__Qt4Ada_QWidget_keyPressEvent_0_dispatch");
   pragma Warnings (Off, keyPressEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure keyPressEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, keyPressEvent_0_wrapper,
                     "__Qt4Ada_QWidget_keyPressEvent_0_wrapper");

   procedure keyReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, keyReleaseEvent_0_dispatch,
                     "__Qt4Ada_QWidget_keyReleaseEvent_0_dispatch");
   pragma Warnings (Off, keyReleaseEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure keyReleaseEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, keyReleaseEvent_0_wrapper,
                     "__Qt4Ada_QWidget_keyReleaseEvent_0_wrapper");

   procedure leaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, leaveEvent_0_dispatch,
                     "__Qt4Ada_QWidget_leaveEvent_0_dispatch");
   pragma Warnings (Off, leaveEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure leaveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, leaveEvent_0_wrapper,
                     "__Qt4Ada_QWidget_leaveEvent_0_wrapper");

   procedure mouseDoubleClickEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseDoubleClickEvent_0_dispatch,
                     "__Qt4Ada_QWidget_mouseDoubleClickEvent_0_dispatch");
   pragma Warnings (Off, mouseDoubleClickEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure mouseDoubleClickEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseDoubleClickEvent_0_wrapper,
                     "__Qt4Ada_QWidget_mouseDoubleClickEvent_0_wrapper");

   procedure mouseMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseMoveEvent_0_dispatch,
                     "__Qt4Ada_QWidget_mouseMoveEvent_0_dispatch");
   pragma Warnings (Off, mouseMoveEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure mouseMoveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseMoveEvent_0_wrapper,
                     "__Qt4Ada_QWidget_mouseMoveEvent_0_wrapper");

   procedure mousePressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mousePressEvent_0_dispatch,
                     "__Qt4Ada_QWidget_mousePressEvent_0_dispatch");
   pragma Warnings (Off, mousePressEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure mousePressEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mousePressEvent_0_wrapper,
                     "__Qt4Ada_QWidget_mousePressEvent_0_wrapper");

   procedure mouseReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseReleaseEvent_0_dispatch,
                     "__Qt4Ada_QWidget_mouseReleaseEvent_0_dispatch");
   pragma Warnings (Off, mouseReleaseEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure mouseReleaseEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseReleaseEvent_0_wrapper,
                     "__Qt4Ada_QWidget_mouseReleaseEvent_0_wrapper");

   procedure moveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, moveEvent_0_dispatch,
                     "__Qt4Ada_QWidget_moveEvent_0_dispatch");
   pragma Warnings (Off, moveEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure moveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, moveEvent_0_wrapper,
                     "__Qt4Ada_QWidget_moveEvent_0_wrapper");

   procedure paintEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, paintEvent_0_dispatch,
                     "__Qt4Ada_QWidget_paintEvent_0_dispatch");
   pragma Warnings (Off, paintEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure paintEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, paintEvent_0_wrapper,
                     "__Qt4Ada_QWidget_paintEvent_0_wrapper");

   procedure resetInputContext_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, resetInputContext_0_wrapper,
                     "__Qt4Ada_QWidget_resetInputContext_0_wrapper");

   procedure resizeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, resizeEvent_0_dispatch,
                     "__Qt4Ada_QWidget_resizeEvent_0_dispatch");
   pragma Warnings (Off, resizeEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure resizeEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, resizeEvent_0_wrapper,
                     "__Qt4Ada_QWidget_resizeEvent_0_wrapper");

   procedure showEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, showEvent_0_dispatch,
                     "__Qt4Ada_QWidget_showEvent_0_dispatch");
   pragma Warnings (Off, showEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure showEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, showEvent_0_wrapper,
                     "__Qt4Ada_QWidget_showEvent_0_wrapper");

   procedure tabletEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, tabletEvent_0_dispatch,
                     "__Qt4Ada_QWidget_tabletEvent_0_dispatch");
   pragma Warnings (Off, tabletEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure tabletEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, tabletEvent_0_wrapper,
                     "__Qt4Ada_QWidget_tabletEvent_0_wrapper");

   procedure wheelEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, wheelEvent_0_dispatch,
                     "__Qt4Ada_QWidget_wheelEvent_0_dispatch");
   pragma Warnings (Off, wheelEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure wheelEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, wheelEvent_0_wrapper,
                     "__Qt4Ada_QWidget_wheelEvent_0_wrapper");

   function metric_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Metric : Qt4.Paint_Devices.Paint_Device_Metric)
       return Qt4.Q_Integer;
   pragma Export (C, metric_0_dispatch,
                     "__Qt4Ada_QWidget_metric_0_dispatch");
   pragma Warnings (Off, metric_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function metric_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Metric : Qt4.Paint_Devices.Paint_Device_Metric)
       return Qt4.Q_Integer;
   pragma Import (C, metric_0_wrapper,
                     "__Qt4Ada_QWidget_metric_0_wrapper");

   procedure childEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, childEvent_0_wrapper,
                     "__Qt4Ada_QWidget_childEvent_0_wrapper");

   procedure customEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, customEvent_0_wrapper,
                     "__Qt4Ada_QWidget_customEvent_0_wrapper");

   procedure timerEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, timerEvent_0_wrapper,
                     "__Qt4Ada_QWidget_timerEvent_0_wrapper");

   function sender_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject)
       return access Qt_Ada.Internals.Objects.QObject;
   pragma Import (C, sender_0_wrapper,
                     "__Qt4Ada_QWidget_sender_0_wrapper");

   function C_QPaintDevice_View
    (Self : not null access Qt_Ada.Internals.Objects.QObject)
       return not null Qt_Ada.Internals.Paint_Devices.QPaintDevice_Access;
   pragma Import (C, C_QPaintDevice_View, "__QtAda_QWidget_QPaintDevice_View");

   -----------------------
   -- QPaintDevice_View --
   -----------------------

   overriding function QPaintDevice_View
    (Self : not null access constant Q_Widget_Director)
       return not null Qt_Ada.Internals.Paint_Devices.QPaintDevice_Access
   is
   begin
      return C_QPaintDevice_View (Self.QObject_View);
   end QPaintDevice_View;

   ------------------
   -- Constructors --
   ------------------

   package body Constructors is

      function new_QWidgetDirector
       (Object : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
        Parent : access Qt_Ada.Internals.Objects.QObject;
        Flags  : Qt4.Window_Flags)
          return not null Qt_Ada.Internals.Objects.QObject_Access;
      pragma Import (C, new_QWidgetDirector, "__Qt4Ada_new_QWidgetDirector");
      pragma Warnings (Off, new_QWidgetDirector);

      ----------------
      -- Initialize --
      ----------------

      procedure Initialize
       (Self   : not null access Q_Widget_Director'Class;
        Parent : access Q_Widget'Class := null;
        Flags  : Qt4.Window_Flags := +Widget)
      is
         Director : constant not null Qt_Ada.Internals.Objects.QObject_Access
           := new_QWidgetDirector
               (Qt_Ada.Internals.Objects.Q_Object_Base_Access (Self),
                Qt_Ada.Internals.Objects.Object_Utilities.Corresponding_QObject
                 (Parent),
                Flags);

      begin
         Qt_Ada.Internals.Objects.Initialize (Self, Director);
      end Initialize;

   end Constructors;

   ------------------
   -- Paint_Engine --
   ------------------

   overriding
   function Paint_Engine
    (Self : not null access Q_Widget_Director)
       return not null access Qt4.Paint_Engines.Q_Paint_Engine
   is
   begin
      raise Program_Error;
      pragma Warnings (Off);
      return null;
      pragma Warnings (On);
   end Paint_Engine;

   pragma Style_Checks ("N");

   -------------------------------
   -- heightForWidth_0_dispatch --
   -------------------------------

   function heightForWidth_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     W : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Widget_Director'Class (Self.all).Height_For_Width
         (W);
   end heightForWidth_0_dispatch;

   ----------------------
   -- Height_For_Width --
   ----------------------

   overriding
   function Height_For_Width
    (Self : not null access constant Q_Widget_Director;
     W : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        heightForWidth_0_wrapper
         (Q_Widget_Director'Class (Self.all).QObject_View,
          W);
   end Height_For_Width;

   ---------------------------------
   -- inputMethodQuery_0_dispatch --
   ---------------------------------

   function inputMethodQuery_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Query : Qt4.Input_Method_Query)
       return not null access Qt4.Variants.Internals.QVariant
   is
   begin
      return
        Qt4.Variants.Thin.copy_QVariant
         (Qt4.Variants.Internals.QVariant_View
           (Q_Widget_Director'Class (Self.all).Input_Method_Query
             (Query)));
   end inputMethodQuery_0_dispatch;

   ------------------------
   -- Input_Method_Query --
   ------------------------

   overriding
   function Input_Method_Query
    (Self : not null access constant Q_Widget_Director;
     Query : Qt4.Input_Method_Query)
       return Qt4.Variants.Q_Variant
   is
      Returns : Qt4.Variants.Q_Variant;

   begin
      inputMethodQuery_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Query,
        Qt4.Variants.Internals.QVariant_View (Returns));

      return Returns;
   end Input_Method_Query;

   --------------------------------
   -- minimumSizeHint_0_dispatch --
   --------------------------------

   function minimumSizeHint_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Sizes.Internals.QSize
   is
   begin
      return
        Qt4.Sizes.Thin.copy_QSize
         (Qt4.Sizes.Internals.QSize_View
           (Q_Widget_Director'Class (Self.all).Minimum_Size_Hint));
   end minimumSizeHint_0_dispatch;

   -----------------------
   -- Minimum_Size_Hint --
   -----------------------

   overriding
   function Minimum_Size_Hint
    (Self : not null access constant Q_Widget_Director)
       return Qt4.Sizes.Q_Size
   is
      Returns : Qt4.Sizes.Q_Size;

   begin
      minimumSizeHint_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Qt4.Sizes.Internals.QSize_View (Returns));

      return Returns;
   end Minimum_Size_Hint;

   -------------------------
   -- sizeHint_0_dispatch --
   -------------------------

   function sizeHint_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Sizes.Internals.QSize
   is
   begin
      return
        Qt4.Sizes.Thin.copy_QSize
         (Qt4.Sizes.Internals.QSize_View
           (Q_Widget_Director'Class (Self.all).Size_Hint));
   end sizeHint_0_dispatch;

   ---------------
   -- Size_Hint --
   ---------------

   overriding
   function Size_Hint
    (Self : not null access constant Q_Widget_Director)
       return Qt4.Sizes.Q_Size
   is
      Returns : Qt4.Sizes.Q_Size;

   begin
      sizeHint_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Qt4.Sizes.Internals.QSize_View (Returns));

      return Returns;
   end Size_Hint;

   ---------------------------
   -- setVisible_0_dispatch --
   ---------------------------

   procedure setVisible_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Visible : Qt4.bool)
   is
   begin
      Q_Widget_Director'Class (Self.all).Set_Visible
       (Qt4.To_Boolean (Visible));
   end setVisible_0_dispatch;

   -----------------
   -- Set_Visible --
   -----------------

   overriding
   procedure Set_Visible
    (Self : not null access Q_Widget_Director;
     Visible : Standard.Boolean)
   is
   begin
      setVisible_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Qt4.To_bool (Visible));
   end Set_Visible;

   ----------------------------------------
   -- Emit_Custom_Context_Menu_Requested --
   ----------------------------------------

   not overriding
   procedure Emit_Custom_Context_Menu_Requested
    (Self : not null access Q_Widget_Director;
     Pos : Qt4.Points.Q_Point)
   is
   begin
      customContextMenuRequested_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Qt4.Points.Internals.QPoint_View (Pos));
   end Emit_Custom_Context_Menu_Requested;

   ----------------------------
   -- actionEvent_0_dispatch --
   ----------------------------

   procedure actionEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Action_Event
       (Qt4.Action_Events.Q_Action_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end actionEvent_0_dispatch;

   ------------------
   -- Action_Event --
   ------------------

   not overriding
   procedure Action_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Action_Events.Q_Action_Event'Class)
   is
   begin
      actionEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Action_Event;

   ----------------------------
   -- changeEvent_0_dispatch --
   ----------------------------

   procedure changeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Change_Event
       (Qt4.Events.Q_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end changeEvent_0_dispatch;

   ------------------
   -- Change_Event --
   ------------------

   not overriding
   procedure Change_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Events.Q_Event'Class)
   is
   begin
      changeEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Change_Event;

   ---------------------------
   -- closeEvent_0_dispatch --
   ---------------------------

   procedure closeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Close_Event
       (Qt4.Close_Events.Q_Close_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end closeEvent_0_dispatch;

   -----------------
   -- Close_Event --
   -----------------

   not overriding
   procedure Close_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Close_Events.Q_Close_Event'Class)
   is
   begin
      closeEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Close_Event;

   ---------------------------------
   -- contextMenuEvent_0_dispatch --
   ---------------------------------

   procedure contextMenuEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Context_Menu_Event
       (Qt4.Context_Menu_Events.Q_Context_Menu_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end contextMenuEvent_0_dispatch;

   ------------------------
   -- Context_Menu_Event --
   ------------------------

   not overriding
   procedure Context_Menu_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Context_Menu_Events.Q_Context_Menu_Event'Class)
   is
   begin
      contextMenuEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Context_Menu_Event;

   -------------------------------
   -- dragEnterEvent_0_dispatch --
   -------------------------------

   procedure dragEnterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Drag_Enter_Event
       (Qt4.Drag_Enter_Events.Q_Drag_Enter_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end dragEnterEvent_0_dispatch;

   ----------------------
   -- Drag_Enter_Event --
   ----------------------

   not overriding
   procedure Drag_Enter_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Drag_Enter_Events.Q_Drag_Enter_Event'Class)
   is
   begin
      dragEnterEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Drag_Enter_Event;

   -------------------------------
   -- dragLeaveEvent_0_dispatch --
   -------------------------------

   procedure dragLeaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Drag_Leave_Event
       (Qt4.Drag_Leave_Events.Q_Drag_Leave_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end dragLeaveEvent_0_dispatch;

   ----------------------
   -- Drag_Leave_Event --
   ----------------------

   not overriding
   procedure Drag_Leave_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Drag_Leave_Events.Q_Drag_Leave_Event'Class)
   is
   begin
      dragLeaveEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Drag_Leave_Event;

   ------------------------------
   -- dragMoveEvent_0_dispatch --
   ------------------------------

   procedure dragMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Drag_Move_Event
       (Qt4.Drag_Move_Events.Q_Drag_Move_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end dragMoveEvent_0_dispatch;

   ---------------------
   -- Drag_Move_Event --
   ---------------------

   not overriding
   procedure Drag_Move_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Drag_Move_Events.Q_Drag_Move_Event'Class)
   is
   begin
      dragMoveEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Drag_Move_Event;

   --------------------------
   -- dropEvent_0_dispatch --
   --------------------------

   procedure dropEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Drop_Event
       (Qt4.Drop_Events.Q_Drop_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end dropEvent_0_dispatch;

   ----------------
   -- Drop_Event --
   ----------------

   not overriding
   procedure Drop_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Drop_Events.Q_Drop_Event'Class)
   is
   begin
      dropEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Drop_Event;

   ---------------------------
   -- enterEvent_0_dispatch --
   ---------------------------

   procedure enterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Enter_Event
       (Qt4.Events.Q_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end enterEvent_0_dispatch;

   -----------------
   -- Enter_Event --
   -----------------

   not overriding
   procedure Enter_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Events.Q_Event'Class)
   is
   begin
      enterEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Enter_Event;

   -----------
   -- Event --
   -----------

   overriding
   function Event
    (Self : not null access Q_Widget_Director;
     E : not null access Qt4.Events.Q_Event'Class)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (event_0_wrapper
           (Q_Widget_Director'Class (Self.all).QObject_View,
            E.QEvent_View));
   end Event;

   -----------------------------
   -- focusInEvent_0_dispatch --
   -----------------------------

   procedure focusInEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Focus_In_Event
       (Qt4.Focus_Events.Q_Focus_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end focusInEvent_0_dispatch;

   --------------------
   -- Focus_In_Event --
   --------------------

   not overriding
   procedure Focus_In_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Focus_Events.Q_Focus_Event'Class)
   is
   begin
      focusInEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Focus_In_Event;

   ----------------------
   -- Focus_Next_Child --
   ----------------------

   not overriding
   function Focus_Next_Child
    (Self : not null access Q_Widget_Director)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (focusNextChild_0_wrapper
           (Q_Widget_Director'Class (Self.all).QObject_View));
   end Focus_Next_Child;

   -----------------------------------
   -- focusNextPrevChild_0_dispatch --
   -----------------------------------

   function focusNextPrevChild_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Next : Qt4.bool)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Widget_Director'Class (Self.all).Focus_Next_Prev_Child
           (Qt4.To_Boolean (Next)));
   end focusNextPrevChild_0_dispatch;

   ---------------------------
   -- Focus_Next_Prev_Child --
   ---------------------------

   not overriding
   function Focus_Next_Prev_Child
    (Self : not null access Q_Widget_Director;
     Next : Standard.Boolean)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (focusNextPrevChild_0_wrapper
           (Q_Widget_Director'Class (Self.all).QObject_View,
            Qt4.To_bool (Next)));
   end Focus_Next_Prev_Child;

   ------------------------------
   -- focusOutEvent_0_dispatch --
   ------------------------------

   procedure focusOutEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Focus_Out_Event
       (Qt4.Focus_Events.Q_Focus_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end focusOutEvent_0_dispatch;

   ---------------------
   -- Focus_Out_Event --
   ---------------------

   not overriding
   procedure Focus_Out_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Focus_Events.Q_Focus_Event'Class)
   is
   begin
      focusOutEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Focus_Out_Event;

   --------------------------
   -- Focus_Previous_Child --
   --------------------------

   not overriding
   function Focus_Previous_Child
    (Self : not null access Q_Widget_Director)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (focusPreviousChild_0_wrapper
           (Q_Widget_Director'Class (Self.all).QObject_View));
   end Focus_Previous_Child;

   --------------------------
   -- hideEvent_0_dispatch --
   --------------------------

   procedure hideEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Hide_Event
       (Qt4.Hide_Events.Q_Hide_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end hideEvent_0_dispatch;

   ----------------
   -- Hide_Event --
   ----------------

   not overriding
   procedure Hide_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Hide_Events.Q_Hide_Event'Class)
   is
   begin
      hideEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Hide_Event;

   ---------------------------------
   -- inputMethodEvent_0_dispatch --
   ---------------------------------

   procedure inputMethodEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Input_Method_Event
       (Qt4.Input_Method_Events.Q_Input_Method_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end inputMethodEvent_0_dispatch;

   ------------------------
   -- Input_Method_Event --
   ------------------------

   not overriding
   procedure Input_Method_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Input_Method_Events.Q_Input_Method_Event'Class)
   is
   begin
      inputMethodEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Input_Method_Event;

   ------------------------------
   -- keyPressEvent_0_dispatch --
   ------------------------------

   procedure keyPressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Key_Press_Event
       (Qt4.Key_Events.Q_Key_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end keyPressEvent_0_dispatch;

   ---------------------
   -- Key_Press_Event --
   ---------------------

   not overriding
   procedure Key_Press_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Key_Events.Q_Key_Event'Class)
   is
   begin
      keyPressEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Key_Press_Event;

   --------------------------------
   -- keyReleaseEvent_0_dispatch --
   --------------------------------

   procedure keyReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Key_Release_Event
       (Qt4.Key_Events.Q_Key_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end keyReleaseEvent_0_dispatch;

   -----------------------
   -- Key_Release_Event --
   -----------------------

   not overriding
   procedure Key_Release_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Key_Events.Q_Key_Event'Class)
   is
   begin
      keyReleaseEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Key_Release_Event;

   ---------------------------
   -- leaveEvent_0_dispatch --
   ---------------------------

   procedure leaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Leave_Event
       (Qt4.Events.Q_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end leaveEvent_0_dispatch;

   -----------------
   -- Leave_Event --
   -----------------

   not overriding
   procedure Leave_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Events.Q_Event'Class)
   is
   begin
      leaveEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Leave_Event;

   --------------------------------------
   -- mouseDoubleClickEvent_0_dispatch --
   --------------------------------------

   procedure mouseDoubleClickEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Mouse_Double_Click_Event
       (Qt4.Mouse_Events.Q_Mouse_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end mouseDoubleClickEvent_0_dispatch;

   ------------------------------
   -- Mouse_Double_Click_Event --
   ------------------------------

   not overriding
   procedure Mouse_Double_Click_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Mouse_Events.Q_Mouse_Event'Class)
   is
   begin
      mouseDoubleClickEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Mouse_Double_Click_Event;

   -------------------------------
   -- mouseMoveEvent_0_dispatch --
   -------------------------------

   procedure mouseMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Mouse_Move_Event
       (Qt4.Mouse_Events.Q_Mouse_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end mouseMoveEvent_0_dispatch;

   ----------------------
   -- Mouse_Move_Event --
   ----------------------

   not overriding
   procedure Mouse_Move_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Mouse_Events.Q_Mouse_Event'Class)
   is
   begin
      mouseMoveEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Mouse_Move_Event;

   --------------------------------
   -- mousePressEvent_0_dispatch --
   --------------------------------

   procedure mousePressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Mouse_Press_Event
       (Qt4.Mouse_Events.Q_Mouse_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end mousePressEvent_0_dispatch;

   -----------------------
   -- Mouse_Press_Event --
   -----------------------

   not overriding
   procedure Mouse_Press_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Mouse_Events.Q_Mouse_Event'Class)
   is
   begin
      mousePressEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Mouse_Press_Event;

   ----------------------------------
   -- mouseReleaseEvent_0_dispatch --
   ----------------------------------

   procedure mouseReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Mouse_Release_Event
       (Qt4.Mouse_Events.Q_Mouse_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end mouseReleaseEvent_0_dispatch;

   -------------------------
   -- Mouse_Release_Event --
   -------------------------

   not overriding
   procedure Mouse_Release_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Mouse_Events.Q_Mouse_Event'Class)
   is
   begin
      mouseReleaseEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Mouse_Release_Event;

   --------------------------
   -- moveEvent_0_dispatch --
   --------------------------

   procedure moveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Move_Event
       (Qt4.Move_Events.Q_Move_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end moveEvent_0_dispatch;

   ----------------
   -- Move_Event --
   ----------------

   not overriding
   procedure Move_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Move_Events.Q_Move_Event'Class)
   is
   begin
      moveEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Move_Event;

   ---------------------------
   -- paintEvent_0_dispatch --
   ---------------------------

   procedure paintEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Paint_Event
       (Qt4.Paint_Events.Q_Paint_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end paintEvent_0_dispatch;

   -----------------
   -- Paint_Event --
   -----------------

   not overriding
   procedure Paint_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Paint_Events.Q_Paint_Event'Class)
   is
   begin
      paintEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Paint_Event;

   -------------------------
   -- Reset_Input_Context --
   -------------------------

   not overriding
   procedure Reset_Input_Context
    (Self : not null access Q_Widget_Director)
   is
   begin
      resetInputContext_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View);
   end Reset_Input_Context;

   ----------------------------
   -- resizeEvent_0_dispatch --
   ----------------------------

   procedure resizeEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Resize_Event
       (Qt4.Resize_Events.Q_Resize_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end resizeEvent_0_dispatch;

   ------------------
   -- Resize_Event --
   ------------------

   not overriding
   procedure Resize_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Resize_Events.Q_Resize_Event'Class)
   is
   begin
      resizeEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Resize_Event;

   --------------------------
   -- showEvent_0_dispatch --
   --------------------------

   procedure showEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Show_Event
       (Qt4.Show_Events.Q_Show_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end showEvent_0_dispatch;

   ----------------
   -- Show_Event --
   ----------------

   not overriding
   procedure Show_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Show_Events.Q_Show_Event'Class)
   is
   begin
      showEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Show_Event;

   ----------------------------
   -- tabletEvent_0_dispatch --
   ----------------------------

   procedure tabletEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Tablet_Event
       (Qt4.Tablet_Events.Q_Tablet_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end tabletEvent_0_dispatch;

   ------------------
   -- Tablet_Event --
   ------------------

   not overriding
   procedure Tablet_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Tablet_Events.Q_Tablet_Event'Class)
   is
   begin
      tabletEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Tablet_Event;

   ---------------------------
   -- wheelEvent_0_dispatch --
   ---------------------------

   procedure wheelEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Widget_Director'Class (Self.all).Wheel_Event
       (Qt4.Wheel_Events.Q_Wheel_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end wheelEvent_0_dispatch;

   -----------------
   -- Wheel_Event --
   -----------------

   not overriding
   procedure Wheel_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Wheel_Events.Q_Wheel_Event'Class)
   is
   begin
      wheelEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Wheel_Event;

   -----------------------
   -- metric_0_dispatch --
   -----------------------

   function metric_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Metric : Qt4.Paint_Devices.Paint_Device_Metric)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Widget_Director'Class (Self.all).Metric
         (Metric);
   end metric_0_dispatch;

   ------------
   -- Metric --
   ------------

   not overriding
   function Metric
    (Self : not null access constant Q_Widget_Director;
     Metric : Qt4.Paint_Devices.Paint_Device_Metric)
       return Qt4.Q_Integer
   is
   begin
      return
        metric_0_wrapper
         (Q_Widget_Director'Class (Self.all).QObject_View,
          Metric);
   end Metric;

   -----------------
   -- Child_Event --
   -----------------

   overriding
   procedure Child_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Child_Events.Q_Child_Event'Class)
   is
   begin
      childEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Child_Event;

   ------------------
   -- Custom_Event --
   ------------------

   overriding
   procedure Custom_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Events.Q_Event'Class)
   is
   begin
      customEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Custom_Event;

   -----------------
   -- Timer_Event --
   -----------------

   overriding
   procedure Timer_Event
    (Self : not null access Q_Widget_Director;
     Event : not null access Qt4.Timer_Events.Q_Timer_Event'Class)
   is
   begin
      timerEvent_0_wrapper
       (Q_Widget_Director'Class (Self.all).QObject_View,
        Event.QEvent_View);
   end Timer_Event;

   ------------
   -- Sender --
   ------------

   overriding
   function Sender
    (Self : not null access constant Q_Widget_Director)
       return access Qt4.Objects.Q_Object'Class
   is
   begin
      return
        Qt_Ada.Internals.Objects.Object_Utilities.Corresponding_Q_Object
         (sender_0_wrapper
           (Q_Widget_Director'Class (Self.all).QObject_View));
   end Sender;

begin
   Qt_Ada.Internals.Object_Registry.Register_Director
    ("QWidget", qt_metacast_wrapper'Access, qt_metacall_wrapper'Access);

end Qt4.Widgets.Directors;
