------------------------------------------------------------------------------
--                                                                          --
--                An Ada2005 binding to the Qt C++ framework                --
--                                                                          --
------------------------------------------------------------------------------
--                                                                          --
-- Copyright © 2008 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_Views;
with Qt4.Byte_Arrays;
with Qt4.Points;
with Qt_Ada.Generic_Object_Pointers;

package Qt4.Header_Views is

   type Header_View_Resize_Mode is
    (Interactive,
     Stretch,
     Fixed,
     Resize_To_Contents);
   pragma Convention (C, Header_View_Resize_Mode);

   type Q_Header_View is limited interface
     and Qt4.Abstract_Item_Views.Q_Abstract_Item_View;

   type Q_Header_View_Access is
     access all Q_Header_View'Class;
   for Q_Header_View_Access'Storage_Size use 0;

   type Q_Header_View_Pointer is tagged;

   function Cascading_Section_Resizes
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Count
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   function Default_Alignment
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Alignment;

   function Default_Section_Size
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   function Hidden_Section_Count
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   procedure Hide_Section
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer);

   function Highlight_Sections
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Is_Clickable
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Is_Movable
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Is_Section_Hidden
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Standard.Boolean;

   function Is_Sort_Indicator_Shown
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Length
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   function Logical_Index
    (Self : not null access constant Q_Header_View'Class;
     Visual_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Logical_Index_At
    (Self : not null access constant Q_Header_View'Class;
     Position : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Logical_Index_At
    (Self : not null access constant Q_Header_View'Class;
     X : Qt4.Q_Integer;
     Y : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Logical_Index_At
    (Self : not null access constant Q_Header_View'Class;
     Pos : Qt4.Points.Q_Point)
       return Qt4.Q_Integer;

   function Minimum_Section_Size
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   procedure Move_Section
    (Self : not null access Q_Header_View'Class;
     From : Qt4.Q_Integer;
     To : Qt4.Q_Integer);

   function Offset
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   function Orientation
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Orientation;

   function Resize_Mode
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Header_Views.Header_View_Resize_Mode;

   procedure Resize_Section
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer;
     Size : Qt4.Q_Integer);

   procedure Resize_Sections
    (Self : not null access Q_Header_View'Class;
     Mode : Qt4.Header_Views.Header_View_Resize_Mode);

   function Restore_State
    (Self : not null access Q_Header_View'Class;
     State : Qt4.Byte_Arrays.Q_Byte_Array)
       return Standard.Boolean;

   function Save_State
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Byte_Arrays.Q_Byte_Array;

   function Section_Position
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Section_Size
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Section_Size_Hint
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Section_Viewport_Position
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Sections_Hidden
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Sections_Moved
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   procedure Set_Cascading_Section_Resizes
    (Self : not null access Q_Header_View'Class;
     Enable : Standard.Boolean);

   procedure Set_Clickable
    (Self : not null access Q_Header_View'Class;
     Clickable : Standard.Boolean);

   procedure Set_Default_Alignment
    (Self : not null access Q_Header_View'Class;
     Alignment : Qt4.Alignment);

   procedure Set_Default_Section_Size
    (Self : not null access Q_Header_View'Class;
     Size : Qt4.Q_Integer);

   procedure Set_Highlight_Sections
    (Self : not null access Q_Header_View'Class;
     Clickable : Standard.Boolean);

   procedure Set_Minimum_Section_Size
    (Self : not null access Q_Header_View'Class;
     Size : Qt4.Q_Integer);

   procedure Set_Movable
    (Self : not null access Q_Header_View'Class;
     Movable : Standard.Boolean);

   procedure Set_Resize_Mode
    (Self : not null access Q_Header_View'Class;
     Mode : Qt4.Header_Views.Header_View_Resize_Mode);

   procedure Set_Resize_Mode
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer;
     Mode : Qt4.Header_Views.Header_View_Resize_Mode);

   procedure Set_Section_Hidden
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer;
     Hide : Standard.Boolean);

   procedure Set_Sort_Indicator
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer;
     Order : Qt4.Sort_Order);

   procedure Set_Sort_Indicator_Shown
    (Self : not null access Q_Header_View'Class;
     Show : Standard.Boolean);

   procedure Set_Stretch_Last_Section
    (Self : not null access Q_Header_View'Class;
     Stretch : Standard.Boolean);

   procedure Show_Section
    (Self : not null access Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer);

   function Sort_Indicator_Order
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Sort_Order;

   function Sort_Indicator_Section
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   function Stretch_Last_Section
    (Self : not null access constant Q_Header_View'Class)
       return Standard.Boolean;

   function Stretch_Section_Count
    (Self : not null access constant Q_Header_View'Class)
       return Qt4.Q_Integer;

   procedure Swap_Sections
    (Self : not null access Q_Header_View'Class;
     First : Qt4.Q_Integer;
     Second : Qt4.Q_Integer);

   function Visual_Index
    (Self : not null access constant Q_Header_View'Class;
     Logical_Index : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   function Visual_Index_At
    (Self : not null access constant Q_Header_View'Class;
     Position : Qt4.Q_Integer)
       return Qt4.Q_Integer;

   procedure Header_Data_Changed
    (Self : not null access Q_Header_View'Class;
     Orientation : Qt4.Orientation;
     Logical_First : Qt4.Q_Integer;
     Logical_Last : Qt4.Q_Integer);

   procedure Set_Offset
    (Self : not null access Q_Header_View'Class;
     Offset : Qt4.Q_Integer);

   procedure Set_Offset_To_Last_Section
    (Self : not null access Q_Header_View'Class);

   procedure Set_Offset_To_Section_Position
    (Self : not null access Q_Header_View'Class;
     Visual_Index : Qt4.Q_Integer);

   package Q_Header_View_Pointers is
     new Qt_Ada.Generic_Object_Pointers (Q_Header_View, Q_Header_View_Access);

   type Q_Header_View_Pointer is
     new Q_Header_View_Pointers.Q_Pointer with null record;

end Qt4.Header_Views;
