{
   $Id: gtkdata.pp,v 1.2 2002/09/07 15:42:59 peter Exp $
}

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

{$ifdef read_interface}

    type
       PGtkData = ^TGtkData;
       TGtkData = record
            theobject : TGtkObject;
         end;

       DisconnectProc  = procedure (data : PGtkdata);cdecl;

       PGtkDataClass = ^TGtkDataClass;
       TGtkDataClass = record
            parent_class : TGtkObjectClass;
            disconnect : disconnectproc;
         end;

Type
  GTK_DATA=PGtkData;
  GTK_DATA_CLASS=PGtkDataClass;

function  GTK_DATA_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_data_get_type';
function  GTK_IS_DATA(obj:pointer):boolean;
function  GTK_IS_DATA_CLASS(klass:pointer):boolean;

function  gtk_data_get_type:TGtkType;cdecl;external gtkdll name 'gtk_data_get_type';

{$endif read_interface}


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

{$ifdef read_implementation}

function  GTK_IS_DATA(obj:pointer):boolean;
begin
  GTK_IS_DATA:=(obj<>nil) and GTK_IS_DATA_CLASS(PGtkTypeObject(obj)^.klass);
end;

function  GTK_IS_DATA_CLASS(klass:pointer):boolean;
begin
  GTK_IS_DATA_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_DATA_TYPE);
end;

{$endif read_implementation}


{
  $Log: gtkdata.pp,v $
  Revision 1.2  2002/09/07 15:42:59  peter
    * old logs removed and tabs fixed

  Revision 1.1  2002/01/29 17:55:10  peter
    * splitted to base and extra

}
