------------------------------------------------------------------------------
--                                                                          --
--                An Ada2005 binding to the Qt C++ framework                --
--                                                                          --
------------------------------------------------------------------------------
--                                                                          --
-- Copyright © 2009, 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.Events;
with Qt4.Focus_Events;
with Qt4.Graphics_Scene_Context_Menu_Events;
with Qt4.Graphics_Scene_Drag_Drop_Events;
with Qt4.Graphics_Scene_Hover_Events;
with Qt4.Graphics_Scene_Mouse_Events;
with Qt4.Graphics_Scene_Wheel_Events;
with Qt4.Graphics_Scenes.Directors;
with Qt4.Input_Method_Events;
with Qt4.Key_Events;
with Qt4.Style_Options;
with Qt_Ada.Internals.Events;
with Qt_Ada.Internals.Events.Registry;
with Qt_Ada.Internals.Graphics_Item_Registry;
with Qt_Ada.Internals.Objects.Widget_Utilities;

package body Qt4.Graphics_Items.Directors is

   procedure advance_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Phase : Qt4.Q_Integer);
   pragma Export (C, advance_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_advance_0_dispatch");
   pragma Warnings (Off, advance_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure advance_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Phase : Qt4.Q_Integer);
   pragma Import (C, advance_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_advance_0_wrapper");

   function boundingRect_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Rect_Fs.Internals.QRectF;
   pragma Export (C, boundingRect_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_boundingRect_0_dispatch");
   pragma Warnings (Off, boundingRect_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function collidesWithItem_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Other : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool;
   pragma Export (C, collidesWithItem_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_collidesWithItem_0_dispatch");
   pragma Warnings (Off, collidesWithItem_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function collidesWithItem_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Other : not null access constant Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool;
   pragma Import (C, collidesWithItem_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_collidesWithItem_0_wrapper");

   function collidesWithPath_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Path : not null access Qt4.Painter_Paths.Internals.QPainterPath;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool;
   pragma Export (C, collidesWithPath_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_collidesWithPath_0_dispatch");
   pragma Warnings (Off, collidesWithPath_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function collidesWithPath_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Path : not null access constant Qt4.Painter_Paths.Internals.QPainterPath;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool;
   pragma Import (C, collidesWithPath_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_collidesWithPath_0_wrapper");

   function contains_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Point : not null access Qt4.Point_Fs.Internals.QPointF)
       return Qt4.bool;
   pragma Export (C, contains_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_contains_0_dispatch");
   pragma Warnings (Off, contains_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function contains_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Point : not null access constant Qt4.Point_Fs.Internals.QPointF)
       return Qt4.bool;
   pragma Import (C, contains_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_contains_0_wrapper");

   function isObscuredBy_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Item : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem)
       return Qt4.bool;
   pragma Export (C, isObscuredBy_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_isObscuredBy_0_dispatch");
   pragma Warnings (Off, isObscuredBy_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function isObscuredBy_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Item : not null access constant Qt_Ada.Internals.Graphics_Items.QGraphicsItem)
       return Qt4.bool;
   pragma Import (C, isObscuredBy_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_isObscuredBy_0_wrapper");

   function opaqueArea_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Painter_Paths.Internals.QPainterPath;
   pragma Export (C, opaqueArea_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_opaqueArea_0_dispatch");
   pragma Warnings (Off, opaqueArea_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure opaqueArea_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Returns : not null access Qt4.Painter_Paths.Internals.QPainterPath);
   pragma Import (C, opaqueArea_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_opaqueArea_0_wrapper");

   function shape_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Painter_Paths.Internals.QPainterPath;
   pragma Export (C, shape_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_shape_0_dispatch");
   pragma Warnings (Off, shape_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure shape_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Returns : not null access Qt4.Painter_Paths.Internals.QPainterPath);
   pragma Import (C, shape_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_shape_0_wrapper");

   procedure contextMenuEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, contextMenuEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, contextMenuEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_contextMenuEvent_0_wrapper");

   procedure dragEnterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragEnterEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragEnterEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_dragEnterEvent_0_wrapper");

   procedure dragLeaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragLeaveEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragLeaveEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_dragLeaveEvent_0_wrapper");

   procedure dragMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dragMoveEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dragMoveEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_dragMoveEvent_0_wrapper");

   procedure dropEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, dropEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, dropEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_dropEvent_0_wrapper");

   procedure focusInEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, focusInEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, focusInEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_focusInEvent_0_wrapper");

   procedure focusOutEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, focusOutEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, focusOutEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_focusOutEvent_0_wrapper");

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

   procedure hoverEnterEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, hoverEnterEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_hoverEnterEvent_0_wrapper");

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

   procedure hoverMoveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, hoverMoveEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_hoverMoveEvent_0_wrapper");

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

   procedure hoverLeaveEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, hoverLeaveEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_hoverLeaveEvent_0_wrapper");

   procedure inputMethodEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, inputMethodEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, inputMethodEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_inputMethodEvent_0_wrapper");

   function inputMethodQuery_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Query : Qt4.Input_Method_Query)
       return not null access Qt4.Variants.Internals.QVariant;
   pragma Export (C, inputMethodQuery_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Query : Qt4.Input_Method_Query;
     Returns : not null access Qt4.Variants.Internals.QVariant);
   pragma Import (C, inputMethodQuery_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_inputMethodQuery_0_wrapper");

   function itemChange_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Change : Qt4.Graphics_Items.Graphics_Item_Graphics_Item_Change;
     Value : not null access Qt4.Variants.Internals.QVariant)
       return not null access Qt4.Variants.Internals.QVariant;
   pragma Export (C, itemChange_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_itemChange_0_dispatch");
   pragma Warnings (Off, itemChange_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure itemChange_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Change : Qt4.Graphics_Items.Graphics_Item_Graphics_Item_Change;
     Value : not null access constant Qt4.Variants.Internals.QVariant;
     Returns : not null access Qt4.Variants.Internals.QVariant);
   pragma Import (C, itemChange_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_itemChange_0_wrapper");

   procedure keyPressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, keyPressEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, keyPressEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_keyPressEvent_0_wrapper");

   procedure keyReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, keyReleaseEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, keyReleaseEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_keyReleaseEvent_0_wrapper");

   procedure mouseDoubleClickEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseDoubleClickEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseDoubleClickEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_mouseDoubleClickEvent_0_wrapper");

   procedure mouseMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseMoveEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseMoveEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_mouseMoveEvent_0_wrapper");

   procedure mousePressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mousePressEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mousePressEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_mousePressEvent_0_wrapper");

   procedure mouseReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, mouseReleaseEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, mouseReleaseEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_mouseReleaseEvent_0_wrapper");

   procedure prepareGeometryChange_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem);
   pragma Import (C, prepareGeometryChange_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_prepareGeometryChange_0_wrapper");

   function sceneEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Export (C, sceneEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_sceneEvent_0_dispatch");
   pragma Warnings (Off, sceneEvent_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function sceneEvent_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Import (C, sceneEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_sceneEvent_0_wrapper");

   function sceneEventFilter_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Watched : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Export (C, sceneEventFilter_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_sceneEventFilter_0_dispatch");
   pragma Warnings (Off, sceneEventFilter_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   function sceneEventFilter_0_wrapper
    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Watched : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Import (C, sceneEventFilter_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_sceneEventFilter_0_wrapper");

   procedure wheelEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Export (C, wheelEvent_0_dispatch,
                     "__Qt4Ada_QGraphicsItem_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.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent);
   pragma Import (C, wheelEvent_0_wrapper,
                     "__Qt4Ada_QGraphicsItem_wheelEvent_0_wrapper");

--   procedure paint_virtual
--    (Self    : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
--     Painter : not null access Qt4.Painters.Internals.QPainter;
--     Option  : not null access Style_Options.Thin.QStyleOption;
--     Widget  : not null access Qt_Ada.Internals.Objects.QObject);
--   pragma Import (C,
--                  paint_virtual,
--                  "__Qt4Ada_QGraphicsItem_paint_virtual");

--   function type_virtual
--    (Self : not null access constant
--       Qt_Ada.Internals.Graphics_Items.QGraphicsItem)
--         return Interfaces.C.int;
--   pragma Import (C,
--                  type_virtual,
--                  "__Qt4Ada_QGraphicsItem_type_virtual");

--   function type_dispatch
--    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
--       return Interfaces.C.int;
--   pragma Export (C, type_dispatch, "__Qt4Ada_QGraphicsItem_type_dispatch");
--   pragma Warnings (Off, type_dispatch);

--   function type_wrapper
--    (Self : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem)
--       return Interfaces.C.int;
--   pragma Import (C, type_wrapper, "__Qt4Ada_QGraphicsItem_type_wrapper");

   procedure paint_dispatch
    (Self    : not null
       Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Painter : not null Qt4.Painters.Internals.QPainter_Access;
     Option  : not null access Qt4.Style_Options.Thin.QStyleOption;
     Widget  : access Qt_Ada.Internals.Objects.QObject);
   pragma Export (C, paint_dispatch, "__Qt4Ada_QGraphicsItem_paint_dispatch");
   pragma Warnings (Off, paint_dispatch);

   --------------------
   -- paint_dispatch --
   --------------------

   procedure paint_dispatch
    (Self    : not null
       Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Painter : not null Qt4.Painters.Internals.QPainter_Access;
     Option  : not null access Qt4.Style_Options.Thin.QStyleOption;
     Widget  : access Qt_Ada.Internals.Objects.QObject)
   is
      P : Qt4.Painters.Q_Painter
        := Qt4.Painters.Internals.Create_Wrapper (Painter);

   begin
      Q_Graphics_Item_Director'Class (Self.all).Paint
       (P,
        Qt4.Style_Option_Graphics_Items.Q_Style_Option_Graphics_Item'Class
         (Qt4.Style_Options.Internals.Create_Wrapper (Option)),
        Qt_Ada.Internals.Objects.Widget_Utilities.Corresponding_Q_Widget
         (Widget));
   end paint_dispatch;

--   -------------------
--   -- type_dispatch --
--   -------------------
--
--   function type_dispatch
--    (Self    : not null
--       Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
--         return Interfaces.C.int
--   is
--   begin
--      Q_Graphics_Item_Impl'Class (Self.all).The_Type;
--   end type_dispatch;

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

   package body Constructors is

      function new_QGraphicsItemDirector_parent_scene
       (Self   : not null access
          Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base'Class;
        Parent :          access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
        Scene  :          access Qt_Ada.Internals.Objects.QObject)
          return not null Qt_Ada.Internals.Graphics_Items.QGraphicsItem_Access;
      pragma Import
       (C,
        new_QGraphicsItemDirector_parent_scene,
        "__Qt4Ada_new_QGraphicsItemDirector");
      pragma Warnings (Off, new_QGraphicsItemDirector_parent_scene);

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

      procedure Initialize
       (Self   : not null access Q_Graphics_Item_Director'Class;
        Parent : access Q_Graphics_Item'Class := null;
        Scene  : access Qt4.Graphics_Scenes.Q_Graphics_Scene'Class := null)
      is
      begin
         if Parent = null and Scene = null then
            Qt_Ada.Internals.Graphics_Items.Initialize
             (Self,
              new_QGraphicsItemDirector_parent_scene
               (Self, null, null));

         elsif Parent = null and Scene /= null then
            Qt_Ada.Internals.Graphics_Items.Initialize
             (Self,
              new_QGraphicsItemDirector_parent_scene
               (Self, null, Scene.QObject_View));

         elsif Parent /= null and Scene = null then
            Qt_Ada.Internals.Graphics_Items.Initialize
             (Self,
              new_QGraphicsItemDirector_parent_scene
               (Self, Parent.QGraphicsItem_View, null));

         else
            Qt_Ada.Internals.Graphics_Items.Initialize
             (Self,
              new_QGraphicsItemDirector_parent_scene
               (Self,
                Parent.QGraphicsItem_View,
                Scene.QObject_View));
         end if;
      end Initialize;

   end Constructors;

   pragma Style_Checks ("N");

   ------------------------
   -- advance_0_dispatch --
   ------------------------

   procedure advance_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Phase : Qt4.Q_Integer)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Advance
       (Phase);
   end advance_0_dispatch;

   -------------
   -- Advance --
   -------------

   overriding
   procedure Advance
    (Self : not null access Q_Graphics_Item_Director;
     Phase : Qt4.Q_Integer)
   is
   begin
      advance_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Phase);
   end Advance;

   -----------------------------
   -- boundingRect_0_dispatch --
   -----------------------------

   function boundingRect_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Rect_Fs.Internals.QRectF
   is
   begin
      return
        Qt4.Rect_Fs.Thin.copy_QRectF
         (Qt4.Rect_Fs.Internals.QRectF_View
           (Q_Graphics_Item_Director'Class (Self.all).Bounding_Rect));
   end boundingRect_0_dispatch;

   ---------------------------------
   -- collidesWithItem_0_dispatch --
   ---------------------------------

   function collidesWithItem_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Other : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Collides_With_Item
           (Qt4.Graphics_Items.Q_Graphics_Item'Class (Qt_Ada.Internals.Graphics_Item_Registry.To_Q_Graphics_Item (Other).all)'Access,
            Mode));
   end collidesWithItem_0_dispatch;

   ------------------------
   -- Collides_With_Item --
   ------------------------

   overriding
   function Collides_With_Item
    (Self : not null access constant Q_Graphics_Item_Director;
     Other : not null access constant Qt4.Graphics_Items.Q_Graphics_Item'Class;
     Mode : Qt4.Item_Selection_Mode
       := Qt4.Intersects_Item_Shape)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (collidesWithItem_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Other.QGraphicsItem_View,
            Mode));
   end Collides_With_Item;

   ---------------------------------
   -- collidesWithPath_0_dispatch --
   ---------------------------------

   function collidesWithPath_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Path : not null access Qt4.Painter_Paths.Internals.QPainterPath;
     Mode : Qt4.Item_Selection_Mode)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Collides_With_Path
           (Qt4.Painter_Paths.Internals.Create_Wrapper (Qt4.Painter_Paths.Internals.QPainterPath_Access (Path)),
            Mode));
   end collidesWithPath_0_dispatch;

   ------------------------
   -- Collides_With_Path --
   ------------------------

   overriding
   function Collides_With_Path
    (Self : not null access constant Q_Graphics_Item_Director;
     Path : Qt4.Painter_Paths.Q_Painter_Path;
     Mode : Qt4.Item_Selection_Mode
       := Qt4.Intersects_Item_Shape)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (collidesWithPath_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Qt4.Painter_Paths.Internals.QPainterPath_View (Path),
            Mode));
   end Collides_With_Path;

   -------------------------
   -- contains_0_dispatch --
   -------------------------

   function contains_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Point : not null access Qt4.Point_Fs.Internals.QPointF)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Contains
           (Qt4.Point_Fs.Internals.Create_Wrapper (Qt4.Point_Fs.Internals.QPointF_Access (Point))));
   end contains_0_dispatch;

   --------------
   -- Contains --
   --------------

   overriding
   function Contains
    (Self : not null access constant Q_Graphics_Item_Director;
     Point : Qt4.Point_Fs.Q_Point_F)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (contains_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Qt4.Point_Fs.Internals.QPointF_View (Point)));
   end Contains;

   -----------------------------
   -- isObscuredBy_0_dispatch --
   -----------------------------

   function isObscuredBy_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Item : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Is_Obscured_By
           (Qt4.Graphics_Items.Q_Graphics_Item'Class (Qt_Ada.Internals.Graphics_Item_Registry.To_Q_Graphics_Item (Item).all)'Access));
   end isObscuredBy_0_dispatch;

   --------------------
   -- Is_Obscured_By --
   --------------------

   overriding
   function Is_Obscured_By
    (Self : not null access constant Q_Graphics_Item_Director;
     Item : not null access constant Qt4.Graphics_Items.Q_Graphics_Item'Class)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (isObscuredBy_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Item.QGraphicsItem_View));
   end Is_Obscured_By;

   ---------------------------
   -- opaqueArea_0_dispatch --
   ---------------------------

   function opaqueArea_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Painter_Paths.Internals.QPainterPath
   is
   begin
      return
        Qt4.Painter_Paths.Thin.copy_QPainterPath
         (Qt4.Painter_Paths.Internals.QPainterPath_View
           (Q_Graphics_Item_Director'Class (Self.all).Opaque_Area));
   end opaqueArea_0_dispatch;

   -----------------
   -- Opaque_Area --
   -----------------

   overriding
   function Opaque_Area
    (Self : not null access constant Q_Graphics_Item_Director)
       return Qt4.Painter_Paths.Q_Painter_Path
   is
      Returns : Qt4.Painter_Paths.Q_Painter_Path;

   begin
      opaqueArea_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Qt4.Painter_Paths.Internals.QPainterPath_View (Returns));

      return Returns;
   end Opaque_Area;

   ----------------------
   -- shape_0_dispatch --
   ----------------------

   function shape_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access)
       return not null access Qt4.Painter_Paths.Internals.QPainterPath
   is
   begin
      return
        Qt4.Painter_Paths.Thin.copy_QPainterPath
         (Qt4.Painter_Paths.Internals.QPainterPath_View
           (Q_Graphics_Item_Director'Class (Self.all).Shape));
   end shape_0_dispatch;

   -----------
   -- Shape --
   -----------

   overriding
   function Shape
    (Self : not null access constant Q_Graphics_Item_Director)
       return Qt4.Painter_Paths.Q_Painter_Path
   is
      Returns : Qt4.Painter_Paths.Q_Painter_Path;

   begin
      shape_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Qt4.Painter_Paths.Internals.QPainterPath_View (Returns));

      return Returns;
   end Shape;

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

   procedure contextMenuEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Context_Menu_Event
       (Qt4.Graphics_Scene_Context_Menu_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Context_Menu_Events.Q_Graphics_Scene_Context_Menu_Event'Class)
   is
   begin
      contextMenuEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Context_Menu_Event;

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

   procedure dragEnterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Drag_Enter_Event
       (Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_Event'Class)
   is
   begin
      dragEnterEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Drag_Enter_Event;

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

   procedure dragLeaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Drag_Leave_Event
       (Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_Event'Class)
   is
   begin
      dragLeaveEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Drag_Leave_Event;

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

   procedure dragMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Drag_Move_Event
       (Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_Event'Class)
   is
   begin
      dragMoveEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Drag_Move_Event;

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

   procedure dropEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Drop_Event
       (Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Drag_Drop_Events.Q_Graphics_Scene_Drag_Drop_Event'Class)
   is
   begin
      dropEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Drop_Event;

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

   procedure focusInEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_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_Graphics_Item_Director;
     Event : not null access Qt4.Focus_Events.Q_Focus_Event'Class)
   is
   begin
      focusInEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Focus_In_Event;

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

   procedure focusOutEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_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_Graphics_Item_Director;
     Event : not null access Qt4.Focus_Events.Q_Focus_Event'Class)
   is
   begin
      focusOutEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Focus_Out_Event;

   --------------------------------
   -- hoverEnterEvent_0_dispatch --
   --------------------------------

   procedure hoverEnterEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Hover_Enter_Event
       (Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end hoverEnterEvent_0_dispatch;

   -----------------------
   -- Hover_Enter_Event --
   -----------------------

   not overriding
   procedure Hover_Enter_Event
    (Self : not null access Q_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class)
   is
   begin
      hoverEnterEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Hover_Enter_Event;

   -------------------------------
   -- hoverMoveEvent_0_dispatch --
   -------------------------------

   procedure hoverMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Hover_Move_Event
       (Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end hoverMoveEvent_0_dispatch;

   ----------------------
   -- Hover_Move_Event --
   ----------------------

   not overriding
   procedure Hover_Move_Event
    (Self : not null access Q_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class)
   is
   begin
      hoverMoveEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Hover_Move_Event;

   --------------------------------
   -- hoverLeaveEvent_0_dispatch --
   --------------------------------

   procedure hoverLeaveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Hover_Leave_Event
       (Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access);
   end hoverLeaveEvent_0_dispatch;

   -----------------------
   -- Hover_Leave_Event --
   -----------------------

   not overriding
   procedure Hover_Leave_Event
    (Self : not null access Q_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Hover_Events.Q_Graphics_Scene_Hover_Event'Class)
   is
   begin
      hoverLeaveEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Hover_Leave_Event;

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

   procedure inputMethodEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_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_Graphics_Item_Director;
     Event : not null access Qt4.Input_Method_Events.Q_Input_Method_Event'Class)
   is
   begin
      inputMethodEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Input_Method_Event;

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

   function inputMethodQuery_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_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_Graphics_Item_Director'Class (Self.all).Input_Method_Query
             (Query)));
   end inputMethodQuery_0_dispatch;

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

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

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

      return Returns;
   end Input_Method_Query;

   ---------------------------
   -- itemChange_0_dispatch --
   ---------------------------

   function itemChange_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Change : Qt4.Graphics_Items.Graphics_Item_Graphics_Item_Change;
     Value : not null access Qt4.Variants.Internals.QVariant)
       return not null access Qt4.Variants.Internals.QVariant
   is
   begin
      return
        Qt4.Variants.Thin.copy_QVariant
         (Qt4.Variants.Internals.QVariant_View
           (Q_Graphics_Item_Director'Class (Self.all).Item_Change
             (Change,
              Qt4.Variants.Internals.Create_Wrapper (Qt4.Variants.Internals.QVariant_Access (Value)))));
   end itemChange_0_dispatch;

   -----------------
   -- Item_Change --
   -----------------

   not overriding
   function Item_Change
    (Self : not null access Q_Graphics_Item_Director;
     Change : Qt4.Graphics_Items.Graphics_Item_Graphics_Item_Change;
     Value : Qt4.Variants.Q_Variant)
       return Qt4.Variants.Q_Variant
   is
      Returns : Qt4.Variants.Q_Variant;

   begin
      itemChange_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Change,
        Qt4.Variants.Internals.QVariant_View (Value),
        Qt4.Variants.Internals.QVariant_View (Returns));

      return Returns;
   end Item_Change;

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

   procedure keyPressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_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_Graphics_Item_Director;
     Event : not null access Qt4.Key_Events.Q_Key_Event'Class)
   is
   begin
      keyPressEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Key_Press_Event;

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

   procedure keyReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_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_Graphics_Item_Director;
     Event : not null access Qt4.Key_Events.Q_Key_Event'Class)
   is
   begin
      keyReleaseEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Key_Release_Event;

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

   procedure mouseDoubleClickEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Mouse_Double_Click_Event
       (Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_Mouse_Event'Class)
   is
   begin
      mouseDoubleClickEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Mouse_Double_Click_Event;

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

   procedure mouseMoveEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Mouse_Move_Event
       (Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_Mouse_Event'Class)
   is
   begin
      mouseMoveEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Mouse_Move_Event;

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

   procedure mousePressEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Mouse_Press_Event
       (Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_Mouse_Event'Class)
   is
   begin
      mousePressEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Mouse_Press_Event;

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

   procedure mouseReleaseEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Mouse_Release_Event
       (Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Mouse_Events.Q_Graphics_Scene_Mouse_Event'Class)
   is
   begin
      mouseReleaseEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Mouse_Release_Event;

   -----------------------------
   -- Prepare_Geometry_Change --
   -----------------------------

   not overriding
   procedure Prepare_Geometry_Change
    (Self : not null access Q_Graphics_Item_Director)
   is
   begin
      prepareGeometryChange_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View);
   end Prepare_Geometry_Change;

   ---------------------------
   -- sceneEvent_0_dispatch --
   ---------------------------

   function sceneEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Scene_Event
           (Qt4.Events.Q_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access));
   end sceneEvent_0_dispatch;

   -----------------
   -- Scene_Event --
   -----------------

   not overriding
   function Scene_Event
    (Self : not null access Q_Graphics_Item_Director;
     Event : not null access Qt4.Events.Q_Event'Class)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (sceneEvent_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Event.QEvent_View));
   end Scene_Event;

   ---------------------------------
   -- sceneEventFilter_0_dispatch --
   ---------------------------------

   function sceneEventFilter_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Watched : not null access Qt_Ada.Internals.Graphics_Items.QGraphicsItem;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Graphics_Item_Director'Class (Self.all).Scene_Event_Filter
           (Qt4.Graphics_Items.Q_Graphics_Item'Class (Qt_Ada.Internals.Graphics_Item_Registry.To_Q_Graphics_Item (Watched).all)'Access,
            Qt4.Events.Q_Event'Class (Qt_Ada.Internals.Events.Registry.Create_Wrapper (Event).all)'Access));
   end sceneEventFilter_0_dispatch;

   ------------------------
   -- Scene_Event_Filter --
   ------------------------

   not overriding
   function Scene_Event_Filter
    (Self : not null access Q_Graphics_Item_Director;
     Watched : not null access Qt4.Graphics_Items.Q_Graphics_Item'Class;
     Event : not null access Qt4.Events.Q_Event'Class)
       return Standard.Boolean
   is
   begin
      return
        Qt4.To_Boolean
         (sceneEventFilter_0_wrapper
           (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
            Watched.QGraphicsItem_View,
            Event.QEvent_View));
   end Scene_Event_Filter;

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

   procedure wheelEvent_0_dispatch
    (Self : not null Qt_Ada.Internals.Graphics_Items.Q_Graphics_Item_Base_Access;
     Event : not null access Qt_Ada.Internals.Events.QEvent)
   is
   begin
      Q_Graphics_Item_Director'Class (Self.all).Wheel_Event
       (Qt4.Graphics_Scene_Wheel_Events.Q_Graphics_Scene_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_Graphics_Item_Director;
     Event : not null access Qt4.Graphics_Scene_Wheel_Events.Q_Graphics_Scene_Wheel_Event'Class)
   is
   begin
      wheelEvent_0_wrapper
       (Q_Graphics_Item_Director'Class (Self.all).QGraphicsItem_View,
        Event.QEvent_View);
   end Wheel_Event;

end Qt4.Graphics_Items.Directors;
