------------------------------------------------------------------------------
--                                                                          --
--                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.Abstract_Item_Models;
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.Item_Selection_Models;
with Qt4.Key_Events;
with Qt4.Mouse_Events;
with Qt4.Move_Events;
with Qt4.Objects;
with Qt4.Paint_Events;
with Qt4.Resize_Events;
with Qt4.Show_Events;
with Qt4.Style_Options;
with Qt4.Tablet_Events;
with Qt4.Timer_Events;
with Qt4.Wheel_Events;
with Qt4.Widgets;
with Qt_Ada.Internals.Events;
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.Abstract_Item_Views.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_QAbstractItemView_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_QAbstractItemView_qt_metacast_wrapper");

   function indexAt_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Point : not null access Qt4.Points.Internals.QPoint)
       return not null access Qt4.Model_Indices.Internals.QModelIndex;
   pragma Export (C, indexAt_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_indexAt_0_dispatch");
   pragma Warnings (Off, indexAt_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure keyboardSearch_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Search : not null access Qt4.Strings.Internals.QString);
   pragma Export (C, keyboardSearch_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_keyboardSearch_0_dispatch");
   pragma Warnings (Off, keyboardSearch_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure keyboardSearch_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Search : not null access constant Qt4.Strings.Internals.QString);
   pragma Import (C, keyboardSearch_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_keyboardSearch_0_wrapper");

   procedure scrollTo_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Hint : Qt4.Abstract_Item_Views.Abstract_Item_View_Scroll_Hint);
   pragma Export (C, scrollTo_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_scrollTo_0_dispatch");
   pragma Warnings (Off, scrollTo_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

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

   procedure setModel_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Model : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, setModel_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setModel_0_wrapper");

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

   procedure setSelectionModel_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Selection_Model : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, setSelectionModel_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setSelectionModel_0_wrapper");

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

   function sizeHintForColumn_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Column : Qt4.Q_Integer)
       return Qt4.Q_Integer;
   pragma Import (C, sizeHintForColumn_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_sizeHintForColumn_0_wrapper");

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

   function sizeHintForRow_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Row : Qt4.Q_Integer)
       return Qt4.Q_Integer;
   pragma Import (C, sizeHintForRow_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_sizeHintForRow_0_wrapper");

   function visualRect_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex)
       return not null access Qt4.Rects.Internals.QRect;
   pragma Export (C, visualRect_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_visualRect_0_dispatch");
   pragma Warnings (Off, visualRect_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

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

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

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

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

   procedure setRootIndex_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex);
   pragma Export (C, setRootIndex_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_setRootIndex_0_dispatch");
   pragma Warnings (Off, setRootIndex_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure setRootIndex_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, setRootIndex_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setRootIndex_0_wrapper");

   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_QAbstractItemView_inputMethodQuery_0_wrapper");

   procedure activated_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, activated_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_activated_0_wrapper");

   procedure clicked_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, clicked_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_clicked_0_wrapper");

   procedure doubleClicked_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, doubleClicked_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_doubleClicked_0_wrapper");

   procedure entered_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, entered_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_entered_0_wrapper");

   procedure pressed_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Index : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, pressed_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_pressed_0_wrapper");

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

   procedure dirtyRegionOffset_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Returns : not null access Qt4.Points.Internals.QPoint);
   pragma Import (C, dirtyRegionOffset_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_dirtyRegionOffset_0_wrapper");

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

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

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

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

   procedure scrollDirtyRegion_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Dx : Qt4.Q_Integer;
     Dy : Qt4.Q_Integer);
   pragma Import (C, scrollDirtyRegion_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_scrollDirtyRegion_0_wrapper");

   procedure setDirtyRegion_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Region : not null access constant Qt4.Regions.Internals.QRegion);
   pragma Import (C, setDirtyRegion_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setDirtyRegion_0_wrapper");

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

   function visualRegionForSelection_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Selection : not null access Qt4.Item_Selections.Thin.QItemSelection)
       return not null access Qt4.Regions.Internals.QRegion;
   pragma Export (C, visualRegionForSelection_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_visualRegionForSelection_0_dispatch");
   pragma Warnings (Off, visualRegionForSelection_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

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

   procedure commitData_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Editor : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, commitData_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_commitData_0_wrapper");

   procedure currentChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Current : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Previous : not null access Qt4.Model_Indices.Internals.QModelIndex);
   pragma Export (C, currentChanged_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_currentChanged_0_dispatch");
   pragma Warnings (Off, currentChanged_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure currentChanged_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Current : not null access constant Qt4.Model_Indices.Internals.QModelIndex;
     Previous : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, currentChanged_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_currentChanged_0_wrapper");

   procedure dataChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Top_Left : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Bottom_Right : not null access Qt4.Model_Indices.Internals.QModelIndex);
   pragma Export (C, dataChanged_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_dataChanged_0_dispatch");
   pragma Warnings (Off, dataChanged_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure dataChanged_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Top_Left : not null access constant Qt4.Model_Indices.Internals.QModelIndex;
     Bottom_Right : not null access constant Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import (C, dataChanged_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_dataChanged_0_wrapper");

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

   procedure editorDestroyed_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Editor : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, editorDestroyed_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_editorDestroyed_0_wrapper");

   procedure rowsAboutToBeRemoved_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Parent : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer);
   pragma Export (C, rowsAboutToBeRemoved_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_rowsAboutToBeRemoved_0_dispatch");
   pragma Warnings (Off, rowsAboutToBeRemoved_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure rowsAboutToBeRemoved_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Parent : not null access constant Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer);
   pragma Import (C, rowsAboutToBeRemoved_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_rowsAboutToBeRemoved_0_wrapper");

   procedure rowsInserted_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Parent : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer);
   pragma Export (C, rowsInserted_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_rowsInserted_0_dispatch");
   pragma Warnings (Off, rowsInserted_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure rowsInserted_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Parent : not null access constant Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer);
   pragma Import (C, rowsInserted_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_rowsInserted_0_wrapper");

   procedure selectionChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Selected : not null access Qt4.Item_Selections.Thin.QItemSelection;
     Deselected : not null access Qt4.Item_Selections.Thin.QItemSelection);
   pragma Export (C, selectionChanged_0_dispatch,
                     "__Qt4Ada_QAbstractItemView_selectionChanged_0_dispatch");
   pragma Warnings (Off, selectionChanged_0_dispatch);
   --  GCC GNAT 4.3.0: suppress warning
   --  is a tagged type which does not correspond to any C type

   procedure selectionChanged_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Selected : not null access constant Qt4.Item_Selections.Thin.QItemSelection;
     Deselected : not null access constant Qt4.Item_Selections.Thin.QItemSelection);
   pragma Import (C, selectionChanged_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_selectionChanged_0_wrapper");

   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_QAbstractItemView_dragEnterEvent_0_wrapper");

   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_QAbstractItemView_dragLeaveEvent_0_wrapper");

   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_QAbstractItemView_dragMoveEvent_0_wrapper");

   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_QAbstractItemView_dropEvent_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_QAbstractItemView_event_0_wrapper");

   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_QAbstractItemView_focusInEvent_0_wrapper");

   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_QAbstractItemView_focusNextPrevChild_0_wrapper");

   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_QAbstractItemView_focusOutEvent_0_wrapper");

   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_QAbstractItemView_inputMethodEvent_0_wrapper");

   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_QAbstractItemView_keyPressEvent_0_wrapper");

   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_QAbstractItemView_mouseDoubleClickEvent_0_wrapper");

   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_QAbstractItemView_mouseMoveEvent_0_wrapper");

   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_QAbstractItemView_mousePressEvent_0_wrapper");

   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_QAbstractItemView_mouseReleaseEvent_0_wrapper");

   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_QAbstractItemView_resizeEvent_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_QAbstractItemView_timerEvent_0_wrapper");

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

   procedure setupViewport_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Viewport : not null access Qt_Ada.Internals.Objects.QObject);
   pragma Import (C, setupViewport_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setupViewport_0_wrapper");

   procedure scrollContentsBy_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Dx : Qt4.Q_Integer;
     Dy : Qt4.Q_Integer);
   pragma Import (C, scrollContentsBy_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_scrollContentsBy_0_wrapper");

   procedure setViewportMargins_0_wrapper
    (Self : not null access Qt_Ada.Internals.Objects.QObject;
     Left : Qt4.Q_Integer;
     Top : Qt4.Q_Integer;
     Right : Qt4.Q_Integer;
     Bottom : Qt4.Q_Integer);
   pragma Import (C, setViewportMargins_0_wrapper,
                     "__Qt4Ada_QAbstractItemView_setViewportMargins_0_wrapper");

   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_QAbstractItemView_paintEvent_0_wrapper");

   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_QAbstractItemView_wheelEvent_0_wrapper");

   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_QAbstractItemView_contextMenuEvent_0_wrapper");

   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_QAbstractItemView_changeEvent_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_QAbstractItemView_customContextMenuRequested_0_wrapper");

   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_QAbstractItemView_actionEvent_0_wrapper");

   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_QAbstractItemView_closeEvent_0_wrapper");

   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_QAbstractItemView_enterEvent_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_QAbstractItemView_focusNextChild_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_QAbstractItemView_focusPreviousChild_0_wrapper");

   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_QAbstractItemView_hideEvent_0_wrapper");

   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_QAbstractItemView_keyReleaseEvent_0_wrapper");

   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_QAbstractItemView_leaveEvent_0_wrapper");

   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_QAbstractItemView_moveEvent_0_wrapper");

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

   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_QAbstractItemView_showEvent_0_wrapper");

   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_QAbstractItemView_tabletEvent_0_wrapper");

   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_QAbstractItemView_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_QAbstractItemView_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_QAbstractItemView_customEvent_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_QAbstractItemView_sender_0_wrapper");

   procedure moveCursor_virtual
    (Self   : not null access Qt_Ada.Internals.Objects.QObject;
     Action : Cursor_Action;
     Hint   : Keyboard_Modifiers;
     Result : not null access Qt4.Model_Indices.Internals.QModelIndex);
   pragma Import
    (C, moveCursor_virtual, "__Qt4Ada_QAbstractItemView_moveCursor_virtual");

   procedure setSelection_virtual
    (Self  : not null access Qt_Ada.Internals.Objects.QObject;
     Rect  : not null access Qt4.Rects.Internals.QRect;
     Flags : Qt4.Item_Selection_Models.Selection_Flags);
   pragma Import (C,
                  setSelection_virtual,
                  "__Qt4Ada_QAbstractItemView_setSelection_virtual");

   procedure viewOptions_wrapper
    (Self   : not null access Qt_Ada.Internals.Objects.QObject;
     Result : not null access Qt4.Style_Options.Thin.QStyleOption);
   pragma Import
    (C, viewOptions_wrapper, "__Qt4Ada_QAbstractItemView_viewOptions_wrapper");

   function edit_with_trigger_dispatch
    (Self    : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index   : Qt4.Model_Indices.Internals.QModelIndex_Access;
     Trigger : Edit_Trigger;
     Event   : access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Export (C,
                  edit_with_trigger_dispatch,
                  "__Qt4Ada_QAbstractItemView_edit_with_trigger_dispatch");
   pragma Warnings (Off, edit_with_trigger_dispatch);

   function edit_with_trigger_wrapper
    (Self    : not null access Qt_Ada.Internals.Objects.QObject;
     Index   : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Trigger : Edit_Trigger;
     Event   : access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool;
   pragma Import (C,
                  edit_with_trigger_wrapper,
                  "__Qt4Ada_QAbstractItemView_edit_with_trigger_wrapper");
   pragma Warnings (Off, edit_with_trigger_wrapper);

   function moveCursor_dispatch
    (Self   : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Action : Cursor_Action;
     Hint   : Keyboard_Modifiers)
       return not null access Qt4.Model_Indices.Internals.QModelIndex;
   pragma Export (C,
                  moveCursor_dispatch,
                  "__Qt4Ada_QAbstractItemView_moveCursor_dispatch");
   pragma Warnings (Off, moveCursor_dispatch);

   procedure setSelection_dispatch
    (Self  : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Rect  : not null access Qt4.Rects.Internals.QRect;
     Flags : Qt4.Item_Selection_Models.Selection_Flags);
   pragma Export (C,
                  setSelection_dispatch,
                  "__Qt4Ada_QAbstractItemView_setSelection_dispatch");
   pragma Warnings (Off, setSelection_dispatch);

   function viewOptions_dispatch
    (Self   : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Style_Options.Thin.QStyleOption;
   pragma Export (C,
                  viewOptions_dispatch,
                  "__Qt4Ada_QAbstractItemView_viewOptions_dispatch");
   pragma Warnings (Off, viewOptions_dispatch);

   ----------
   -- Edit --
   ----------

   not overriding
   function Edit (Self    : not null access Q_Abstract_Item_View_Director;
                  Index   : Qt4.Model_Indices.Q_Model_Index;
                  Trigger : Edit_Trigger;
                  Event   : access Qt4.Events.Q_Event'Class)
     return Boolean
   is
   begin
      if Event = null then
         return
           Qt4.To_Boolean
            (edit_with_trigger_wrapper
              (Self.QObject_View,
               Qt4.Model_Indices.Internals.QModelIndex_View (Index),
               Trigger,
               null));

      else
         return
           Qt4.To_Boolean
            (edit_with_trigger_wrapper
              (Self.QObject_View,
               Qt4.Model_Indices.Internals.QModelIndex_View (Index),
               Trigger,
               Event.QEvent_View));
      end if;
   end Edit;

   --------------------------------
   -- edit_with_trigger_dispatch --
   --------------------------------

   function edit_with_trigger_dispatch
    (Self    : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index   : Qt4.Model_Indices.Internals.QModelIndex_Access;
     Trigger : Edit_Trigger;
     Event   : access Qt_Ada.Internals.Events.QEvent)
       return Qt4.bool
   is
   begin
      return Qt4.To_bool
              (Q_Abstract_Item_View_Director'Class (Self.all).Edit
               (Qt4.Model_Indices.Internals.Create_Wrapper (Index),
                Trigger,
                Qt4.Events.Internals.Create_Null_Wrapper (Event)));
   end edit_with_trigger_dispatch;

   -------------------------
   -- moveCursor_dispatch --
   -------------------------

   function moveCursor_dispatch
    (Self   : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Action : Cursor_Action;
     Hint   : Keyboard_Modifiers)
       return not null access Qt4.Model_Indices.Internals.QModelIndex
   is
   begin
      return Qt4.Model_Indices.Internals.QModelIndex_View
              (Q_Abstract_Item_View_Director'Class (Self.all).Move_Cursor
                (Action, Hint));
   end moveCursor_dispatch;

   ---------------------------
   -- setSelection_dispatch --
   ---------------------------

   procedure setSelection_dispatch
    (Self  : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Rect  : not null access Qt4.Rects.Internals.QRect;
     Flags : Qt4.Item_Selection_Models.Selection_Flags)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Set_Selection
       (Qt4.Rects.Internals.Create_Wrapper
         (Qt4.Rects.Internals.QRect_Access (Rect)),
        Flags);
   end setSelection_dispatch;

   ------------------
   -- View_Options --
   ------------------

   not overriding
   function View_Options
    (Self : not null access constant Q_Abstract_Item_View_Director)
       return Qt4.Style_Option_View_Items.Q_Style_Option_View_Item
   is
   begin
      return Result :
        Qt4.Style_Option_View_Items.Q_Style_Option_View_Item
      do
         viewOptions_wrapper
          (Self.QObject_View,
           Qt4.Style_Options.Internals.QStyleOption_View (Result));
      end return;
   end View_Options;

   --------------------------
   -- viewOptions_dispatch --
   --------------------------

   function viewOptions_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return not null access Qt4.Style_Options.Thin.QStyleOption
   is
   begin
      return
        Qt4.Style_Options.Thin.copy_QStyleOption
         (Qt4.Style_Options.Internals.QStyleOption_View
           (Q_Abstract_Item_View_Director'Class (Self.all).View_Options));
   end viewOptions_dispatch;

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

   package body Constructors is

      function new_QAbstractItemViewDirector
       (Object : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
        Parent : access Qt_Ada.Internals.Objects.QObject)
          return not null Qt_Ada.Internals.Objects.QObject_Access;
      pragma Import (C,
                     new_QAbstractItemViewDirector,
                     "__Qt4Ada_new_QAbstractItemViewDirector");
      pragma Warnings (Off, new_QAbstractItemViewDirector);

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

      procedure Initialize
       (Self   : not null access Q_Abstract_Item_View_Director'Class;
        Parent : access Qt4.Widgets.Q_Widget'Class := null)
      is
         Director : constant not null Qt_Ada.Internals.Objects.QObject_Access
           := new_QAbstractItemViewDirector
               (Qt_Ada.Internals.Objects.Q_Object_Base_Access (Self),
                Qt_Ada.Internals.Objects.Object_Utilities.Corresponding_QObject
                 (Parent));

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

   end Constructors;

   pragma Style_Checks ("N");

   ------------------------
   -- indexAt_0_dispatch --
   ------------------------

   function indexAt_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Point : not null access Qt4.Points.Internals.QPoint)
       return not null access Qt4.Model_Indices.Internals.QModelIndex
   is
   begin
      return
        Qt4.Model_Indices.Thin.copy_QModelIndex
         (Qt4.Model_Indices.Internals.QModelIndex_View
           (Q_Abstract_Item_View_Director'Class (Self.all).Index_At
             (Qt4.Points.Internals.Create_Wrapper (Qt4.Points.Internals.QPoint_Access (Point)))));
   end indexAt_0_dispatch;

   -------------------------------
   -- keyboardSearch_0_dispatch --
   -------------------------------

   procedure keyboardSearch_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Search : not null access Qt4.Strings.Internals.QString)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Keyboard_Search
       (Qt4.Strings.Internals.Create_Wrapper (Qt4.Strings.Internals.QString_Access (Search)));
   end keyboardSearch_0_dispatch;

   ---------------------
   -- Keyboard_Search --
   ---------------------

   overriding
   procedure Keyboard_Search
    (Self : not null access Q_Abstract_Item_View_Director;
     Search : Qt4.Strings.Q_String)
   is
   begin
      keyboardSearch_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Strings.Internals.QString_View (Search));
   end Keyboard_Search;

   -------------------------
   -- scrollTo_0_dispatch --
   -------------------------

   procedure scrollTo_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Hint : Qt4.Abstract_Item_Views.Abstract_Item_View_Scroll_Hint)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Scroll_To
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Index)),
        Hint);
   end scrollTo_0_dispatch;

   -------------------------
   -- setModel_0_dispatch --
   -------------------------

   procedure setModel_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Model : not null access Qt_Ada.Internals.Objects.QObject)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Set_Model
       (Qt4.Abstract_Item_Models.Q_Abstract_Item_Model'Class (Qt_Ada.Internals.Object_Registry.To_Q_Object (Model).all)'Access);
   end setModel_0_dispatch;

   ---------------
   -- Set_Model --
   ---------------

   overriding
   procedure Set_Model
    (Self : not null access Q_Abstract_Item_View_Director;
     Model : not null access Qt4.Abstract_Item_Models.Q_Abstract_Item_Model'Class)
   is
   begin
      setModel_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Model.QObject_View);
   end Set_Model;

   ----------------------------------
   -- setSelectionModel_0_dispatch --
   ----------------------------------

   procedure setSelectionModel_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Selection_Model : not null access Qt_Ada.Internals.Objects.QObject)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Set_Selection_Model
       (Qt4.Item_Selection_Models.Q_Item_Selection_Model'Class (Qt_Ada.Internals.Object_Registry.To_Q_Object (Selection_Model).all)'Access);
   end setSelectionModel_0_dispatch;

   -------------------------
   -- Set_Selection_Model --
   -------------------------

   overriding
   procedure Set_Selection_Model
    (Self : not null access Q_Abstract_Item_View_Director;
     Selection_Model : not null access Qt4.Item_Selection_Models.Q_Item_Selection_Model'Class)
   is
   begin
      setSelectionModel_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Selection_Model.QObject_View);
   end Set_Selection_Model;

   ----------------------------------
   -- sizeHintForColumn_0_dispatch --
   ----------------------------------

   function sizeHintForColumn_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Column : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Abstract_Item_View_Director'Class (Self.all).Size_Hint_For_Column
         (Column);
   end sizeHintForColumn_0_dispatch;

   --------------------------
   -- Size_Hint_For_Column --
   --------------------------

   overriding
   function Size_Hint_For_Column
    (Self : not null access constant Q_Abstract_Item_View_Director;
     Column : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        sizeHintForColumn_0_wrapper
         (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
          Column);
   end Size_Hint_For_Column;

   -------------------------------
   -- sizeHintForRow_0_dispatch --
   -------------------------------

   function sizeHintForRow_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Row : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Abstract_Item_View_Director'Class (Self.all).Size_Hint_For_Row
         (Row);
   end sizeHintForRow_0_dispatch;

   -----------------------
   -- Size_Hint_For_Row --
   -----------------------

   overriding
   function Size_Hint_For_Row
    (Self : not null access constant Q_Abstract_Item_View_Director;
     Row : Qt4.Q_Integer)
       return Qt4.Q_Integer
   is
   begin
      return
        sizeHintForRow_0_wrapper
         (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
          Row);
   end Size_Hint_For_Row;

   ---------------------------
   -- visualRect_0_dispatch --
   ---------------------------

   function visualRect_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex)
       return not null access Qt4.Rects.Internals.QRect
   is
   begin
      return
        Qt4.Rects.Thin.copy_QRect
         (Qt4.Rects.Internals.QRect_View
           (Q_Abstract_Item_View_Director'Class (Self.all).Visual_Rect
             (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Index)))));
   end visualRect_0_dispatch;

   ----------------------
   -- reset_0_dispatch --
   ----------------------

   procedure reset_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Reset;
   end reset_0_dispatch;

   -----------
   -- Reset --
   -----------

   overriding
   procedure Reset
    (Self : not null access Q_Abstract_Item_View_Director)
   is
   begin
      reset_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View);
   end Reset;

   --------------------------
   -- selectAll_0_dispatch --
   --------------------------

   procedure selectAll_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Select_All;
   end selectAll_0_dispatch;

   ----------------
   -- Select_All --
   ----------------

   overriding
   procedure Select_All
    (Self : not null access Q_Abstract_Item_View_Director)
   is
   begin
      selectAll_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View);
   end Select_All;

   -----------------------------
   -- setRootIndex_0_dispatch --
   -----------------------------

   procedure setRootIndex_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Set_Root_Index
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Index)));
   end setRootIndex_0_dispatch;

   --------------------
   -- Set_Root_Index --
   --------------------

   overriding
   procedure Set_Root_Index
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      setRootIndex_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Set_Root_Index;

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

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

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

      return Returns;
   end Input_Method_Query;

   --------------------
   -- Emit_Activated --
   --------------------

   not overriding
   procedure Emit_Activated
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      activated_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Emit_Activated;

   ------------------
   -- Emit_Clicked --
   ------------------

   not overriding
   procedure Emit_Clicked
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      clicked_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Emit_Clicked;

   -------------------------
   -- Emit_Double_Clicked --
   -------------------------

   not overriding
   procedure Emit_Double_Clicked
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      doubleClicked_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Emit_Double_Clicked;

   ------------------
   -- Emit_Entered --
   ------------------

   not overriding
   procedure Emit_Entered
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      entered_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Emit_Entered;

   ------------------
   -- Emit_Pressed --
   ------------------

   not overriding
   procedure Emit_Pressed
    (Self : not null access Q_Abstract_Item_View_Director;
     Index : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      pressed_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Index));
   end Emit_Pressed;

   ---------------------------
   -- Emit_Viewport_Entered --
   ---------------------------

   not overriding
   procedure Emit_Viewport_Entered
    (Self : not null access Q_Abstract_Item_View_Director)
   is
   begin
      viewportEntered_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View);
   end Emit_Viewport_Entered;

   -------------------------
   -- Dirty_Region_Offset --
   -------------------------

   not overriding
   function Dirty_Region_Offset
    (Self : not null access constant Q_Abstract_Item_View_Director)
       return Qt4.Points.Q_Point
   is
      Returns : Qt4.Points.Q_Point;

   begin
      dirtyRegionOffset_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Points.Internals.QPoint_View (Returns));

      return Returns;
   end Dirty_Region_Offset;

   ----------------------------------
   -- Execute_Delayed_Items_Layout --
   ----------------------------------

   not overriding
   procedure Execute_Delayed_Items_Layout
    (Self : not null access Q_Abstract_Item_View_Director)
   is
   begin
      executeDelayedItemsLayout_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View);
   end Execute_Delayed_Items_Layout;

   ---------------------------------
   -- horizontalOffset_0_dispatch --
   ---------------------------------

   function horizontalOffset_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Abstract_Item_View_Director'Class (Self.all).Horizontal_Offset;
   end horizontalOffset_0_dispatch;

   ------------------------------
   -- isIndexHidden_0_dispatch --
   ------------------------------

   function isIndexHidden_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Index : not null access Qt4.Model_Indices.Internals.QModelIndex)
       return Qt4.bool
   is
   begin
      return
        Qt4.To_bool
         (Q_Abstract_Item_View_Director'Class (Self.all).Is_Index_Hidden
           (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Index))));
   end isIndexHidden_0_dispatch;

   -----------------------------------
   -- Schedule_Delayed_Items_Layout --
   -----------------------------------

   not overriding
   procedure Schedule_Delayed_Items_Layout
    (Self : not null access Q_Abstract_Item_View_Director)
   is
   begin
      scheduleDelayedItemsLayout_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View);
   end Schedule_Delayed_Items_Layout;

   -------------------------
   -- Scroll_Dirty_Region --
   -------------------------

   not overriding
   procedure Scroll_Dirty_Region
    (Self : not null access Q_Abstract_Item_View_Director;
     Dx : Qt4.Q_Integer;
     Dy : Qt4.Q_Integer)
   is
   begin
      scrollDirtyRegion_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Dx,
        Dy);
   end Scroll_Dirty_Region;

   ----------------------
   -- Set_Dirty_Region --
   ----------------------

   not overriding
   procedure Set_Dirty_Region
    (Self : not null access Q_Abstract_Item_View_Director;
     Region : Qt4.Regions.Q_Region)
   is
   begin
      setDirtyRegion_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Regions.Internals.QRegion_View (Region));
   end Set_Dirty_Region;

   -------------------------------
   -- verticalOffset_0_dispatch --
   -------------------------------

   function verticalOffset_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access)
       return Qt4.Q_Integer
   is
   begin
      return
        Q_Abstract_Item_View_Director'Class (Self.all).Vertical_Offset;
   end verticalOffset_0_dispatch;

   -----------------------------------------
   -- visualRegionForSelection_0_dispatch --
   -----------------------------------------

   function visualRegionForSelection_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Selection : not null access Qt4.Item_Selections.Thin.QItemSelection)
       return not null access Qt4.Regions.Internals.QRegion
   is
   begin
      return
        Qt4.Regions.Thin.copy_QRegion
         (Qt4.Regions.Internals.QRegion_View
           (Q_Abstract_Item_View_Director'Class (Self.all).Visual_Region_For_Selection
             (Qt4.Item_Selections.Internals.To_Q_Item_Selection (Selection))));
   end visualRegionForSelection_0_dispatch;

   ---------------------------
   -- commitData_0_dispatch --
   ---------------------------

   procedure commitData_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Editor : not null access Qt_Ada.Internals.Objects.QObject)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Commit_Data
       (Qt4.Widgets.Q_Widget'Class (Qt_Ada.Internals.Object_Registry.To_Q_Object (Editor).all)'Access);
   end commitData_0_dispatch;

   -----------------
   -- Commit_Data --
   -----------------

   not overriding
   procedure Commit_Data
    (Self : not null access Q_Abstract_Item_View_Director;
     Editor : not null access Qt4.Widgets.Q_Widget'Class)
   is
   begin
      commitData_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Editor.QObject_View);
   end Commit_Data;

   -------------------------------
   -- currentChanged_0_dispatch --
   -------------------------------

   procedure currentChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Current : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Previous : not null access Qt4.Model_Indices.Internals.QModelIndex)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Current_Changed
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Current)),
        Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Previous)));
   end currentChanged_0_dispatch;

   ---------------------
   -- Current_Changed --
   ---------------------

   not overriding
   procedure Current_Changed
    (Self : not null access Q_Abstract_Item_View_Director;
     Current : Qt4.Model_Indices.Q_Model_Index;
     Previous : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      currentChanged_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Current),
        Qt4.Model_Indices.Internals.QModelIndex_View (Previous));
   end Current_Changed;

   ----------------------------
   -- dataChanged_0_dispatch --
   ----------------------------

   procedure dataChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Top_Left : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Bottom_Right : not null access Qt4.Model_Indices.Internals.QModelIndex)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Data_Changed
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Top_Left)),
        Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Bottom_Right)));
   end dataChanged_0_dispatch;

   ------------------
   -- Data_Changed --
   ------------------

   not overriding
   procedure Data_Changed
    (Self : not null access Q_Abstract_Item_View_Director;
     Top_Left : Qt4.Model_Indices.Q_Model_Index;
     Bottom_Right : Qt4.Model_Indices.Q_Model_Index)
   is
   begin
      dataChanged_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Top_Left),
        Qt4.Model_Indices.Internals.QModelIndex_View (Bottom_Right));
   end Data_Changed;

   --------------------------------
   -- editorDestroyed_0_dispatch --
   --------------------------------

   procedure editorDestroyed_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Editor : not null access Qt_Ada.Internals.Objects.QObject)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Editor_Destroyed
       (Qt4.Objects.Q_Object'Class (Qt_Ada.Internals.Object_Registry.To_Q_Object (Editor).all)'Access);
   end editorDestroyed_0_dispatch;

   ----------------------
   -- Editor_Destroyed --
   ----------------------

   not overriding
   procedure Editor_Destroyed
    (Self : not null access Q_Abstract_Item_View_Director;
     Editor : not null access Qt4.Objects.Q_Object'Class)
   is
   begin
      editorDestroyed_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Editor.QObject_View);
   end Editor_Destroyed;

   -------------------------------------
   -- rowsAboutToBeRemoved_0_dispatch --
   -------------------------------------

   procedure rowsAboutToBeRemoved_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Parent : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Rows_About_To_Be_Removed
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Parent)),
        Start,
        Stop);
   end rowsAboutToBeRemoved_0_dispatch;

   ------------------------------
   -- Rows_About_To_Be_Removed --
   ------------------------------

   not overriding
   procedure Rows_About_To_Be_Removed
    (Self : not null access Q_Abstract_Item_View_Director;
     Parent : Qt4.Model_Indices.Q_Model_Index;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer)
   is
   begin
      rowsAboutToBeRemoved_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Parent),
        Start,
        Stop);
   end Rows_About_To_Be_Removed;

   -----------------------------
   -- rowsInserted_0_dispatch --
   -----------------------------

   procedure rowsInserted_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Parent : not null access Qt4.Model_Indices.Internals.QModelIndex;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Rows_Inserted
       (Qt4.Model_Indices.Internals.Create_Wrapper (Qt4.Model_Indices.Internals.QModelIndex_Access (Parent)),
        Start,
        Stop);
   end rowsInserted_0_dispatch;

   -------------------
   -- Rows_Inserted --
   -------------------

   not overriding
   procedure Rows_Inserted
    (Self : not null access Q_Abstract_Item_View_Director;
     Parent : Qt4.Model_Indices.Q_Model_Index;
     Start : Qt4.Q_Integer;
     Stop : Qt4.Q_Integer)
   is
   begin
      rowsInserted_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Model_Indices.Internals.QModelIndex_View (Parent),
        Start,
        Stop);
   end Rows_Inserted;

   ---------------------------------
   -- selectionChanged_0_dispatch --
   ---------------------------------

   procedure selectionChanged_0_dispatch
    (Self : not null Qt_Ada.Internals.Objects.Q_Object_Base_Access;
     Selected : not null access Qt4.Item_Selections.Thin.QItemSelection;
     Deselected : not null access Qt4.Item_Selections.Thin.QItemSelection)
   is
   begin
      Q_Abstract_Item_View_Director'Class (Self.all).Selection_Changed
       (Qt4.Item_Selections.Internals.To_Q_Item_Selection (Selected),
        Qt4.Item_Selections.Internals.To_Q_Item_Selection (Deselected));
   end selectionChanged_0_dispatch;

   -----------------------
   -- Selection_Changed --
   -----------------------

   not overriding
   procedure Selection_Changed
    (Self : not null access Q_Abstract_Item_View_Director;
     Selected : Qt4.Item_Selections.Q_Item_Selection;
     Deselected : Qt4.Item_Selections.Q_Item_Selection)
   is
   begin
      selectionChanged_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Qt4.Item_Selections.Internals.QItemSelection_View (Selected),
        Qt4.Item_Selections.Internals.QItemSelection_View (Deselected));
   end Selection_Changed;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   --------------------
   -- Viewport_Event --
   --------------------

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

   --------------------
   -- Setup_Viewport --
   --------------------

   overriding
   procedure Setup_Viewport
    (Self : not null access Q_Abstract_Item_View_Director;
     Viewport : not null access Qt4.Widgets.Q_Widget'Class)
   is
   begin
      setupViewport_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Viewport.QObject_View);
   end Setup_Viewport;

   ------------------------
   -- Scroll_Contents_By --
   ------------------------

   overriding
   procedure Scroll_Contents_By
    (Self : not null access Q_Abstract_Item_View_Director;
     Dx : Qt4.Q_Integer;
     Dy : Qt4.Q_Integer)
   is
   begin
      scrollContentsBy_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Dx,
        Dy);
   end Scroll_Contents_By;

   --------------------------
   -- Set_Viewport_Margins --
   --------------------------

   overriding
   procedure Set_Viewport_Margins
    (Self : not null access Q_Abstract_Item_View_Director;
     Left : Qt4.Q_Integer;
     Top : Qt4.Q_Integer;
     Right : Qt4.Q_Integer;
     Bottom : Qt4.Q_Integer)
   is
   begin
      setViewportMargins_0_wrapper
       (Q_Abstract_Item_View_Director'Class (Self.all).QObject_View,
        Left,
        Top,
        Right,
        Bottom);
   end Set_Viewport_Margins;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

end Qt4.Abstract_Item_Views.Directors;
