{
   $Id: gtktoolbar.pp,v 1.1 2000/07/13 06:34:07 michael Exp $
}

{****************************************************************************
                                 Interface
****************************************************************************}

{$ifdef read_interface}

  type
     TGtkToolbarChildType = longint;
  const
     GTK_TOOLBAR_CHILD_SPACE = 0;
     GTK_TOOLBAR_CHILD_BUTTON = 1;
     GTK_TOOLBAR_CHILD_TOGGLEBUTTON = 2;
     GTK_TOOLBAR_CHILD_RADIOBUTTON = 3;
     GTK_TOOLBAR_CHILD_WIDGET = 4;

  type
     TGtkToolbarSpaceStyle = longint;
  const
     GTK_TOOLBAR_SPACE_EMPTY = 0;
     GTK_TOOLBAR_SPACE_LINE = 1;

  type
     PGtkToolbarChild = ^TGtkToolbarChild;
     TGtkToolbarChild = record
          thetype : TGtkToolbarChildType;
          widget : PGtkWidget;
          icon : PGtkWidget;
          thelabel : PGtkWidget;
       end;

     PGtkToolbar = ^TGtkToolbar;
     TGtkToolbar = record
          container : TGtkContainer;
          num_children : gint;
          children : PGList;
          orientation : TGtkOrientation;
          style : TGtkToolbarStyle;
          space_size : gint;
          space_style : TGtkToolbarSpaceStyle;
          tooltips : PGtkTooltips;
          button_maxw : gint;
          button_maxh : gint;
          relief : TGtkReliefStyle;
       end;

     PGtkToolbarClass = ^TGtkToolbarClass;
     TGtkToolbarClass = record
          parent_class : TGtkContainerClass;
          orientation_changed : procedure (toolbar:PGtkToolbar; orientation:TGtkOrientation); cdecl;
          style_changed : procedure (toolbar:PGtkToolbar; style:TGtkToolbarStyle); cdecl;
       end;

Type
  GTK_TOOLBAR=PGtkToolbar;
  GTK_TOOLBAR_CLASS=PGtkToolbarClass;

function  gtk_toolbar_get_type:guint;cdecl;external gtkdll name 'gtk_toolbar_get_type';
function  gtk_toolbar_new(orientation:TGtkOrientation; style:TGtkToolbarStyle):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_new';
function  gtk_toolbar_append_item(toolbar:PGtkToolbar; thetext:pchar; tooltip_text:pchar; tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_append_item';
function  gtk_toolbar_prepend_item(toolbar:PGtkToolbar; thetext:pchar; tooltip_text:pchar; tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_prepend_item';
function  gtk_toolbar_insert_item(toolbar:PGtkToolbar; thetext:pchar; tooltip_text:pchar; tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer; position:gint):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_insert_item';
procedure gtk_toolbar_append_space(toolbar:PGtkToolbar);cdecl;external gtkdll name 'gtk_toolbar_append_space';
procedure gtk_toolbar_prepend_space(toolbar:PGtkToolbar);cdecl;external gtkdll name 'gtk_toolbar_prepend_space';
procedure gtk_toolbar_insert_space(toolbar:PGtkToolbar; position:gint);cdecl;external gtkdll name 'gtk_toolbar_insert_space';
function  gtk_toolbar_append_element(toolbar:PGtkToolbar; thetype:TGtkToolbarChildType; widget:PGtkWidget; thetext:pchar; tooltip_text:pchar;tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_append_element';
function  gtk_toolbar_prepend_element(toolbar:PGtkToolbar; thetype:TGtkToolbarChildType; widget:PGtkWidget; thetext:pchar; tooltip_text:pchar;tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer):PGtkWidget; cdecl;external gtkdll name 'gtk_toolbar_prepend_element';
function  gtk_toolbar_insert_element(toolbar:PGtkToolbar; thetype:TGtkToolbarChildType; widget:PGtkWidget; thetext:pchar; tooltip_text:pchar;tooltip_private_text:pchar; icon:PGtkWidget; callback:TGtkSignalFunc; user_data:gpointer; position:gint):PGtkWidget;cdecl;external gtkdll name 'gtk_toolbar_insert_element';
procedure gtk_toolbar_append_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:pchar; tooltip_private_text:pchar);cdecl;external gtkdll name 'gtk_toolbar_append_widget';
procedure gtk_toolbar_prepend_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:pchar; tooltip_private_text:pchar);cdecl;external gtkdll name 'gtk_toolbar_prepend_widget';
procedure gtk_toolbar_insert_widget(toolbar:PGtkToolbar; widget:PGtkWidget; tooltip_text:pchar; tooltip_private_text:pchar; position:gint);cdecl;external gtkdll name 'gtk_toolbar_insert_widget';
procedure gtk_toolbar_set_orientation(toolbar:PGtkToolbar; orientation:TGtkOrientation);cdecl;external gtkdll name 'gtk_toolbar_set_orientation';
procedure gtk_toolbar_set_style(toolbar:PGtkToolbar; style:TGtkToolbarStyle);cdecl;external gtkdll name 'gtk_toolbar_set_style';
procedure gtk_toolbar_set_space_size(toolbar:PGtkToolbar; space_size:gint);cdecl;external gtkdll name 'gtk_toolbar_set_space_size';
procedure gtk_toolbar_set_space_style(toolbar:PGtkToolbar; space_style:TGtkToolbarSpaceStyle);cdecl;external gtkdll name 'gtk_toolbar_set_space_style';
procedure gtk_toolbar_set_tooltips(toolbar:PGtkToolbar; enable:gint);cdecl;external gtkdll name 'gtk_toolbar_set_tooltips';
procedure gtk_toolbar_set_button_relief(toolbar:PGtkToolbar; relief:TGtkReliefStyle);cdecl;external gtkdll name 'gtk_toolbar_set_button_relief';
function  gtk_toolbar_get_button_relief(toolbar:PGtkToolbar):TGtkReliefStyle;cdecl;external gtkdll name 'gtk_toolbar_get_button_relief';

{$endif read_interface}


{****************************************************************************
                              Implementation
****************************************************************************}

{$ifdef read_implementation}
{$endif read_implementation}


{
  $Log: gtktoolbar.pp,v $
  Revision 1.1  2000/07/13 06:34:07  michael
  + Initial import

  Revision 1.1  1999/11/24 23:36:37  peter
    * moved to packages dir

  Revision 1.11  1999/10/06 17:42:50  peter
    * external is now only in the interface
    * removed gtk 1.0 support

  Revision 1.10  1999/07/23 16:13:17  peter
    * use packrecords C

  Revision 1.9  1999/06/29 23:46:57  peter
    * changed enums to constants

  Revision 1.8  1999/05/11 00:39:36  peter
    * win32 fixes

  Revision 1.7  1999/05/10 15:20:35  peter
    * cdecl fixes

  Revision 1.6  1999/05/07 17:40:34  peter
    * more updates

  Revision 1.5  1999/05/07 15:10:16  peter
    * more fixes

  Revision 1.4  1998/11/09 10:10:38  peter
    + C type casts are now correctly handled

  Revision 1.3  1998/10/21 20:23:20  peter
    * cdecl, packrecord fixes (from the gtk.tar.gz)
    * win32 support
    * gtk.pp,gdk.pp for an all in one unit

}

