definition
  GtkPrefix=gtk
  UsesList=classes, sysutils, gtk, gdk, glib, FPglib
  UnitName=FPgtk
  Count=96
  Object=Object
    GtkFuncName=object
    WithPointer
    Count=52
    Prop=Signal
      PropType=SignalType
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=Data
        PascalType=pointer
    Prop=BooleanSignal
      PropType=SignalType
      Code=begin,end
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=Bool
        PascalType=boolean
      Param=data
        PascalType=pointer
    Prop=Types to help
      PropType=TypeDeclaration
      Code="  FPgtkException = class (Exception) end;","  PPascalClassData = ^TPascalClassData;","  TPascalClassData = record","    TheInstance : TFPgtkObject;","  end;","  PSignalData = ^TSignalData;","  TSignalData = record","    TheData : pointer;","    TheWidget : TFPgtkObject;","    TheSignalProc : TFPgtkSignalFunction;","  end;","  TDestroyState = (dsAlive, dsWaiting, dsDestroying);","  TFPgtkObjectClass = Class of TFPgtkObject;"
      Count=0
    Prop=private decl
      PropType=Declarations
      Section=Private
      Code=const,"  dtPascalInstance = 'Pascal_Instance';",,type,"  TIntegerPointer = record","    case word of ","      0 : (i : integer);","      1 : (p : pointer);","  end;",,var,"  ObjectsToFree : TList;","  ip : TIntegerPointer;"
      Count=0
    Prop=
      PropType=Initialization
      Code="ObjectsToFree := TList.Create;"
      Count=0
    Prop=
      PropType=Finilization
      Code=ObjectsToFree.Free;
      Count=0
    Prop=GetPascalInstance
      PropType=HelperFunc
      PascalType=TFPgtkObject
      Code=begin,"  result := GetPascalInstance(GtkObject);","  if not assigned(result) and assigned(GtkObject) then","    result := ObjClass.CreateFromObject (GtkObject);",end;
      Overload
      Count=2
      Param=gtkObject
        PascalType=PGtkObject
      Param=ObjClass
        PascalType=TFPgtkObjectClass
    Prop=GetPascalInstance
      PropType=HelperFunc
      PascalType=TFPgtkObject
      Code="var p : pointer;",begin,"  result := nil;","  if assigned (gtkobject) then","    begin","    p := gtk_object_get_data (gtkObject, dtPascalInstance);","    if assigned(p) then","      result := PPascalClassData(p)^.TheInstance;","    end;",end;
      Overload
      Count=1
      Param=gtkObject
        PascalType=PGtkObject
    Prop=ConvertToGtkObject
      PropType=HelperFunc
      PascalType=PGtkObject
      Code=begin,"  if assigned(AnObject) then","    result := AnObject.TheGtkObject","  else","    result := nil;",end;
      Count=1
      Param=AnObject
        PascalType=TFPgtkObject
    Prop=ConvertToPgChar
      PropType=HelperFunc
      PascalType=PgChar
      Code=begin,"  result := pointer(aString);",end;
      Count=1
      Param=AString
        PascalType=string
    Prop=ConvertSignalData
      PropType=Function
      Section=Private
      PascalType=PSignalData
      Code=begin,"  new (result);","  with result^ do","    begin","    TheSignalProc := proc;","    TheWidget := self;","    TheData := data;","    end;","  if FreeIt then","    SignalDatas.Add (result);",end;
      Count=3
      Param=proc
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
      Param=FreeIt
        PascalType=boolean
    Prop=FGtkObject
      PropType=Field
      Section=Protected
      PascalType=PGtkObject
      Count=0
    Prop=NotifyList
      PropType=Field
      Section=Private
      PascalType=TList
      Count=0
    Prop=SignalDatas
      PropType=Field
      Section=Private
      PascalType=TList
      Count=0
    Prop=ConvertDatas
      PropType=Field
      Section=Private
      PascalType=TStringList
      Count=0
    Prop=PascalInstance
      PropType=Field
      Section=Private
      PascalType=TPascalClassData
      Count=0
    Prop=FreeFPgtkObjects
      PropType=HelperFunc
      PascalType=longbool
      Code="var r : integer;","    obj : TFPgtkObject;",begin,"  for r := ObjectsToFree.Count-1 downto 0 do","    begin","    obj := TFPgtkObject(ObjectsToFree[r]);","    if assigned (Obj) then","      Obj.Free;","    end;","  ObjectsToFree.Clear;","  result := False;",end;
      Cdecl
      Count=1
      Param=Data
        PascalType=pointer
    Prop=FreeClass
      PropType=Procedure
      Section=Private
      Code=begin,"  if FDestroying = dsAlive then","    begin","    if ObjectsToFree.Count = 0 then","      g_idle_Add (@FreeFPgtkObjects, null);","    ObjectsToFree.Add (self);","    FGtkObject := null;","    FDestroying := dsWaiting;","    end;",end;
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=Data
        PascalType=pointer
    Prop=CheckConvertDatas
      PropType=Procedure
      Section=Private
      Code=begin,"  if not assigned (ConvertDatas) then","    begin","    ConvertDatas := TStringList.Create;","    ConvertDatas.Sorted := True;","    end;",end;
      Count=0
    Prop=CheckNotifyList
      PropType=Procedure
      Section=Private
      Code=begin,"  if not assigned (Notifylist) then","    NotifyList := TList.Create;",end;
      Count=0
    Prop=InitCreate
      PropType=Procedure
      Section=Private
      Code=begin,"  inherited create;","  SignalDatas := TList.Create;",end;
      Count=0
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Virtual
      Abstract
      Count=0
    Prop=FinalCreate
      PropType=Procedure
      Section=Private
      Code=begin,"  PascalInstance.TheInstance := Self;","  SetData (dtPascalInstance, @PascalInstance);","  ConnectDestroy (@FreeClass, nil);",end;
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  InitCreate;","  CreateGtkObject;","  FinalCreate;",end;
      Count=0
    Prop=CreateFromObject
      PropType=Constructor
      Code=begin,"  InitCreate;","  FGtkObject := GtkObject;","  FinalCreate;",end;
      Count=1
      Param=GtkObject
        PascalType=PGtkObject
    Prop=Destroying
      PropType=Property
      PascalType=TDestroyState
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=AskNotification
      PropType=Procedure
      Code=begin,"  CheckNotifyList;","  with NotifyList do","    if indexof(AnObject) < 0 then","      begin","      Add (AnObject);","      AnObject.AskNotification (Self);","      end;",end;
      Count=1
      Param=AnObject
        PascalType=TFPgtkObject
    Prop=Destroy
      PropType=Destructor
      Code="var r : integer;","    datapointer : PSignalData;",begin,"  FDestroying := dsDestroying;","  if assigned(NotifyList) then","    begin","    for r := 0 to NotifyList.count-1 do","      TFPgtkObject(NotifyList[r]).NotifyDestroy (Self);","    NotifyList.Free;","    NotifyList := nil;","    end;","  if assigned(FGtkObject) and not Gtk_Object_destroyed(FGtkObject) then","    begin","    gtk_object_destroy (FGtkObject);","    FGtkObject := nil;","    end;","  for r := 0 to SignalDatas.count-1 do","    begin","    datapointer := signaldatas[r];","    dispose (datapointer);","    end;","  signaldatas.Free;","  if assigned (convertDatas) then","    ConvertDatas.Free;","  r := ObjectsToFree.indexof (self);","  if r >= 0 then","    ObjectsToFree[r] := nil;","  inherited destroy;",end;
      Override
      Count=0
    Prop=NotifyDestroy
      PropType=Procedure
      Section=Protected
      Code="var r : integer;",begin,"  if assigned(NotifyList) then","    begin","    r := NotifyList.indexOf (AnObject);","    if r >= 0 then","      NotifyList.Delete (r);","    end;",end;
      Virtual
      Count=1
      Param=AnObject
        PascalType=TFPgtkObject
    Prop=Destroy
      PropType=Signal
      PascalType=Signal
      GtkName=destroy
      Count=0
    Prop=SignalDisconnect
      PropType=Procedure
      Code=begin,"  gtk_signal_disconnect (TheGtkObject, SignalHandler);",end;
      Count=1
      Param=SignalHandler
        PascalType=guint
    Prop=SignalBlockHandler
      PropType=Procedure
      Code=begin,"  gtk_signal_handler_block (TheGtkObject, SignalHandler);",end;
      Count=1
      Param=SignalHandler
        PascalType=guint
    Prop=SignalUnblockHandler
      PropType=Procedure
      Code=begin,"  gtk_signal_handler_unblock (TheGtkObject, SignalHandler);",end;
      Count=1
      Param=SignalHandler
        PascalType=guint
    Prop=SignalEmit
      PropType=Procedure
      Code=begin,"  gtk_signal_emit_by_name (TheGtkObject, pgchar(aName), Args);",end;
      Count=2
      Param=aName
        Convert
        PascalType=string
      Param=Args
        PascalType=array of const
    Prop=SignalNEmissions
      PropType=Function
      PascalType=guint
      Code=begin,"  result := gtk_signal_n_emissions_by_name (FGtkObject, pgchar(aName));",end;
      Count=1
      Param=aName
        Convert
        PascalType=string
    Prop=SignalEmitStop
      PropType=Procedure
      Code=begin,"  gtk_signal_emit_stop_by_name (FGtkObject, pgchar(aName));",end;
      Count=1
      Param=aName
        Convert
        PascalType=string
    Prop=SetData
      PropType=Procedure
      GtkName=set_data
      Count=2
      Param=Key
        Convert
        PascalType=string
      Param=Data
        PascalType=pointer
    Prop=UserData
      PropType=Property
      PascalType=pointer
      GtkName=user_data
      WriteGtkName=user_data
      Count=0
    Prop=SetDataFull
      PropType=Procedure
      Code=begin,"  gtk_object_set_data_full (TheGtkObject, pgChar(Key), ConvertSignalData (Destroyer, data, false), TGtkDestroyNotify(@DestroyData));","  CheckConvertDatas;","  ConvertDatas.Add (Key);",end;
      Count=3
      Param=Key
        PascalType=string
      Param=Data
        PascalType=pointer
      Param=Destroyer
        PascalType=TFPgtkSignalFunction
    Prop=RemoveData
      PropType=Procedure
      Code="var r : integer;",begin,"  gtk_object_remove_data (TheGtkObject, pgChar(Key));","  if assigned (ConvertDatas) then","    begin","    r := ConvertDatas.indexof (Key);","    if r >= 0 then","    ConvertDatas.Delete (r);","    end;",end;
      Count=1
      Param=Key
        PascalType=string
    Prop=GetData
      PropType=Function
      PascalType=pointer
      Code="var p  : pointer;",begin,"  p := gtk_object_get_data (TheGtkObject, pgChar(Key));","  if assigned(ConvertDatas) and (ConvertDatas.IndexOf (Key) >= 0) then","    result := PPascalClassData (PSignalData(p)^.TheData)^.TheInstance","  else","    result := p;",end;
      Count=1
      Param=Key
        PascalType=string
    Prop=DestroyData
      PropType=HelperProc
      Code=begin,"  with PSignaldata(data)^ do","    TheSignalProc (TheWidget, TheData);",end;
      Cdecl
      Count=1
      Param=data
        PascalType=pointer
    Prop=IntToPointer
      PropType=HelperFunc
      PascalType=pointer
      Code=begin,"  ip.i := Value;","  result := ip.p;",end;
      Count=1
      Param=Value
        PascalType=integer
    Prop=PointerToInt
      PropType=HelperFunc
      PascalType=integer
      Code=begin,"  ip.p := Value;","  result := ip.i;",end;
      Count=1
      Param=Value
        PascalType=pointer
    Prop=GtkDestroyed
      PropType=Function
      PascalType=boolean
      GtkName=destroyed
      Count=0
    Prop=Constructed
      PropType=Procedure
      GtkName=constructed
      Count=0
    Prop=ConstructedDefault
      PropType=Procedure
      GtkName=default_construct
      Count=0
    Prop=Sink
      PropType=Procedure
      GtkName=sink
      Count=0
    Prop=Ref
      PropType=Procedure
      GtkName=ref
      Count=0
    Prop=Unref
      PropType=Procedure
      GtkName=unref
      Count=0
    Prop=WeakRef
      PropType=Procedure
      Code=begin,"  gtk_object_weakref (TheGtkObject, TGtkDestroyNotify(@DestroyData), ConvertSignalData (Notify, data, true));",end;
      Count=2
      Param=Notify
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=WeakUnref
      PropType=Procedure
      Code=begin,"  gtk_object_weakunref (TheGtkObject, TGtkDestroyNotify(@DestroyData), ConvertSignalData (Notify, data, true));",end;
      Count=2
      Param=notify
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
  Object=Data
    Inherit=Object
    GtkFuncName=data
    Count=1
    Prop=Disconnect
      PropType=Signal
      PascalType=Signal
      GtkName=disconnect
      Count=0
  Object=Adjustment
    Inherit=Data
    GtkFuncName=Adjustment
    CreateParams=0,0,10,1,2,2
    CreateObject
    Count=12
    Prop=Configure
      PropType=Procedure
      Code=begin,"  Lower := aLower;","  Upper := anUpper;","  Value := aValue;","  StepIncrement := aStepInc;","  PageIncrement := aPageInc;","  PageSize := aPageSize;",end;
      Count=6
      Param=aLower
        PascalType=gfloat
      Param=anUpper
        PascalType=gfloat
      Param=aValue
        PascalType=gfloat
      Param=aStepInc
        PascalType=gfloat
      Param=aPageInc
        PascalType=gfloat
      Param=aPageSize
        PascalType=gfloat
    Prop=ValueChanged
      PropType=Signal
      PascalType=Signal
      GtkName=Value_Changed
      Count=0
    Prop=Changed
      PropType=Signal
      PascalType=Signal
      GtkName=Changed
      Count=0
    Prop=ValueChanged
      PropType=Procedure
      GtkName=Value_Changed
      Count=0
    Prop=Changed
      PropType=Procedure
      GtkName=Changed
      Count=0
    Prop=ClampPage
      PropType=Procedure
      GtkName=Clamp_Page
      Count=2
      Param=aLower
        PascalType=gfloat
      Param=aUpper
        PascalType=gfloat
    Prop=Value
      PropType=Property
      PascalType=gfloat
      GtkName=Value
      ReadFuncType=ObjField
      WriteGtkName=Value
      Count=0
    Prop=Lower
      PropType=Property
      PascalType=gfloat
      GtkName=Lower
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=Lower
      Count=0
    Prop=Upper
      PropType=Property
      PascalType=gfloat
      GtkName=Upper
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=Upper
      Count=0
    Prop=StepIncrement
      PropType=Property
      PascalType=gfloat
      GtkName=Step_Increment
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=Step_Increment
      Count=0
    Prop=PageIncrement
      PropType=Property
      PascalType=gfloat
      GtkName=Page_Increment
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=Page_increment
      Count=0
    Prop=PageSize
      PropType=Property
      PascalType=gfloat
      GtkName=Page_Size
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=Page_Size
      Count=0
  Object=ToolTips
    Inherit=Data
    GtkFuncName=tooltips
    CreateObject
    Count=13
    Prop=SetColors
      PropType=Procedure
      GtkName=set_colors
      Count=2
      Param=Fore
        PascalType=PGdkColor
      Param=Back
        PascalType=PGdkColor
    Prop=SetTip
      PropType=Procedure
      GtkName=set_tip
      Count=3
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=TipText
        Convert
        PascalType=string
      Param=TipPrivate
        Convert
        PascalType=string
    Prop=Enabled
      PropType=Property
      PascalType=boolean
      GtkName=enabled
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    gtk_tooltips_enable (TheGtkObject)","  else","    gtk_tooltips_disable (TheGtkObject);",end;
      Count=0
    Prop=Delay
      PropType=Property
      PascalType=integer
      GtkName=delay
      ReadFuncType=ObjFunc
      WriteGtkName=delay
      Count=0
    Prop=ColorForeground
      PropType=Property
      PascalType=PGdkColor
      GtkName=foreground
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteGtkName=SetColorForeground
      WriteCode=begin,"  SetColors (TheValue, ColorBackGround);",end;
      Count=0
    Prop=ColorBackground
      PropType=Property
      PascalType=PGdkColor
      GtkName=background
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteGtkName=SetColorBackground
      WriteCode=begin,"  SetColors (ColorForeground, TheValue);",end;
      Count=0
    Prop=GetTooltipsData
      PropType=HelperFunc
      PascalType=PGtkTooltipsData
      Code=begin,"  result := gtk_tooltips_data_get (ConvertToGtkWidget(Widget));",end;
      Count=1
      Param=Widget
        PascalType=TFPgtkWidget
    Prop=ComposeTooltip
      PropType=HelperFunc
      PascalType=string
      Code=begin,"  result := TooltipText;","  if PrivText <> '' then","    result := result + '|' + PrivText;",end;
      Count=2
      Param=TooltipText
        PascalType=string
      Param=PrivText
        PascalType=string
    Prop=DecomposeTooltip
      PropType=HelperProc
      Code="var r : integer;",begin,"  r := pos ('|', tooltip);","  if r > 0 then","    begin","    TooltipText := copy(Tooltip, 1, r-1);","    PrivText := copy (Tooltip, r+1, maxint);","    end","  else","    begin","    TooltipText := Tooltip;","    PrivText := '';","    end;",end;
      Count=3
      Param=Tooltip
        PascalType=string
      Param=TooltipText
        PascalType=string
        ParamType=Var
      Param=PrivText
        PascalType=string
        ParamType=Var
    Prop=TheTooltips
      PropType=Declarations
      Code="var ","  TheTooltips : TFPgtkTooltips;"
      Count=0
    Prop=CheckTooltips
      PropType=HelperProc
      Section=Private
      Code=begin,"if not assigned (TheTooltips) then","  TheTooltips := TFPgtkTooltips.Create;",end;
      Count=0
    Prop=
      PropType=Finilization
      Code="if assigned (TheTooltips) then","  TheTooltips.Free;"
      Count=0
    Prop=ForceWindow
      PropType=Procedure
      GtkName=force_window
      Count=0
  Object=Widget
    Inherit=Object
    GtkFuncName=widget
    Count=107
    Prop=TheGtkWidget
      PropType=Property
      PascalType=PGtkWidget
      Code=begin,"  result := PGtkWidget (TheGtkObject);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  FGtkObject := PgtkObject (TheValue);",end;
      Count=0
    Prop=GetPascalInstance
      PropType=HelperFunc
      PascalType=TFPgtkWidget
      Code=begin,"  result := TFPgtkWidget (GetPascalInstance (PGtkObject(widget)));",end;
      Overload
      Count=1
      Param=Widget
        PascalType=PGtkWidget
    Prop=GetPascalInstance
      PropType=HelperFunc
      PascalType=TFPgtkWidget
      Code=begin,"  result := TFPgtkWidget (GetPascalInstance (PGtkObject(Widget), ObjClass));",end;
      Overload
      Count=2
      Param=Widget
        PascalType=PGtkWidget
      Param=ObjClass
        PascalType=TFPgtkObjectClass
    Prop=ConvertToGtkWidget
      PropType=HelperFunc
      PascalType=PGtkWidget
      Code=begin,"  if assigned(AnObject) then","    result := AnObject.TheGtkWidget","  else","    result := nil;",end;
      Count=1
      Param=AnObject
        PascalType=TFPgtkWidget
    Prop=WidgetSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=Data
        PascalType=pointer
    Prop=SetFlags
      PropType=Procedure
      Section=Protected
      GtkName=set_flags
      Count=1
      Param=NewFlags
        PascalType=longint
    Prop=UnsetFlags
      PropType=Procedure
      Section=Protected
      GtkName=unset_flags
      Count=1
      Param=NewUnsetFlags
        PascalType=longint
    Prop=Map
      PropType=Procedure
      Section=Protected
      GtkName=map
      Count=0
    Prop=Unmap
      PropType=Procedure
      Section=Protected
      GtkName=unmap
      Count=0
    Prop=QueueDraw
      PropType=Procedure
      Section=Protected
      GtkName=queue_draw
      Count=0
    Prop=QueueResize
      PropType=Procedure
      Section=Protected
      GtkName=queue_resize
      Count=0
    Prop=Draw
      PropType=Procedure
      GtkName=draw
      Overload
      Count=1
      Param=Rectangle
        PascalType=PGdkRectangle
    Prop=DrawFocus
      PropType=Procedure
      Section=Protected
      GtkName=draw_focus
      Count=0
    Prop=DrawDefault
      PropType=Procedure
      Section=Protected
      GtkName=draw_default
      Count=0
    Prop=Show
      PropType=Procedure
      GtkName=show
      Count=0
    Prop=Hide
      PropType=Procedure
      GtkName=hide
      Count=0
    Prop=Realize
      PropType=Procedure
      GtkName=realize
      Count=0
    Prop=Unrealize
      PropType=Procedure
      GtkName=unrealize
      Count=0
    Prop=ShowNow
      PropType=Procedure
      GtkName=show_now
      Count=0
    Prop=ShowAll
      PropType=Procedure
      GtkName=show_all
      Count=0
    Prop=HideAll
      PropType=Procedure
      GtkName=hide_all
      Count=0
    Prop=SetAllocation
      PropType=Procedure
      Code=begin,"  with AnAllocation do","    SetAllocation (x, y, width, height);",end;
      Overload
      Count=1
      Param=AnAllocation
        PascalType=TGtkAllocation
    Prop=SetAllocation
      PropType=Procedure
      Code=begin,"  SetUPosition (x, y);","  SetUSize (width, height);",end;
      Overload
      Count=4
      Param=x
        PascalType=integer
      Param=y
        PascalType=integer
      Param=width
        PascalType=integer
      Param=height
        PascalType=integer
    Prop=Allocation
      PropType=Property
      PascalType=TGtkAllocation
      GtkName=allocation
      ReadFuncType=ObjField
      WriteProcType=ExistingProc
      WriteGtkName=SetAllocation
      Count=0
    Prop=SetUPosition
      PropType=Procedure
      GtkName=set_uposition
      Count=2
      Param=x
        PascalType=integer
      Param=y
        PascalType=integer
    Prop=SetUsize
      PropType=Procedure
      GtkName=set_usize
      Count=2
      Param=width
        PascalType=integer
      Param=height
        PascalType=integer
    Prop=Name
      PropType=Property
      PascalType=string
      GtkName=name
      WriteGtkName=name
      WriteConvert
      Count=0
    Prop=Flags
      PropType=Property
      PascalType=longint
      GtkName=GetPropFlags
      Code=begin,"  result := gtk_widget_Flags (TheGtkObject);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetPropFlags
      WriteCode="var f : integer;",begin,"  f := GetPropFlags;","  UnsetFlags (f and not TheValue);","  SetFlags (not f and TheValue);",end;
      Count=0
    Prop=State
      PropType=Property
      PascalType=longint
      GtkName=State
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=SavedState
      PropType=Property
      PascalType=longint
      GtkName=Saved_State
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=Parent
      PropType=Property
      PascalType=TFPgtkWidget
      Code="var gtkparent : PgtkWidget;","    o : TFPgtkObject;",begin,"  gtkParent := TheGtkObject^.parent;","  o := GetPascalInstance (PgtkObject(GtkParent));","  if o is TFPgtkWidget then","    result := TFPgtkWidget(o)","  else","    result := nil;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode="var gtkparent : PgtkWidget;",begin,"  gtkParent := TheGtkObject^.parent;","  if assigned(TheValue) then","    if assigned(gtkParent) then","      reparent (TheValue)","    else","      gtk_widget_set_parent (TheGtkWidget, ConvertToGtkWidget(TheValue))","  else","    if assigned(gtkParent) then","      gtk_widget_unparent (TheGtkWidget);","end;    ","      "
      Count=0
    Prop=ParentWindow
      PropType=Property
      PascalType=PGdkWindow
      GtkName=parent_window
      WriteGtkName=parent_window
      Count=0
    Prop=Unparent
      PropType=Procedure
      GtkName=unparent
      Count=0
    Prop=Reparent
      PropType=Procedure
      Section=Private
      Code=begin,"  if (NewParent is TFpgtkContainer) then","    begin","    ref;","    TFPgtkContainer(Parent).remove (self);","    TFPgtkContainer(NewParent).Add (Self);","    unref;","    end;",end;
      Count=1
      Param=NewParent
        PascalType=TFPgtkWidget
    Prop=Visible
      PropType=Property
      PascalType=boolean
      GtkName=Visible
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    Show","  else","    Hide;",end;
      Count=0
    Prop=NoWindow
      PropType=Property
      PascalType=boolean
      GtkName=No_Window
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    SetFlags (GTK_NO_WINDOW)","  else","    UnSetFlags (GTK_NO_WINDOW);",end;
      Count=0
    Prop=Realized
      PropType=Property
      PascalType=boolean
      GtkName=realized
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then ","    Realize","  else","    Unrealize;",end;
      Count=0
    Prop=Mapped
      PropType=Property
      PascalType=boolean
      GtkName=Mapped
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    Map","  else","    Unmap;",end;
      Count=0
    Prop=Drawable
      PropType=Property
      PascalType=boolean
      GtkName=Drawable
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=IsSensitive
      PropType=Property
      PascalType=boolean
      GtkName=Is_Sensitive
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=Sensitive
      PropType=Property
      PascalType=boolean
      GtkName=Sensitive
      ReadFuncType=GtkMacro
      WriteGtkName=sensitive
      Count=0
    Prop=ParentSensitive
      PropType=Property
      PascalType=boolean
      GtkName=Parent_Sensitive
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    SetFlags (GTK_PARENT_SENSITIVE)","  else","    UnSetFlags (GTK_PARENT_SENSITIVE);",end;
      Count=0
    Prop=AppPaintable
      PropType=Property
      PascalType=boolean
      GtkName=App_Paintable
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      WriteGtkName=app_paintable
      WriteCode="// conditional compile ; niet bij gtkwin"
      Count=0
    Prop=CanFocus
      PropType=Property
      PascalType=boolean
      GtkName=Can_Focus
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    SetFlags (GTK_CAN_FOCUS)","  else","    UnSetFlags (GTK_CAN_FOCUS);",end;
      Count=0
    Prop=GrabFocus
      PropType=Procedure
      GtkName=grab_focus
      Count=0
    Prop=HasFocus
      PropType=Property
      PascalType=boolean
      GtkName=Has_Focus
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=CanDefault
      PropType=Property
      PascalType=boolean
      GtkName=Can_Default
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    SetFlags (GTK_CAN_DEFAULT)","  else","    UnSetFlags (GTK_CAN_DEFAULT);",end;
      Count=0
    Prop=GrabDefault
      PropType=Procedure
      GtkName=grab_default
      Count=0
    Prop=HasDefault
      PropType=Property
      PascalType=boolean
      GtkName=Has_Default
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=ReceivesDefault
      PropType=Property
      PascalType=boolean
      GtkName=Receives_Default
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=CompositeChild
      PropType=Property
      PascalType=boolean
      GtkName=Composite_Child
      ReadFuncType=GtkMacro
      WriteProcType=NotImplemented
      Count=0
    Prop=Tooltip
      PropType=Property
      PascalType=string
      Code="var data : PGtkTooltipsData;",begin,"  data := Gtk_Tooltips_Data_Get (TheGtkObject);","  if assigned(data) then","    with data^ do","      result := ComposeTooltip (Tip_Text, tip_private)","  else","    result := '';",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode="var t, p : string;","    ttdata : PGtkTooltipsData;",begin,"  if TheValue = '' then","    begin","    ttdata := GetTooltipsData (Self);","    if assigned (ttdata) then","      ; // find a way to remove the hint. Setting '' does not remove","    end","  else","    begin","    CheckTooltips;","    DecomposeTooltip (TheValue, t, p);","    TheToolTips.SetTip (self, t, p);","    end;",end;
      Count=0
    Prop=HideOnDelete
      PropType=Procedure
      GtkName=hide_on_delete
      Count=0
    Prop=Colormap
      PropType=Property
      PascalType=PGdkColormap
      GtkName=colormap
      WriteGtkName=colormap
      Count=0
    Prop=Show
      PropType=Signal
      PascalType=Signal
      GtkName=show
      Count=0
    Prop=hide
      PropType=Signal
      PascalType=Signal
      GtkName=hide
      Count=0
    Prop=map
      PropType=Signal
      PascalType=Signal
      GtkName=map
      Count=0
    Prop=unmap
      PropType=Signal
      PascalType=Signal
      GtkName=unmap
      Count=0
    Prop=realize
      PropType=Signal
      PascalType=Signal
      GtkName=realize
      Count=0
    Prop=unrealize
      PropType=Signal
      PascalType=Signal
      GtkName=unrealize
      Count=0
    Prop=DrawFocus
      PropType=Signal
      PascalType=Signal
      GtkName=draw-focus
      Count=0
    Prop=DrawDefault
      PropType=Signal
      PascalType=Signal
      GtkName=draw-defaut
      Count=0
    Prop=ParentSet
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=parent-set
      Count=0
    Prop=GrabFocus
      PropType=Signal
      PascalType=Signal
      GtkName=grab-focus
      Count=0
    Prop=Event
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEvent
      Param=data
        PascalType=pointer
    Prop=Event
      PropType=Signal
      PascalType=Event
      GtkName=event
      Count=0
    Prop=EventButton
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventButton
      Param=data
        PascalType=pointer
    Prop=ButtonPressEvent
      PropType=Signal
      PascalType=EventButton
      GtkName=button-press-event
      Count=0
    Prop=ButtonReleaseEvent
      PropType=Signal
      PascalType=EventButton
      GtkName=button-release-event
      Count=0
    Prop=EventMotion
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventMotion
      Param=data
        PascalType=pointer
    Prop=MotionNotifyEvent
      PropType=Signal
      PascalType=EventMotion
      GtkName=motion-notify-event
      Count=0
    Prop=DeleteEvent
      PropType=Signal
      PascalType=Event
      GtkName=delete-event
      Count=0
    Prop=DestroyEvent
      PropType=Signal
      PascalType=Event
      GtkName=destroy-event
      Count=0
    Prop=EventExpose
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventExpose
      Param=data
        PascalType=pointer
    Prop=ExposeEvent
      PropType=Signal
      PascalType=EventExpose
      GtkName=expose-event
      Count=0
    Prop=EventKey
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventKey
      Param=data
        PascalType=pointer
    Prop=KeyPressEvent
      PropType=Signal
      PascalType=EventKey
      GtkName=key-press-event
      Count=0
    Prop=KeyReleaseEvent
      PropType=Signal
      PascalType=EventKey
      GtkName=key-release-event
      Count=0
    Prop=EventCrossing
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventCrossing
      Param=data
        PascalType=pointer
    Prop=EnterNotifyEvent
      PropType=Signal
      PascalType=EventCrossing
      GtkName=enter-notify-event
      Count=0
    Prop=LeaveNotifyEvent
      PropType=Signal
      PascalType=EventCrossing
      GtkName=leave-notify-event
      Count=0
    Prop=EventConfigure
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventConfigure
      Param=data
        PascalType=pointer
    Prop=ConfigureEvent
      PropType=Signal
      PascalType=EventConfigure
      GtkName=configure-event
      Count=0
    Prop=EventFocus
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventFocus
      Param=data
        PascalType=pointer
    Prop=FocusInEvent
      PropType=Signal
      PascalType=EventFocus
      GtkName=focus-in-event
      Count=0
    Prop=FocusOutEvent
      PropType=Signal
      PascalType=EventFocus
      GtkName=focus-out-event
      Count=0
    Prop=MapEvent
      PropType=Signal
      PascalType=Event
      GtkName=map-event
      Count=0
    Prop=UnmapEvent
      PropType=Signal
      PascalType=Event
      GtkName=unmap-event
      Count=0
    Prop=EventProperty
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventProperty
      Param=data
        PascalType=pointer
    Prop=PropertyNotifyEvent
      PropType=Signal
      PascalType=EventProperty
      GtkName=property-notify-event
      Count=0
    Prop=EventSelection
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventSelection
      Param=data
        PascalType=pointer
    Prop=SelectionClearEvent
      PropType=Signal
      PascalType=EventSelection
      GtkName=selection-clear-event
      Count=0
    Prop=SelectionRequestEvent
      PropType=Signal
      PascalType=EventSelection
      GtkName=selection-request-event
      Count=0
    Prop=SelectionNotifyEvent
      PropType=Signal
      PascalType=EventSelection
      GtkName=selection-notify-event
      Count=0
    Prop=EventProximity
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventProximity
      Param=data
        PascalType=pointer
    Prop=ProximityInEvent
      PropType=Signal
      PascalType=EventProximity
      GtkName=proximity-in-event
      Count=0
    Prop=ProximityOutEvent
      PropType=Signal
      PascalType=EventProximity
      GtkName=proximity-out-event
      Count=0
    Prop=EventClient
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventClient
      Param=data
        PascalType=pointer
    Prop=ClientEvent
      PropType=Signal
      PascalType=EventClient
      GtkName=client-event
      Count=0
    Prop=EventNoExpose
      PropType=SignalType
      PascalType=boolean
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkWidget
      Param=Event
        PascalType=PGdkEventNoExpose
      Param=data
        PascalType=pointer
    Prop=NoExposeEvent
      PropType=Signal
      PascalType=EventNoExpose
      GtkName=no-expose-event
      Count=0
    Prop=VisibilityNotifyEvent
      PropType=Signal
      PascalType=Event
      GtkName=visibility-notify-event
      Count=0
    Prop=LockAccelerators
      PropType=Procedure
      GtkName=lock_accelerators
      Count=0
    Prop=UnlockAccelerators
      PropType=Procedure
      GtkName=unlock_accelerators
      Count=0
    Prop=RemoveAccelerators
      PropType=Procedure
      GtkName=remove_accelerators
      Count=2
      Param=aSignal
        Convert
        PascalType=string
      Param=OnlyVisible
        Convert
        PascalType=boolean
    Prop=ActivateAccelGroups
      PropType=Procedure
      Code=begin,"  gtk_accel_groups_activate (FGtkObject, Key, Mods);",end;
      Count=2
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
    Prop=AcceleratorAdd
      PropType=Procedure
      Code=begin,"  gtk_widget_add_accelerator (TheGtkWidget, pgchar(aSignal),","        AG, Key, Mods, acFlags);",end;
      Overload
      Count=5
      Param=AG
        PascalType=PGtkAccelGroup
      Param=aSignal
        PascalType=string
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
      Param=acFlags
        PascalType=TGtkAccelFlags
  Object=Group
    Inherit=*List
    Count=26
    Prop=FGSList
      PropType=Field
      Section=Private
      PascalType=PGSList
      Count=0
    Prop=FGList
      PropType=Field
      Section=Private
      PascalType=PGList
      Count=0
    Prop=FNotUpdating
      PropType=Field
      Section=Private
      PascalType=boolean
      Count=0
    Prop=FClassesChanged
      PropType=Field
      Section=Private
      PascalType=boolean
      Count=0
    Prop=FSListChanged
      PropType=Field
      Section=Private
      PascalType=boolean
      Count=0
    Prop=FListChanged
      PropType=Field
      Section=Private
      PascalType=boolean
      Count=0
    Prop=ManageLists
      PropType=Property
      PascalType=boolean
      ReadFuncType=Field
      WriteProcType=Field
      Count=0
    Prop=FreeList
      PropType=Procedure
      Section=Private
      Code=begin,"  if FGList <> null then","    begin","    if FManageLists then","      g_list_free (FGList);","    FGList := null;","    end;",end;
      Count=0
    Prop=FreeSList
      PropType=Procedure
      Section=Private
      Code=begin,"  if FGSList <> null then","    begin","    if FManageLists then","      g_slist_free (FGSList);","    FGSlist := null;","    end;",end;
      Count=0
    Prop=CreateGList
      PropType=Function
      Section=Private
      PascalType=PGList
      Code="var r : integer;",begin,"  FreeList;","  result := null;","  for r := pred(count) downto 0 do","    result := g_list_prepend (result, GetData(r));","  FGList := result;",end;
      Count=0
    Prop=CreateGSList
      PropType=Function
      Section=Private
      PascalType=PGSList
      Code="var r : integer;",begin,"  FreeSList;","  result := null;","  for r := pred(count) downto 0 do","    result := g_slist_prepend (result, GetData(r));","  FGSList := result;",end;
      Count=0
    Prop=BuildFromGtkList
      PropType=Procedure
      Section=Protected
      Code="var p : PGList;",begin,"  clear;","  p := FGList;","  while p <> null do","    begin","    add (UngetData(p^.data));","    p := p^.Next;","    end;","  FListChanged := False;","  FSListChanged := False;","  FClassesChanged := False;","  FreeSList;",end;
      Count=0
    Prop=BuildFromGtkSList
      PropType=Procedure
      Section=Protected
      Code="var p :PGSList;",begin,"  clear;","  p := FGSList;","  while p <> null do","    begin","    add (UngetData(p^.data));","    p := p^.Next;","    end;","  FListChanged := False;","  FSListChanged := False;","  FClassesChanged := False;","  FreeList;",end;
      Count=0
    Prop=Notify
      PropType=Procedure
      Section=Protected
      Code=begin,"  inherited;","  FClassesChanged := True;",end;
      Override
      Count=2
      Param=ptr
        PascalType=pointer
      Param=Action
        PascalType=TListNotification
    Prop=GetData
      PropType=Function
      Section=Protected
      PascalType=pointer
      Code="// GetData needs to give the pointer to the data in the List or SList of GTK",begin,"  result := items[index];",end;
      Dynamic
      Count=1
      Param=index
        PascalType=integer
    Prop=UngetData
      PropType=Function
      Section=Protected
      PascalType=pointer
      Code="// UngetData needs to give the item in this list from the datapointer of GTK",begin,"  result := data",end;
      Dynamic
      Count=1
      Param=data
        PascalType=pointer
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  FClassesChanged := False;","  FListChanged := false;","  FSListChanged := False;","  FGList := null;","  FGSList := null;","  FNotUpdating := True;","  FManageLists := True;",end;
      Count=0
    Prop=Destroy
      PropType=Destructor
      Code=begin,"  if ManageLists then","    begin","    FreeList;","    FreeSList;","    end;","  inherited Destroy;",end;
      Override
      Count=0
    Prop=GetGtkList
      PropType=Function
      PascalType=PGList
      Code=begin,"  if buffered then","    if FClasseschanged then","      result := CreateGList","    else if FSListChanged then","      begin","      BuildFromGtkSList;","      result := CreateGList;","      end","    else","      result := FGlist","  else","    result := CreateGList;",end;
      Count=1
      Param=buffered
        PascalType=boolean
    Prop=GetGtkSList
      PropType=Function
      PascalType=PGSList
      Code=begin,"  if buffered then","    if FClassesChanged then","      result := CreateGSList","    else if FListChanged then","      begin","      BuildFromGtkList;","      result := CreateGSList;","      end","    else","      result := FGSlist","  else","    result := CreateGSList;",end;
      Count=1
      Param=buffered
        PascalType=boolean
    Prop=BeginUpdate
      PropType=Procedure
      Code=begin,"  FNotUpdating := False;",end;
      Count=0
    Prop=EndUpdate
      PropType=Procedure
      Code=begin,"  FNotUpdating := True;","  if FlistChanged then","    BuildFromGtkSList","  else if FSListChanged then","    BuildFromGtkSList","  else if FClassesChanged then","    begin","    FreeSList;","    FreeList;","    end;",end;
      Count=0
    Prop=ForEachFunction
      PropType=TypeDeclaration
      Code="  TFPgtkForEachProcedure = procedure (item : pointer; data : pointer) of object;"
      Count=0
    Prop=ForEach
      PropType=Procedure
      Code="var r: integer;",begin,"  for r := 0 to pred(count) do","    Proc (items[r], data);",end;
      Count=2
      Param=Proc
        PascalType=TFPgtkForEachProcedure
      Param=data
        PascalType=pointer
    Prop=GtkList
      PropType=Property
      PascalType=PGList
      GtkName=GetGtkListProp
      Code=begin,"  result := GetGtkList (True);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetGtkListProp
      WriteCode=begin,"  FGList := TheValue;","  if FNotUpdating then","    BuildFromGtkList","  else","    FListChanged := True;",end;
      Count=0
    Prop=GtkSList
      PropType=Property
      PascalType=PGSList
      GtkName=GetGtkSListProp
      Code=begin,"  result := GetGtkSList (True);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetGtkSListProp
      WriteCode=begin,"  FGSlist := TheValue;","  if FNotUpdating then","    BuildFromGtkSList","  else","    FSListChanged := True;",end;
      Count=0
  Object=WidgetGroup
    Inherit=Group
    Count=6
    Prop=GetData
      PropType=Function
      PascalType=pointer
      Code=begin,"  result := items[index].FgtkObject;",end;
      Override
      Count=1
      Param=index
        PascalType=integer
    Prop=UnGetData
      PropType=Function
      PascalType=pointer
      Code=begin,"  result := GetPascalInstance (PGtkObject(Data));",end;
      Override
      Count=1
      Param=data
        PascalType=pointer
    Prop=AddToContainer
      PropType=Procedure
      Code="var r : integer;",begin,"  for r := 0 to pred(count) do","    Container.Add (items[r]);",end;
      Count=1
      Param=Container
        PascalType=TFPgtkContainer
    Prop=PackInBox
      PropType=Procedure
      Code="var r : integer;",begin,"  if AtStart then","    for r := 0 to pred(Count) do","      box.PackStart (items[r], expanding, fill, padding)","  else","    for r := pred(Count) downto 0 do","      box.PackEnd (items[r], expanding, fill, padding);",end;
      Count=5
      Param=box
        PascalType=TFPgtkBox
      Param=AtStart
        PascalType=boolean
      Param=Expanding
        PascalType=boolean
      Param=Fill
        PascalType=boolean
      Param=Padding
        PascalType=integer
    Prop=Items
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=GetItem
      Code=begin,"  result := TFPgtkWidget (Inherited items[index]);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetItem
      WriteCode=begin,"  inherited items[index] := TheValue;",end;
      Count=1
      Param=Index
        PascalType=integer
    Prop=Tooltips
      PropType=Property
      PascalType=string
      Code=begin,"  result := items[index].Tooltip;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  Items[index].Tooltip := TheValue;",end;
      Count=1
      Param=index
        PascalType=integer
  Object=Misc
    Inherit=Widget
    GtkFuncName=misc
    Count=6
    Prop=SetAlignment
      PropType=Procedure
      GtkName=set_alignment
      Count=2
      Param=x
        PascalType=gfloat
      Param=y
        PascalType=gfloat
    Prop=SetPadding
      PropType=Procedure
      GtkName=set_padding
      Count=2
      Param=x
        PascalType=word
      Param=y
        PascalType=word
    Prop=XAlign
      PropType=Property
      PascalType=gfloat
      GtkName=XAlign
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  SetAlignment (TheValue, YAlign);",end;
      Count=0
    Prop=YAlign
      PropType=Property
      PascalType=gfloat
      GtkName=YAlign
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  SetAlignment (XAlign, TheValue);",end;
      Count=0
    Prop=XPad
      PropType=Property
      PascalType=word
      GtkName=XPad
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  SetPadding (TheValue, YPad);",end;
      Count=0
    Prop=YPad
      PropType=Property
      PascalType=word
      GtkName=YPad
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  SetPadding (XPad, TheValue);",end;
      Count=0
  Object=Label
    Inherit=Misc
    GtkFuncName=label
    CreateParams=null
    CreateObject
    Count=7
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  Text := aText;","  SetAlignment (0.0, 0.5);",end;
      Count=1
      Param=aText
        PascalType=string
    Prop=Text
      PropType=Property
      PascalType=string
      GtkName=TheLabel
      ReadFuncType=ObjField
      WriteGtkName=text
      WriteConvert
      Count=0
    Prop=Pattern
      PropType=Property
      PascalType=string
      GtkName=pattern
      ReadConvert
      ReadFuncType=ObjField
      WriteGtkName=pattern
      WriteConvert
      Count=0
    Prop=Justify
      PropType=Property
      PascalType=TGtkJustification
      GtkName=jtype
      ReadFuncType=ObjFunc
      WriteGtkName=justify
      Count=0
    Prop=LineWrap
      PropType=Property
      PascalType=boolean
      GtkName=wrap
      ReadFuncType=ObjField
      WriteGtkName=line_wrap
      Count=0
    Prop=ParseUline
      PropType=Function
      PascalType=guint
      GtkName=parse_uline
      Count=1
      Param=aText
        Convert
        PascalType=string
    Prop=LabelClass
      PropType=TypeDeclaration
      Code="  TFPgtkLabelClass = class of TFPgtkLabel;"
      Count=0
  Object=AccelLabel
    Inherit=Label
    GtkFuncName=accel_label
    CreateParams=''
    CreateObject
    Count=3
    Prop=AccelWidget
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=accel_widget
      ReadConvert
      ReadFuncType=ObjField
      WriteGtkName=accel_widget
      WriteConvert
      Count=0
    Prop=AccelText
      PropType=Function
      PascalType=string
      Code=begin,"  result := TheGtkObject^.accel_string;",end;
      Count=0
    Prop=Refetch
      PropType=Procedure
      GtkName=refetch
      Count=0
  Object=TipsQuery
    Inherit=Label
    GtkFuncName=tips_query
    CreateObject
    Count=0
  Object=Arrow
    Inherit=Misc
    GtkFuncName=arrow
    CreateParams=GTK_ARROW_LEFT,GTK_SHADOW_NONE
    CreateObject
    Count=4
    Prop=ArrowType
      PropType=Property
      PascalType=TGtkArrowType
      Code=begin,"  result := TGtkArrowType (TheGtkObject^.arrow_type);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_arrow_set (TheGtkObject, TheValue, ShadowType);",end;
      Count=0
    Prop=ShadowType
      PropType=Property
      PascalType=TGtkShadowType
      Code=begin,"  result := TGtkShadowtype (TheGtkObject^.shadow_type);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_arrow_set (TheGtkObject, ArrowType, TheValue);",end;
      Count=0
    Prop=SetTypes
      PropType=Procedure
      GtkName=set
      Count=2
      Param=AnArrowType
        PascalType=TGtkArrowType
      Param=AShadowtype
        PascalType=TGtkShadowType
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  SetTypes (AnArrowType, AShadowType);",end;
      Count=2
      Param=AnArrowType
        PascalType=TGtkArrowType
      Param=AShadowType
        PascalType=TGtkShadowType
  Object=Image
    Inherit=Misc
    GtkFuncName=image
    CreateParams=FImage, FMask
    CreateObject
    Count=7
    Prop=FImage
      PropType=Field
      PascalType=PGdkImage
      Count=0
    Prop=FMask
      PropType=Field
      PascalType=PGdkBitMap
      Count=0
    Prop=Image
      PropType=Property
      PascalType=PGdkImage
      GtkName=GetImageProp
      Code="var m : PGdkBitmap;",begin,"  gtk_image_get (TheGtkObject, @result, @m);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetImageProp
      WriteCode=begin,"  gtk_Image_set (TheGtkObject, TheValue, nil);",end;
      Count=0
    Prop=Mask
      PropType=Property
      PascalType=PGdkBitMap
      Code="var p : PGdkPixmap;",begin,"  gtk_image_get (TheGtkObject, @p, @result);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_image_set (TheGtkObject, Image, TheValue);",end;
      Count=0
    Prop=SetImage
      PropType=Procedure
      GtkName=set
      Count=2
      Param=anImage
        PascalType=PGdkImage
      Param=aMask
        PascalType=PGdkBitmap
    Prop=Create
      PropType=Constructor
      Code=begin,"  FImage := anImage;","  FMask := aMask;","  inherited create;",end;
      Count=2
      Param=anImage
        PascalType=PGdkImage
      Param=aMask
        PascalType=PGdkBitmap
    Prop=NewImage
      PropType=HelperFunc
      PascalType=PGdkImage
      Code=begin,"  result := gdk_image_new (gdk_image_fastest, gdk_visual_get_system, aWidth, aHeight);",end;
      Count=2
      Param=aWidth
        PascalType=integer
      Param=aHeight
        PascalType=integer
  Object=Pixmap
    Inherit=Misc
    GtkFuncName=pixmap
    CreateParams=FPixMap, FMask
    CreateObject
    Count=20
    Prop=EmptyBitMap
      PropType=Declarations
      Section=Private
      Code=var,"  EmptyBitmap : PGdkPixmap;"
      Count=0
    Prop=PStringArray
      PropType=TypeDeclaration
      Code="  TStringArray = array[0..32000] of pgchar;","  PStringArray = ^TStringArray;"
      Count=0
    Prop=StringsToPPgchar
      PropType=HelperFunc
      PascalType=PPgchar
      Code="var r : integer;","    a : PStringArray;",begin,"  getmem (a, sizeof (pgchar) * Data.count);","  for r := 0 to Data.Count-1 do","    a^[r] := pchar (Data[r]);","  result := ppgchar (a);",end;
      Count=1
      Param=Data
        PascalType=TStrings
    Prop=ArrayToPPgchar
      PropType=HelperFunc
      PascalType=PPgchar
      Code="var r,t : integer;","    a : PStringArray;",begin,"  getmem (a, sizeof (pgchar) * (high(data)-low(data)+1));","  t := 0;","  for r := low(data) to high(data) do","    begin","    a^[r] := pchar (data[t]);","    inc (t);","    end;","  result := ppgchar (a);",end;
      Count=1
      Param=Data
        PascalType=array of string
    Prop=BuildInsensitive
      PropType=Property
      PascalType=longbool
      GtkName=build_insensitive
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=build_insensitive
      WriteConvert
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  if not assigned (EmptyBitmap) then","    EmptyBitmap := gdk_pixmap_new (null, 1, 1, 1);","  FPixMap := EmptyBitmap;","  FMask := PGdkBitmap (EmptyBitmap);","  inherited create;",end;
      Count=0
    Prop=CreateFromFile
      PropType=Constructor
      Code=begin,"  FPixMap := gdk_pixmap_create_from_xpm (ConvertToGtkWidget(Window)^.window, @FMask, nil, pgchar(Filename));","  inherited create;",end;
      Count=2
      Param=Filename
        PascalType=string
      Param=Window
        PascalType=TFPgtkWidget
    Prop=CreateFromStrings
      PropType=Constructor
      Code="var ppdata : ppgchar;",begin,"  ppdata := StringsToPPgchar(Data);","  FPixMap := gdk_pixmap_create_from_xpm_d (ConvertToGtkWidget(Window)^.window, @FMask, nil, ppdata);","  inherited create;","  freemem (ppdata, sizeof (pgchar) * Data.count);",end;
      Count=2
      Param=Data
        PascalType=TStrings
      Param=Window
        PascalType=TFPgtkWidget
    Prop=CreateFromText
      PropType=Constructor
      Code="var l : TStrings;",begin,"  l := TStringList.Create;","  try","    l.Text := data;","    CreateFromStrings (l, Window);","  finally","    l.Free;","  end;",end;
      Count=2
      Param=Data
        PascalType=string
      Param=Window
        PascalType=TFPgtkWidget
    Prop=FPixMap
      PropType=Field
      PascalType=PGdkPixmap
      Count=0
    Prop=FMask
      PropType=Field
      PascalType=PGdkBitMap
      Count=0
    Prop=PixMap
      PropType=Property
      PascalType=PGdkPixMap
      GtkName=GetPixmapProp
      Code="var m : PGdkBitmap;",begin,"  gtk_pixmap_get (TheGtkObject, @result, @m);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetPixmapProp
      WriteCode=begin,"  gtk_pixmap_set (TheGtkObject, TheValue, nil);",end;
      Count=0
    Prop=Mask
      PropType=Property
      PascalType=PGdkBitMap
      Code="var p : PGdkPixmap;",begin,"  gtk_pixmap_get (TheGtkObject, @p, @result);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_pixmap_set (TheGtkObject, Pixmap, TheValue);",end;
      Count=0
    Prop=SetPixmap
      PropType=Procedure
      GtkName=set
      Count=2
      Param=aPixmap
        PascalType=PGdkPixMap
      Param=aMask
        PascalType=PGdkBitmap
    Prop=GetPixmap
      PropType=Procedure
      Code="var P:PGdkPixmap; ","   M:PGdkBitmap;",begin,"  gtk_pixmap_get (TheGtkObject, @p, @m);","  apixmap := p;","  amask := m;",end;
      Count=2
      Param=aPixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=aMask
        PascalType=PGdkBitmap
        ParamType=Var
    Prop=LoadFromFile
      PropType=Procedure
      Code="var bm : PGdkBitmap;","    pm : PGdkPixmap;",begin,"  pm := gdk_pixmap_colormap_create_from_xpm (nil, Colormap, @bm, nil, pgchar(Filename));","  SetPixmap (pm, bm);",end;
      Count=1
      Param=Filename
        PascalType=string
    Prop=LoadFromStrings
      PropType=Procedure
      Code="var bm : PGdkBitmap;","    pm : PGdkPixmap;","    ppdata : ppgchar;",begin,"  ppdata := StringsToPPgchar(Data);","  pm := gdk_pixmap_colormap_create_from_xpm_d (nil, Colormap, @bm, nil, ppdata);","  SetPixmap (pm, bm);","  freemem (ppdata, sizeof (pgchar) * Data.count);",end;
      Count=1
      Param=data
        PascalType=TStrings
    Prop=LoadFromText
      PropType=Procedure
      Code="var l : TStrings;",begin,"  l := TStringList.Create;","  try","    l.Text := data;","    LoadFromStrings (l);","  finally","    l.Free;","  end;",end;
      Count=1
      Param=data
        PascalType=string
    Prop=LoadFromArray
      PropType=Procedure
      Code="var bm : PGdkBitmap;","    pm : PGdkPixmap;","    ppdata : ppgchar;",begin,"  ppdata := ArrayToPPgchar(Data);","  pm := gdk_pixmap_colormap_create_from_xpm_d (nil, Colormap, @bm, nil, ppdata);","  SetPixmap (pm, bm);","  freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));",end;
      Count=1
      Param=data
        PascalType=array of string
    Prop=CreateGdkPixmap
      PropType=HelperProc
      Code="var ppdata : ppgchar;",begin,"  ppdata := ArrayToPPgchar(Data);","  ThePixmap := gdk_pixmap_create_from_xpm_d (aWindow, @TheMask, nil, ppdata);","  freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));",end;
      Count=4
      Param=ThePixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=TheMask
        PascalType=PGdkBitmap
        ParamType=Var
      Param=aWindow
        PascalType=PGdkWindow
      Param=data
        PascalType=array of string
  Object=Container
    Inherit=Widget
    GtkFuncName=container
    Count=19
    Prop=Border
      PropType=Property
      PascalType=integer
      GtkName=border_width
      ReadFuncType=ObjFunc
      WriteGtkName=border_width
      Count=0
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_container_add (TheGtkObject, ConvertToGtkWidget(AWidget));","  if IsVisible then","    AWidget.Show;",end;
      Overload
      Count=2
      Param=AWidget
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_container_add (TheGtkObject, ConvertToGtkWidget(AWidget));","  AWidget.Show;",end;
      Overload
      Count=1
      Param=AWidget
        PascalType=TFPgtkWidget
    Prop=Remove
      PropType=Procedure
      GtkName=remove
      Count=1
      Param=AWidget
        Convert
        PascalType=TFPgtkWidget
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  FChildren := TFPgtkWidgetGroup.Create;",end;
      Count=0
    Prop=Destroy
      PropType=Destructor
      Code=begin,"  if assigned(FChildren) then","    FChildren.Free;","  inherited destroy;",end;
      Override
      Count=0
    Prop=Children
      PropType=Property
      PascalType=TFPgtkWidgetGroup
      Code=begin,"  FChildren.GtkList := gtk_container_children (TheGtkObject);","  result := FChildren;",end;
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=FChildren
      PropType=Field
      PascalType=TFPgtkWidgetGroup
      Count=0
    Prop=Focus
      PropType=Procedure
      GtkName=focus
      Count=1
      Param=Direction
        PascalType=TGtkDirectionType
    Prop=FocusChild
      PropType=Procedure
      GtkName=set_focus_child
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=RegisterToplevel
      PropType=Procedure
      GtkName=register_toplevel
      Count=0
    Prop=UnregisterToplevel
      PropType=Procedure
      GtkName=unregister_toplevel
      Count=0
    Prop=ResizeChildren
      PropType=Procedure
      GtkName=resize_children
      Count=0
    Prop=DirectionFunctionSignal
      PropType=SignalType
      PascalType=TGtkDirectionType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=Direction
        PascalType=TGtkDirectionType
      Param=data
        PascalType=pointer
    Prop=Add
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=add
      Count=0
    Prop=Remove
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=remove
      Count=0
    Prop=CheckResize
      PropType=Signal
      PascalType=Signal
      GtkName=check-resize
      Count=0
    Prop=Focus
      PropType=Signal
      PascalType=DirectionFunctionSignal
      GtkName=focus
      Count=0
    Prop=SetFocusChild
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=set-focus
      Count=0
  Object=Bin
    Inherit=Container
    GtkFuncName=bin
    Count=1
    Prop=Child
      PropType=Property
      Section=Protected
      PascalType=TFPgtkWidget
      GtkName=Child
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  Add (TheValue);",end;
      Count=0
  Object=Alignment
    Inherit=Bin
    GtkFuncName=alignment
    CreateParams=0,0,1,1
    Count=1
    Prop=Configure
      PropType=Procedure
      GtkName=set
      Count=4
      Param=anXAlign
        PascalType=gfloat
      Param=anYAlign
        PascalType=gfloat
      Param=anXScale
        PascalType=gfloat
      Param=anYScale
        PascalType=gfloat
  Object=Frame
    Inherit=Bin
    GtkFuncName=frame
    CreateParams=nil
    CreateObject
    Count=3
    Prop=Text
      PropType=Property
      PascalType=string
      GtkName=thelabel
      ReadConvert
      ReadFuncType=ObjField
      WriteGtkName=label
      WriteConvert
      Count=0
    Prop=Alignment
      PropType=Property
      PascalType=gfloat
      GtkName=label_xalign
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_frame_set_label_align (ThegtkObject, TheValue, 0.0);",end;
      Count=0
    Prop=ShadowType
      PropType=Property
      PascalType=TgtkShadowType
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
  Object=AspectFrame
    Inherit=Frame
    GtkFuncName=aspect_frame
    CreateParams=nil,0,0,1,1
    CreateObject
    Count=1
    Prop=Configure
      PropType=Procedure
      GtkName=set
      Count=4
      Param=anXAlign
        PascalType=gfloat
      Param=anYAlign
        PascalType=gfloat
      Param=Ratio
        PascalType=gfloat
      Param=ObeyChild
        Convert
        PascalType=longbool
  Object=Button
    Inherit=Bin
    GtkFuncName=button
    CreateObject
    Count=23
    Prop=LabelClass
      PropType=Function
      Section=Protected
      PascalType=TFPgtkLabelClass
      Code=begin,"  result := TFPgtkLabel;",end;
      Virtual
      Count=0
    Prop=CreateLabel
      PropType=Procedure
      Section=Private
      Code=begin,"if not assigned (FLabel) then","  begin","  FLabel := LabelClass.Create ('');","  with FLabel do","    begin","    AskNotification (Self);","    FAccelKey := ParseULine (aText);","    end;","  if assigned(AddContainer) then","    AddContainer.Add (FLabel)","  else","    Add (FLabel);","  LabelCreated;  ","  end;",end;
      Count=1
      Param=aText
        PascalType=string
    Prop=NotifyDestroy
      PropType=Procedure
      Section=Protected
      Code=begin,"  inherited;","  if AnObject = FLabel then","    FLabel := nil;",end;
      Override
      Count=1
      Param=AnObject
        PascalType=TFPgtkObject
    Prop=Clicked
      PropType=Signal
      PascalType=Signal
      GtkName=Clicked
      Count=0
    Prop=Pressed
      PropType=Signal
      PascalType=Signal
      GtkName=Pressed
      Count=0
    Prop=Released
      PropType=Signal
      PascalType=Signal
      GtkName=Released
      Count=0
    Prop=Enter
      PropType=Signal
      PascalType=Signal
      GtkName=Enter
      Count=0
    Prop=Leave
      PropType=Signal
      PascalType=Signal
      GtkName=Leave
      Count=0
    Prop=Clicked
      PropType=Procedure
      GtkName=Clicked
      Count=0
    Prop=Pressed
      PropType=Procedure
      GtkName=Pressed
      Count=0
    Prop=Released
      PropType=Procedure
      GtkName=Released
      Count=0
    Prop=Enter
      PropType=Procedure
      GtkName=Enter
      Count=0
    Prop=Leave
      PropType=Procedure
      GtkName=Leave
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  FAddContainer := nil;",end;
      Count=0
    Prop=CreateWithLabel
      PropType=Constructor
      Code=begin,"  create;","  Text := aText;",end;
      Overload
      Count=1
      Param=aText
        PascalType=string
    Prop=CreateWithLabel
      PropType=Constructor
      Code=begin,"  create;","  Text := aText;","  if (FAccelKey <> 0) and assigned(AccelGroup) then","    AcceleratorAdd (AccelGroup, sgClicked, FAccelKey, DefaultButtonModifiers, GTK_ACCEL_Visible);",end;
      Overload
      Count=2
      Param=aText
        PascalType=string
      Param=AccelGroup
        PascalType=PGtkAccelGroup
    Prop=TheLabel
      PropType=Property
      PascalType=TFPgtkLabel
      GtkName=FLabel
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=Text
      PropType=Property
      PascalType=string
      Code=begin,"  if assigned (FLabel) then","    result := FLabel.Text","  else","    result := '';",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  if assigned (FLabel) then","    FLabel.Text := TheValue","  else","    if TheValue <> '' then","      CreateLabel (TheValue);",end;
      Count=0
    Prop=ReliefStyle
      PropType=Property
      PascalType=TGtkReliefStyle
      GtkName=relief
      WriteGtkName=relief
      Count=0
    Prop=AddContainer
      PropType=Property
      PascalType=TFPgtkContainer
      GtkName=FAddContainer
      ReadFuncType=Field
      WriteProcType=Field
      WriteGtkName=FAddContainer
      Count=0
    Prop=LabelCreated
      PropType=Procedure
      Section=Protected
      Code=begin,"  FLabel.setalignment (0.5,0.5);",end;
      Virtual
      Count=0
    Prop=AccelKey
      PropType=Property
      PascalType=guint
      GtkName=FAccelKey
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=New
      PropType=Declarations
      Code=const,"  DefaultButtonModifiers : TGdkModifierType = GDK_MOD1_MASK;"
      Count=0
  Object=ToggleButton
    Inherit=Button
    GtkFuncName=toggle_button
    CreateObject
    Count=4
    Prop=Toggled
      PropType=Signal
      PascalType=Signal
      GtkName=toggled
      Count=0
    Prop=Toggled
      PropType=Procedure
      GtkName=toggled
      Count=0
    Prop=Active
      PropType=Property
      PascalType=boolean
      GtkName=active
      WriteGtkName=active
      Count=0
    Prop=DrawIndicator
      PropType=Property
      PascalType=boolean
      GtkName=draw_indicator
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=ObjFunc
      WriteGtkName=draw_indicator
      WriteConvert
      Count=0
  Object=CheckButton
    Inherit=ToggleButton
    GtkFuncName=check_button
    CreateObject
    Count=0
  Object=RadioButton
    Inherit=CheckButton
    GtkFuncName=radio_button
    Count=4
    Prop=FGroup
      PropType=Field
      PascalType=TFPgtkRadioButtonGroup
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FGroup := AGroup;","  inherited create;",end;
      Count=1
      Param=AGroup
        PascalType=TFPgtkRadioButtonGroup
    Prop=CreateWithLabel
      PropType=Constructor
      Code=begin,"  FGroup := AGroup;","  inherited CreateWithLabel (aText);",end;
      Count=2
      Param=AGroup
        PascalType=TFPgtkRadioButtonGroup
      Param=aText
        PascalType=string
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code=begin,"  if not assigned (FGroup) then","    FGroup := TFPgtkRadioButtonGroup.Create;","  TheGtkWidget := gtk_radio_button_new (FGroup.GtkSList);","  FGroup.GtkSList := gtk_radio_button_group (TheGtkObject);",end;
      Override
      Count=0
  Object=RadioButtonGroup
    Inherit=WidgetGroup
    Count=5
    Prop=Items
      PropType=Property
      PascalType=TFPgtkRadioButton
      GtkName=GetItem
      Code=begin,"  result := TFPgtkRadioButton(Inherited items[index]);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetItem
      WriteCode=begin,"  inherited items[index] := TheValue;",end;
      Count=1
      Param=index
        PascalType=integer
    Prop=ActiveButtonText
      PropType=Function
      PascalType=string
      Code=begin,"  result := ActiveButton.Text;",end;
      Count=0
    Prop=ActiveButtonIndex
      PropType=Function
      PascalType=integer
      Code=begin,"  Result := pred(count);","  while (Result >= 0) and (not items[Result].Active) do","    dec (Result);",end;
      Count=0
    Prop=ActiveButton
      PropType=Function
      PascalType=TFPgtkRadioButton
      Code="var r : integer;",begin,"  r := ActiveButtonIndex;","  if r >= 0 then","    result := items[r]","  else","    result := nil;",end;
      Count=0
    Prop=RadioButtonGroupCreateFromStrings
      PropType=HelperFunc
      PascalType=TFPgtkRadioButtonGroup
      Code="var r : integer;","    b : TFPgtkRadioButton;",begin,"  result := TFPgtkRadioButtonGroup.Create;","  result.BeginUpdate;","  for r := TheItems.count-1 downto 0 do","    begin","    b := TFPgtkRadioButton.CreateWithLabel (result, TheItems[r]);","    if assigned(toggledfunction) then","      b.connecttoggled (ToggledFunction, IntToPointer(r));","    end;","  b.active := true;","  result.EndUpdate;",end;
      Count=2
      Param=TheItems
        PascalType=TStrings
      Param=ToggledFunction
        PascalType=TFPgtkSignalFunction
  Object=OptionMenu
    Inherit=Button
    GtkFuncName=option_menu
    CreateObject
    Count=4
    Prop=Menu
      PropType=Property
      PascalType=TFPgtkMenu
      GtkName=menu
      ReadConvert
      WriteProcType=Proc
      WriteGtkName=setmenu
      WriteCode=begin,"  gtk_option_menu_set_menu(TheGtkObject, ConvertToGtkWidget(TheValue));",end;
      Count=0
    Prop=RemoveMenu
      PropType=Procedure
      GtkName=remove_menu
      Count=0
    Prop=SetHistory
      PropType=Procedure
      GtkName=set_history
      Count=1
      Param=index
        PascalType=integer
    Prop=Clear
      PropType=Procedure
      Code="var w : TFPgtkWidget;",begin,"  w := Menu;","  if assigned(w) then","    begin","    w := TFPgtkMenu(w).Active;","    if assigned (w) then","      TFPgtkItem(w).Deselect;","    end;",end;
      Count=0
  Object=Item
    Inherit=Bin
    GtkFuncName=item
    Count=17
    Prop=LabelClass
      PropType=Function
      Section=Protected
      PascalType=TFPgtkLabelClass
      Code=begin,"  result := TFPgtkLabel;",end;
      Virtual
      Count=0
    Prop=CreateLabel
      PropType=Procedure
      Section=Private
      Code=begin,"  if not assigned (FLabel) then","    begin","    FLabel := LabelClass.Create ('');","    with FLabel do","      begin","      AskNotification (Self);","      FAccelKey := ParseULine (aText);","      end;","    if assigned(AddContainer) then","      AddContainer.Add (FLabel)","    else","      Add (FLabel);","    LabelCreated;","    end;",end;
      Count=1
      Param=aText
        PascalType=string
    Prop=NotifyDestroy
      PropType=Procedure
      Section=Protected
      Code=begin,"  inherited;","  if AnObject = FLabel then","    FLabel := nil;",end;
      Override
      Count=1
      Param=AnObject
        PascalType=TFPgtkObject
    Prop=Select
      PropType=Signal
      PascalType=Signal
      GtkName=Select
      Count=0
    Prop=Deselect
      PropType=Signal
      PascalType=Signal
      GtkName=Deselect
      Count=0
    Prop=Toggle
      PropType=Signal
      PascalType=Signal
      GtkName=Toggle
      Count=0
    Prop=Select
      PropType=Procedure
      GtkName=Select
      Count=0
    Prop=Deselect
      PropType=Procedure
      GtkName=Deselect
      Count=0
    Prop=Toggle
      PropType=Procedure
      GtkName=Toggle
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited;","  FAddContainer := nil;",end;
      Count=0
    Prop=CreateWithLabel
      PropType=Constructor
      Code=begin,"  inherited create;","  Text := aText;",end;
      Count=1
      Param=aText
        PascalType=string
    Prop=TheLabel
      PropType=Property
      PascalType=TFPgtkLabel
      GtkName=FLabel
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=Text
      PropType=Property
      PascalType=string
      Code=begin,"  if assigned (FLabel) then","    result := FLabel.Text","  else","    result := '';",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  if assigned (FLabel) then","    FLabel.Text := TheValue","  else","    if TheValue <> '' then","      CreateLabel (TheValue);",end;
      Count=0
    Prop=ItemClass
      PropType=TypeDeclaration
      Code="  TFPgtkItemClass = class of TFPgtkItem;"
      Count=0
    Prop=AddContainer
      PropType=Property
      PascalType=TFPgtkContainer
      GtkName=FAddContainer
      ReadFuncType=Field
      WriteProcType=Field
      WriteGtkName=FAddContainer
      Count=0
    Prop=LabelCreated
      PropType=Procedure
      Section=Protected
      Code=begin,end;
      Virtual
      Count=0
    Prop=AccelKey
      PropType=Property
      PascalType=guint
      GtkName=FAccelKey
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
  Object=ItemGroup
    Inherit=WidgetGroup
    Count=8
    Prop=Items
      PropType=Property
      PascalType=TFPgtkItem
      GtkName=GetItem
      Code=begin,"  result := TFPgtkItem (inherited items[index]);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetItem
      WriteCode=begin,"  inherited items[index] := TheValue;",end;
      Count=1
      Param=index
        PascalType=integer
    Prop=FillFromList
      PropType=Procedure
      Code="var r : integer;","    i : TFPgtkItem;",begin,"  BeginUpdate;","  for r := 0 to aList.count-1 do","    begin","    i := FItemClass.CreateWithLabel (aList[r]);","    add (i);","    i.Show;","    end;","  EndUpdate;",end;
      Count=1
      Param=aList
        PascalType=TStrings
    Prop=FillFromCommaText
      PropType=Procedure
      Code="var l : TStrings;",begin,"  l := TStringList.Create;","  try","    l.commatext := aList;","    FillFromList (l);","  finally","    l.Free;","  end;",end;
      Count=1
      Param=aList
        PascalType=string
    Prop=FillFromArray
      PropType=Procedure
      Code="var r : integer;","    l : TStrings;",begin,"  l := TStringlist.Create;","  try","    for r := low (aList) to high(aList) do","      l.Add (aList[r]);","    FillFromList (l);","  finally","    l.Free;","  end;",end;
      Count=1
      Param=aList
        PascalType=array of string
    Prop=ItemClass
      PropType=Property
      PascalType=TFPgtkItemClass
      ReadFuncType=Field
      WriteProcType=Field
      Count=0
    Prop=SignalConnect
      PropType=Procedure
      Code="var r : integer;",begin,"  if assigned (Proc) then","    for r := 0 to count-1 do","      Items[r].SignalConnect (Signal, proc, data);",end;
      Count=3
      Param=Signal
        PascalType=string
      Param=proc
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=create
      PropType=Constructor
      Code=begin,"  inherited create;","  FItemClass := AnItemClass;",end;
      Count=1
      Param=AnItemClass
        PascalType=TFPgtkItemClass
    Prop=AddTextItem
      PropType=Function
      PascalType=TFPgtkItem
      Code=begin,"  result := FItemClass.CreateWithLabel (aText);","  Add (result);","  result.Show;",end;
      Count=1
      Param=aText
        PascalType=string
  Object=MenuItem
    Inherit=Item
    GtkFuncName=menu_item
    CreateObject
    Count=14
    Prop=Activate
      PropType=Signal
      PascalType=signal
      GtkName=activate
      Count=0
    Prop=ActivateItem
      PropType=Signal
      PascalType=signal
      GtkName=activate-item
      Count=0
    Prop=Activate
      PropType=Procedure
      GtkName=activate
      Count=0
    Prop=SetSubMenu
      PropType=Procedure
      GtkName=Set_submenu
      Count=1
      Param=aSubMenu
        Convert
        PascalType=TFPgtkWidget
    Prop=RemoveSubMenu
      PropType=Procedure
      GtkName=remove_submenu
      Count=0
    Prop=Configure
      PropType=Procedure
      Code=begin,"  gtk_menu_item_configure (TheGtkObject, ord(ShowToggleIndicator), ord(ShowSubmenuIndicator));",end;
      Count=2
      Param=ShowToggleIndicator
        Convert
        PascalType=boolean
      Param=ShowSubmenuIndicator
        Convert
        PascalType=boolean
    Prop=RightJustify
      PropType=Procedure
      GtkName=right_justify
      Count=0
    Prop=Placement
      PropType=Property
      PascalType=TGtkSubmenuPlacement
      Code=begin,"  result := TGtkSubmenuPlacement(submenu_placement(TheGtkObject^));",end;
      ReadConvert
      ReadFuncType=Proc
      WriteGtkName=placement
      Count=0
    Prop=ToggleIndicator
      PropType=Property
      PascalType=boolean
      GtkName=show_toggle_indicator
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  Configure (TheValue, SubMenuIndicator);",end;
      Count=0
    Prop=SubMenuIndicator
      PropType=Property
      PascalType=boolean
      GtkName=show_submenu_indicator
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  configure (ToggleIndicator, TheValue);",end;
      Count=0
    Prop=JustifyRight
      PropType=Property
      PascalType=boolean
      GtkName=right_justify
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=ObjFunc
      WriteGtkName=right_justify
      WriteConvert
      Count=0
    Prop=SubMenu
      PropType=Property
      PascalType=TFPgtkMenuShell
      GtkName=submenu
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteGtkName=SetPropSubMenu
      WriteCode=begin,"  SetSubMenu (TheValue);",end;
      Count=0
    Prop=LabelClass
      PropType=Function
      Section=Protected
      PascalType=TFPgtkLabelClass
      Code=begin,"  result := TFPgtkAccelLabel;",end;
      Override
      Count=0
    Prop=LabelCreated
      PropType=Procedure
      Section=Protected
      Code=begin,"  with (TheLabel as TFPgtkAccelLabel) do","    AccelWidget := Self;",end;
      Override
      Count=0
  Object=CheckMenuItem
    Inherit=MenuItem
    GtkFuncName=check_menu_item
    CreateObject
    Count=4
    Prop=Toggled
      PropType=Signal
      PascalType=signal
      GtkName=toggled
      Count=0
    Prop=Toggled
      PropType=Procedure
      GtkName=toggled
      Count=0
    Prop=Active
      PropType=Property
      PascalType=boolean
      GtkName=active
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=active
      Count=0
    Prop=ShowToggle
      PropType=Property
      PascalType=boolean
      GtkName=always_show_toggle
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=show_toggle
      Count=0
  Object=RadioMenuItem
    Inherit=CheckMenuItem
    GtkFuncName=radio_menu_item
    Count=4
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code=begin,"  if not assigned(FGroup) then","    FGroup := TFPgtkRadioMenuGroup.Create;","  TheGtkWidget := gtk_radio_menu_item_new (FGroup.GtkSList);","  FGroup.GtkSList := gtk_radio_menu_item_group (TheGtkObject);",end;
      Override
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FGroup := AGroup;","  inherited create;",end;
      Count=1
      Param=AGroup
        PascalType=TFPgtkRadioMenuGroup
    Prop=CreateWithLabel
      PropType=Constructor
      Code=begin,"  FGroup := Agroup;","  inherited CreateWithLabel (aText);",end;
      Count=2
      Param=Agroup
        PascalType=TFPgtkRadioMenuGroup
      Param=aText
        PascalType=string
    Prop=Group
      PropType=Property
      PascalType=TFPgtkRadioMenuGroup
      GtkName=FGroup
      ReadFuncType=Field
      WriteProcType=NotImplemented
      WriteConvert
      Count=0
  Object=RadioMenuGroup
    Inherit=ItemGroup
    Count=5
    Prop=Items
      PropType=Property
      PascalType=TFPgtkRadioMenuItem
      GtkName=GetItem
      Code=begin,"  result := TFPgtkRadioMenuItem(Inherited items[index]);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetItem
      WriteCode=begin,"  inherited items[index] := TheValue;",end;
      Count=1
      Param=index
        PascalType=integer
    Prop=ActiveMenuText
      PropType=Function
      PascalType=string
      Code=begin,"  result := ActiveMenu.Text;",end;
      Count=0
    Prop=ActiveMenuIndex
      PropType=Function
      PascalType=integer
      Code=begin,"  Result := pred(count);","  while (Result >= 0) and (not items[Result].Active) do","    dec (Result);",end;
      Count=0
    Prop=ActiveMenu
      PropType=Function
      PascalType=TFPgtkRadioMenuItem
      Code="var r : integer;",begin,"  r := ActiveMenuIndex;","  if r >= 0 then","    result := items[r]","  else","    result := nil;",end;
      Count=0
    Prop=create
      PropType=Constructor
      Code=begin,"  inherited create (TFPgtkRadioMenuItem);",end;
      Count=0
  Object=TearOffMenuItem
    Inherit=MenuItem
    GtkFuncName=tearoff_menu_item
    CreateObject
    Count=0
  Object=ListItem
    Inherit=Item
    GtkFuncName=list_item
    CreateObject
    Count=14
    Prop=ScrollSignal
      PropType=SignalType
      Count=4
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=ScrollType
        PascalType=TgtkScrollType
      Param=position
        PascalType=gfloat
      Param=data
        PascalType=pointer
    Prop=ScrollBooleanSignal
      PropType=SignalType
      Count=5
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=ScrolType
        PascalType=TgtkScrollType
      Param=Position
        PascalType=gfloat
      Param=AutoStartSelection
        PascalType=boolean
      Param=data
        PascalType=pointer
    Prop=ToggleFocusRow
      PropType=Signal
      PascalType=Signal
      GtkName=toggle-focus-row
      Count=0
    Prop=SelectAll
      PropType=Signal
      PascalType=Signal
      GtkName=select-all
      Count=0
    Prop=UnselectAll
      PropType=Signal
      PascalType=Signal
      GtkName=unselect-all
      Count=0
    Prop=UndoSelection
      PropType=Signal
      PascalType=Signal
      GtkName=undo-selection
      Count=0
    Prop=StartSelection
      PropType=Signal
      PascalType=Signal
      GtkName=start-selection
      Count=0
    Prop=EndSelection
      PropType=Signal
      PascalType=Signal
      GtkName=end-selection
      Count=0
    Prop=ToggleAddMode
      PropType=Signal
      PascalType=Signal
      GtkName=toggle-add-mode
      Count=0
    Prop=ExtendSelection
      PropType=Signal
      PascalType=ScrollBooleanSignal
      GtkName=extend-selection
      Count=0
    Prop=ScrollVertical
      PropType=Signal
      PascalType=ScrollSignal
      GtkName=scroll-vertical
      Count=0
    Prop=ScrollHorizontal
      PropType=Signal
      PascalType=ScrollSignal
      GtkName=scroll-horizontal
      Count=0
    Prop=Select
      PropType=Procedure
      GtkName=select
      Count=0
    Prop=Deselect
      PropType=Procedure
      GtkName=deselect
      Count=0
  Object=ListItemGroup
    Inherit=ItemGroup
    Count=1
    Prop=create
      PropType=Constructor
      Code=begin,"  inherited create (TFPgtkListItem);","  ManageLists := false;",end;
      Count=0
  Object=TreeItem
    Inherit=Item
    GtkFuncName=tree_item
    CreateObject
    Count=10
    Prop=SubTree
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=subtree
      ReadConvert
      ReadFuncType=GtkMacro
      WriteProcType=Proc
      WriteCode=begin,"  if assigned(TheValue) then","    gtk_tree_item_set_subtree (TheGtkObject, ConvertToGtkWidget(TheValue))","  else","    gtk_tree_item_remove_subtree (TheGtkObject);",end;
      WriteConvert
      Count=0
    Prop=PixPlus
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=plus_pix_widget
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=PixMinus
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=minus_pix_widget
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=Expanded
      PropType=Property
      PascalType=boolean
      GtkName=expanded
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    Expand","  else","    collapse;",end;
      Count=0
    Prop=Select
      PropType=Procedure
      GtkName=select
      Count=0
    Prop=Deselect
      PropType=Procedure
      GtkName=deselect
      Count=0
    Prop=Expand
      PropType=Procedure
      GtkName=expand
      Count=0
    Prop=Collapse
      PropType=Procedure
      GtkName=collapse
      Count=0
    Prop=Collapse
      PropType=Signal
      PascalType=Signal
      GtkName=collapse
      Count=0
    Prop=Expand
      PropType=Signal
      PascalType=Signal
      GtkName=expand
      Count=0
  Object=Window
    Inherit=Bin
    GtkFuncName=window
    CreateParams=TheWindowType
    CreateObject
    Count=46
    Prop=TheWindowType
      PropType=Field
      Section=Private
      PascalType=TGtkWindowType
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  TheWindowType := AType;","  inherited Create;","  FAccelGroups := TList.Create;","  FMainLevel := NoMainLevel;",end;
      Count=1
      Param=AType
        PascalType=TGtkWindowType
    Prop=Destroy
      PropType=Destructor
      Code=begin,"  FAccelGroups.Free;","  inherited;",end;
      Override
      Count=0
    Prop=WindowType
      PropType=Property
      PascalType=TGtkWindowType
      GtkName=thetype
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=thetype
      Count=0
    Prop=Title
      PropType=Property
      PascalType=string
      GtkName=title
      ReadConvert
      ReadFuncType=ObjField
      WriteGtkName=title
      WriteConvert
      Count=0
    Prop=Modal
      PropType=Property
      PascalType=boolean
      GtkName=modal
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=modal
      Count=0
    Prop=DialogResult constants
      PropType=Declarations
      Code=const,"  drNone = 0;","  drOk = 1;","  drCancel = 2;","  drYes = 3;","  drNo = 4;","  drRetry = 5;","  NoMainLevel = high (guint);"
      Count=0
    Prop=DialogCallback
      PropType=TypeDeclaration
      Section=Published
      Code="  DialogResultCallback = procedure (Sender:TFPgtkWindow; DialogResult:pointer; ","                                    Action:integer; initiator:TFPgtkObject) of object;","  DialogInitCallback = procedure (Sender : TFPgtkWindow; InitData : pointer) of object;","  TFPgtkWindowClass = class of TFPgtkWindow;"
      Count=0
    Prop=DialogResult
      PropType=Property
      Section=Protected
      PascalType=pointer
      GtkName=FDialogResult
      ReadFuncType=Field
      WriteProcType=Field
      WriteGtkName=FDialogResult
      Count=0
    Prop=DoDialogResult
      PropType=Procedure
      Section=Protected
      Code=begin,"  if assigned (OnDialogResult) then","    OnDialogResult (self, FDialogResult, Action, Sender);",end;
      Virtual
      Count=2
      Param=Action
        PascalType=integer
      Param=Sender
        PascalType=TFPgtkObject
    Prop=OnDialogResult
      PropType=Property
      PascalType=DialogResultCallback
      ReadFuncType=Field
      WriteProcType=Field
      Count=0
    Prop=DoDialogInit
      PropType=Procedure
      Section=Protected
      Code=begin,"  if assigned (OnDialogInit) then","    OnDialogInit (self, InitData);","  FDialogResult := InitData;",end;
      Virtual
      Count=1
      Param=InitData
        PascalType=pointer
    Prop=OnDialogInit
      PropType=Property
      PascalType=DialogInitCallback
      ReadFuncType=Field
      WriteProcType=Field
      Count=0
    Prop=Close
      PropType=Procedure
      Code=begin,"  if (FDestroying = dsAlive) then","    gtk_widget_destroy (TheGtkWidget);",end;
      Count=0
    Prop=CloseWindow
      PropType=Procedure
      Code=begin,"  Close;",end;
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=data
        PascalType=pointer
    Prop=CloseWithResult
      PropType=Procedure
      Code=begin,"  ModalAction := pointertoint(data);",end;
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=data
        PascalType=pointer
    Prop=ModalAction
      PropType=Property
      PascalType=integer
      GtkName=FModalAction
      ReadFuncType=Field
      WriteProcType=Proc
      WriteCode=begin,"  FModalAction := TheValue;","  if TheValue <> 0 then","    begin","    DoDialogResult (FModalAction, self);","    close;","    end;",end;
      Count=0
    Prop=MainLevel
      PropType=Property
      PascalType=guint
      GtkName=FMainLevel
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=ExecuteEnds
      PropType=Procedure
      Section=Private
      Code=begin,"  if gtk_main_level = FMainLevel then","    gtk_main_quit;",end;
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=data
        PascalType=pointer
    Prop=Execute
      PropType=Function
      PascalType=integer
      Code=begin,"  FModalAction := drNone;","  if assigned (anOnDialogInit) then","    OnDialogInit := anOnDialogInit;","  DoDialogInit (anInitData);","  if assigned (anOnDialogResult) then","    OnDialogResult := anOnDialogResult;","  ConnectDestroy (@ExecuteEnds, nil);","  Modal := True;","  Show;","  FMainLevel := gtk_main_level + 1;","  try","    gtk_main;","    result := FModalAction;","  finally","    FMainLevel := NoMainLevel;","  end;",end;
      Count=3
      Param=anOnDialogInit
        PascalType=DialogInitCallBack
      Param=anInitData
        PascalType=pointer
      Param=anOnDialogResult
        PascalType=DialogResultCallBack
    Prop=SetFocus
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=set-focus
      Count=0
    Prop=SetTransientFor
      PropType=Procedure
      GtkName=set_transient_for
      Count=1
      Param=aParent
        Convert
        PascalType=TFPgtkWindow
    Prop=DefaultWidget
      PropType=Procedure
      PascalType=TFPgtkWidget
      GtkName=set_default
      Count=1
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
    Prop=FocusedWidget
      PropType=Procedure
      GtkName=set_focus
      Count=1
      Param=NewFocus
        Convert
        PascalType=TFPgtkWidget
    Prop=UserSizable
      PropType=Property
      PascalType=boolean
      Code=begin,"  result := (allow_grow(TheGtkObject^)=1) and (auto_shrink(TheGtkObject^)=0);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  if TheValue then","    gtk_window_set_policy (TheGtkObject, gint(FALSE), gint(TRUE), gint(FALSE))","  else","    gtk_window_set_policy (TheGtkObject, gint(FALSE), gint(FALSE), gint(TRUE));",end;
      Count=0
    Prop=ActivateFocus
      PropType=Procedure
      GtkName=activate_focus
      Count=0
    Prop=ActivateDefault
      PropType=Procedure
      GtkName=activate_default
      Count=0
    Prop=SetDefaultSize
      PropType=Procedure
      GtkName=set_default_size
      Count=2
      Param=Width
        PascalType=gint
      Param=Height
        PascalType=gint
    Prop=Position
      PropType=Property
      PascalType=TGtkWindowPosition
      Code=begin,"  result := TGtkWindowPosition (gtk.position (TheGtkObject^));",end;
      ReadFuncType=Proc
      WriteGtkName=position
      Count=0
    Prop=AccelGroups
      PropType=Finilization
      PascalType=PGtk_accel_group
      Count=1
      Param=index
        PascalType=integer
    Prop=FAccelGroups
      PropType=Field
      Section=Private
      PascalType=TList
      Count=0
    Prop=AccelGroups
      PropType=Property
      PascalType=PGtkAccelGroup
      Code=begin,"  result := FAccelGroups[ID];","  if result = nil then","    result := FAccelGroups[-1];",end;
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=1
      Param=ID
        PascalType=integer
    Prop=AccelGroupNew
      PropType=Function
      PascalType=integer
      Code="var ag : Pgtkaccelgroup;",begin,"  result := FAccelGroups.Count;","  ag := gtk_accel_group_new;","  FAccelGroups.Add (ag);","  gtk_window_add_accel_group (TheGtkObject, ag);",end;
      Count=0
    Prop=AccelGroupDelete
      PropType=Procedure
      Code=begin,"  gtk_accel_group_detach (FAccelGroups[ID], FGtkObject);","  FAccelGroups[ID] := nil;",end;
      Count=1
      Param=ID
        PascalType=integer
    Prop=AcceleratorAdd
      PropType=Procedure
      Code=begin,"  gtk_widget_add_accelerator (ConvertToGtkWidget(aWidget), pgchar(aSignal),","        AccelGroups[AG], Key, Mods, acFlags);",end;
      Overload
      Count=6
      Param=AG
        PascalType=integer
      Param=aWidget
        PascalType=TFPgtkWidget
      Param=aSignal
        PascalType=string
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
      Param=acFlags
        PascalType=TGtkAccelFlags
    Prop=AcceleratorAdd
      PropType=HelperProc
      Code=begin,"  gtk_widget_add_accelerator (ConvertToGtkWidget(aWidget), pgchar(aSignal),","        AG, Key, Mods, Flags);",end;
      Count=6
      Param=AG
        PascalType=PGtkAccelGroup
      Param=aWidget
        PascalType=TFPgtkWidget
      Param=aSignal
        PascalType=string
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
      Param=Flags
        PascalType=TGtkAccelFlags
    Prop=AcceleratorRemove
      PropType=Procedure
      Code=begin,"  gtk_widget_remove_accelerator (ConvertToGtkWidget(aWidget), AccelGroups[AG], Key, Mods);",end;
      Overload
      Count=4
      Param=AG
        PascalType=integer
      Param=aWidget
        PascalType=TFPgtkWidget
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
    Prop=AcceleratorRemove
      PropType=HelperProc
      Code=begin,"  gtk_widget_remove_accelerator (ConvertToGtkWidget(aWidget), AG, Key, Mods);",end;
      Overload
      Count=4
      Param=AG
        PascalType=PGtkAccelGroup
      Param=aWidget
        PascalType=TFPgtkWidget
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
    Prop=AccelGroupLock
      PropType=Procedure
      Code=begin,"  gtk_accel_group_lock (AccelGroups[AG]);",end;
      Count=1
      Param=AG
        PascalType=integer
    Prop=AccelGroupLock
      PropType=HelperProc
      Code=begin,"  gtk_accel_group_lock (AG);",end;
      Count=1
      Param=AG
        PascalType=PGtkAccelGroup
    Prop=AccelGroupUnlock
      PropType=Procedure
      Code=begin,"  gtk_accel_group_unlock (AccelGroups[AG]);",end;
      Count=1
      Param=AG
        PascalType=integer
    Prop=AccelGroupUnlock
      PropType=HelperProc
      Code=begin,"  gtk_accel_group_unlock (AG);",end;
      Count=1
      Param=AG
        PascalType=PGtkAccelGroup
    Prop=AccelKeyName
      PropType=HelperFunc
      PascalType=string
      Code=begin,"  result := string (gtk_accelerator_name(Key, Mods));",end;
      Count=2
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
    Prop=AccelKeyParse
      PropType=HelperProc
      Code="var k : guint;","    m : TGdkModifierType;",begin,"  gtk_accelerator_parse (pgchar(AccelName), @k, @m);","  Key := k;","  Mods := m;",end;
      Count=3
      Param=AccelName
        PascalType=string
      Param=Key
        PascalType=guint
        ParamType=Var
      Param=Mods
        PascalType=TGdkModifierType
        ParamType=Var
    Prop=AccelGroupActivate
      PropType=Procedure
      Code=begin,"  gtk_accel_group_activate (AccelGroups[AG], Key, Mods);",end;
      Count=3
      Param=AG
        PascalType=integer
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
    Prop=AccelGroupActivate
      PropType=HelperProc
      Code=begin,"  gtk_accel_group_activate (AG, Key, Mods);",end;
      Count=3
      Param=AG
        PascalType=PGtkAccelGroup
      Param=Key
        PascalType=guint
      Param=Mods
        PascalType=TGdkModifierType
  Object=ColorSelectionDialog
    Inherit=Window
    GtkFuncName=color_selection_dialog
    CreateParams=''
    CreateObject
    Count=4
    Prop=ColorSel
      PropType=Property
      PascalType=TFPgtkColorSelection
      GtkName=Colorsel
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonOK
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=ok_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonCancel
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=cancel_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonHelp
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=help_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
  Object=Dialog
    Inherit=Window
    GtkFuncName=dialog
    CreateObject
    Count=3
    Prop=ActionArea
      PropType=Property
      PascalType=TFPgtkHBox
      GtkName=action_area
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=VBox
      PropType=Property
      PascalType=TFPgtkVBox
      GtkName=vbox
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=create
      PropType=Constructor
      Code=begin,"  inherited create (gtk_window_dialog);",end;
      Count=0
  Object=InputDialog
    Inherit=Dialog
    GtkFuncName=input_dialog
    CreateObject
    Count=5
    Prop=ButtonClose
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=close_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonSave
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=save_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=DeviceSignal
      PropType=SignalType
      Count=3
      Param=Sender
        Convert
        PascalType=TFPgtkInputDialog
      Param=DeviceID
        PascalType=integer
      Param=Data
        PascalType=pointer
    Prop=EnableDevice
      PropType=Signal
      PascalType=DeviceSignal
      GtkName=enable-device
      Count=0
    Prop=DisableDevice
      PropType=Signal
      PascalType=DeviceSignal
      GtkName=disable-device
      Count=0
  Object=FileSelection
    Inherit=Window
    GtkFuncName=file_selection
    CreateParams='Select a file'
    CreateObject
    Count=13
    Prop=Filename
      PropType=Property
      PascalType=string
      GtkName=filename
      ReadConvert
      WriteProcType=Proc
      WriteCode=begin,"  gtk_file_selection_set_filename(TheGtkObject,Pgchar(TheValue));",end;
      WriteConvert
      Count=0
    Prop=Complete
      PropType=Procedure
      GtkName=complete
      Count=1
      Param=Pattern
        Convert
        PascalType=string
    Prop=ShowFileOpButtons
      PropType=Procedure
      GtkName=show_fileop_buttons
      Count=0
    Prop=HideFileOpButtons
      PropType=Procedure
      GtkName=hide_fileop_buttons
      Count=0
    Prop=DirList
      PropType=Property
      PascalType=TFPgtkCList
      GtkName=dir_list
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=FileList
      PropType=Property
      PascalType=TFPgtkCList
      GtkName=file_list
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=OkButton
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=ok_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=CancelButton
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=cancel_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=HistoryPulldown
      PropType=Property
      PascalType=TFPgtkOptionMenu
      GtkName=history_pulldown
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=FileOpDialog
      PropType=Property
      PascalType=TFPgtkDialog
      GtkName=fileop_dialog
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=FileOpCreateDir
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=fileop_c_dir
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=FileOpDelFile
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=fileop_del_file
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=FileOpRenFile
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=fileop_ren_file
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
  Object=FontSelectionDialog
    Inherit=Window
    GtkFuncName=font_selection_dialog
    CreateParams=''
    CreateObject
    Count=4
    Prop=FontSel
      PropType=Property
      PascalType=TFPgtkFontSelection
      GtkName=fontsel
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonOk
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=ok_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonApply
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=apply_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ButtonCancel
      PropType=Property
      PascalType=TFPgtkButton
      GtkName=cancel_button
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
  Object=EventBox
    Inherit=Bin
    GtkFuncName=event_box
    CreateObject
    Count=0
  Object=HandleBox
    Inherit=Bin
    GtkFuncName=handle_box
    CreateObject
    Count=6
    Prop=ShadowType
      PropType=Property
      PascalType=TGtkShadowtype
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
    Prop=HandlePosition
      PropType=Property
      PascalType=TGtkPositionType
      Code=begin,"  result := TGtkPositionType (gtk.handle_position(TheGtkObject^));",end;
      ReadFuncType=Proc
      WriteGtkName=handle_position
      Count=0
    Prop=SnapEdge
      PropType=Property
      PascalType=TGtkPositionType
      Code=begin,"  result := TGtkPositionType (gtk.snap_edge(TheGtkObject^));",end;
      ReadFuncType=Proc
      WriteGtkName=snap_edge
      Count=0
    Prop=ChildDetached
      PropType=Property
      PascalType=boolean
      GtkName=child_detached
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=NotImplemented
      Count=0
    Prop=ChildAttached
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=child-attached
      Count=0
    Prop=ChildDetached
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=child-detached
      Count=0
  Object=ScrolledWindow
    Inherit=Bin
    GtkFuncName=scrolled_window
    Count=15
    Prop=FHScroll
      PropType=Field
      Section=Private
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=FVScroll
      PropType=Field
      Section=Private
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code="var h, v : PgtkAdjustment;",begin,"  if assigned (FHScroll) then","    h := PGtkAdjustment(ConvertToGtkObject(FHScroll))","  else","    h := null;","  if assigned (FVScroll) then","    v := PGtkAdjustment(ConvertToGtkObject(FVScroll))","  else","    v := null;","  FGtkObject := PGtkObject (gtk_scrolled_window_new (h, v));",end;
      Override
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FVScroll := vadj;","  FHScroll := hadj;","  inherited create;","  setusize (200,170);",end;
      Count=2
      Param=hadj
        PascalType=TFPgtkAdjustment
      Param=vadj
        PascalType=TFPgtkAdjustment
    Prop=HPolicy
      PropType=Property
      PascalType=TGtkPolicyType
      GtkName=hscrollbar_policy
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_scrolled_window_set_policy (TheGtkObject, TheValue, VPolicy);",end;
      Count=0
    Prop=VPolicy
      PropType=Property
      PascalType=TGtkPolicyType
      GtkName=vscrollbar_policy
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_scrolled_window_set_policy (TheGtkObject, HPolicy, TheValue);",end;
      Count=0
    Prop=SetPolicy
      PropType=Procedure
      GtkName=set_policy
      Overload
      Count=2
      Param=aHScrollBar
        PascalType=TGtkPolicyType
      Param=aVScrollbar
        PascalType=TGtkPolicyType
    Prop=SetPolicy
      PropType=Procedure
      Code=begin,"  SetPolicy (aPolicy, aPolicy);",end;
      Overload
      Count=1
      Param=aPolicy
        PascalType=TGtkPolicyType
    Prop=HAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=hadjustment
      ReadConvert
      WriteGtkName=hadjustment
      WriteConvert
      Count=0
    Prop=VAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=vadjustment
      ReadConvert
      WriteGtkName=vadjustment
      WriteConvert
      Count=0
    Prop=AddWithViewport
      PropType=Procedure
      Code=begin,"  gtk_scrolled_window_add_with_viewport (TheGtkObject, ConvertToGtkWidget(aChild));","  TFPgtkViewport.createFromObject (PGtkObject(PGtkBin(TheGtkObject)^.child));","  aChild.Show;",end;
      Count=1
      Param=aChild
        Convert
        PascalType=TFPgtkWidget
    Prop=Placement
      PropType=Property
      PascalType=TGtkCornerType
      GtkName=window_placement
      ReadFuncType=ObjFunc
      WriteGtkName=placement
      Count=0
    Prop=HScrollbar
      PropType=Property
      PascalType=TFPgtkScrollbar
      Code="var w : TFPgtkObject;","    gtkwidg : PGtkObject;",begin,"  gtkwidg := PGtkObject(TheGtkObject^.hscrollbar);","  w := GetPascalInstance (gtkwidg);","  if assigned (w) then","    result := (w as TFPgtkScrollbar)","  else","    result := TFPgtkHScrollbar.CreateFromObject (gtkwidg);",end;
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=VScrollbar
      PropType=Property
      PascalType=TFPgtkScrollbar
      Code="var w : TFPgtkObject;","    gtkwidg : PGtkObject;",begin,"  gtkwidg := PGtkObject(TheGtkObject^.vscrollbar);","  w := GetPascalInstance (gtkwidg);","  if assigned (w) then","    result := (w as TFPgtkScrollbar)","  else","    result := TFPgtkVScrollbar.CreateFromObject (gtkwidg);",end;
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=UpdatePolicy
      PropType=Procedure
      Code="var sb : TFpgtkScrollbar;",begin,"  sb := HScrollbar;","  if assigned(sb) then","    sb.UpdatePolicy := UpdPolicy;","  sb := VScrollbar;","  if assigned(sb) then","    sb.UpdatePolicy := UpdPolicy;",end;
      Count=1
      Param=UpdPolicy
        PascalType=TGtkUpdateType
  Object=Viewport
    Inherit=Bin
    GtkFuncName=viewport
    Count=7
    Prop=FHScroll
      PropType=Field
      Section=Private
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=FVScroll
      PropType=Field
      Section=Private
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code="var h, v : PgtkAdjustment;",begin,"  if assigned (FHScroll) then","    h := PGtkAdjustment(ConvertToGtkObject(FHScroll))","  else","    h := null;","  if assigned (FVScroll) then","    v := PGtkAdjustment(ConvertToGtkObject(FVScroll))","  else","    v := null;","  FGtkObject := PGtkObject (gtk_scrolled_window_new (h, v));",end;
      Override
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FVScroll := vadj;","  FHScroll := hadj;","  inherited create;",end;
      Count=2
      Param=hadj
        PascalType=TFPgtkAdjustment
      Param=vadj
        PascalType=TFPgtkAdjustment
    Prop=HAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=hadjustment
      ReadConvert
      WriteGtkName=hadjustment
      WriteConvert
      Count=0
    Prop=VAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=vadjustment
      ReadConvert
      WriteGtkName=vadjustment
      WriteConvert
      Count=0
    Prop=ShadowType
      PropType=Property
      PascalType=TgtkShadowType
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
  Object=Box
    Inherit=Container
    GtkFuncName=Box
    Count=13
    Prop=Homogeneous
      PropType=Property
      PascalType=boolean
      GtkName=homogeneous
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=homogeneous
      Count=0
    Prop=Spacing
      PropType=Property
      PascalType=integer
      GtkName=spacing
      ReadFuncType=ObjField
      WriteGtkName=spacing
      Count=0
    Prop=ReorderChild
      PropType=Procedure
      GtkName=reorder_child
      Count=2
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=Position
        PascalType=integer
    Prop=GetChildPacking
      PropType=Procedure
      Code="var PT : PGtkPackType;",begin,"  pt := @PackType;","  gtk_box_query_child_packing (TheGtkObject, ConvertToGtkWidget(Widget), ","                               @expand, @fill, @padding, pt);",end;
      Count=5
      Param=Widget
        PascalType=TFPgtkWidget
      Param=Expand
        PascalType=boolean
        ParamType=Var
      Param=Fill
        PascalType=boolean
        ParamType=Var
      Param=Padding
        PascalType=integer
        ParamType=Var
      Param=PackType
        PascalType=TGtkPackType
        ParamType=Var
    Prop=SetChildPacking
      PropType=Procedure
      GtkName=set_child_packing
      Count=5
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=Expand
        PascalType=boolean
      Param=Fill
        PascalType=boolean
      Param=Padding
        PascalType=integer
      Param=PackType
        PascalType=TGtkPackType
    Prop=PackStart
      PropType=Procedure
      Code=begin,"  gtk_box_pack_start_defaults (TheGtkObject, ConvertToGtkWidget(Widget));","  widget.Show;",end;
      Overload
      Count=1
      Param=Widget
        PascalType=TFPgtkWidget
    Prop=PackStart
      PropType=Procedure
      Code=begin,"  gtk_box_pack_start_defaults (TheGtkObject, ConvertToGtkWidget(Widget));","  if isvisible then","    widget.Show;",end;
      Overload
      Count=2
      Param=Widget
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=PackStart
      PropType=Procedure
      Code=begin,"  gtk_box_pack_start (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);","  widget.Show;",end;
      Overload
      Count=4
      Param=Widget
        PascalType=TFPgtkWidget
      Param=expand
        PascalType=boolean
      Param=fill
        PascalType=boolean
      Param=padding
        PascalType=integer
    Prop=PackStart
      PropType=Procedure
      Code=begin,"  gtk_box_pack_start (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);","  if isvisible then","    widget.Show;",end;
      Overload
      Count=5
      Param=Widget
        PascalType=TFPgtkWidget
      Param=expand
        PascalType=boolean
      Param=fill
        PascalType=boolean
      Param=padding
        PascalType=integer
      Param=IsVisible
        PascalType=boolean
    Prop=PackEnd
      PropType=Procedure
      Code=begin,"  gtk_box_pack_end_defaults (TheGtkObject, ConvertToGtkWidget(Widget));","  widget.Show;",end;
      Overload
      Count=1
      Param=Widget
        PascalType=TFPgtkWidget
    Prop=PackEnd
      PropType=Procedure
      Code=begin,"  gtk_box_pack_end_defaults (TheGtkObject, ConvertToGtkWidget(Widget));","  if isvisible then","    widget.Show;",end;
      Overload
      Count=2
      Param=Widget
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=PackEnd
      PropType=Procedure
      Code=begin,"  gtk_box_pack_end (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);","  widget.Show;",end;
      Overload
      Count=4
      Param=Widget
        PascalType=TFPgtkWidget
      Param=expand
        PascalType=boolean
      Param=fill
        PascalType=boolean
      Param=padding
        PascalType=integer
    Prop=PackEnd
      PropType=Procedure
      Code=begin,"  gtk_box_pack_end (TheGtkObject, ConvertToGtkWidget(Widget), expand, fill, padding);","  if isvisible then","    widget.Show;",end;
      Overload
      Count=5
      Param=Widget
        PascalType=TFPgtkWidget
      Param=expand
        PascalType=boolean
      Param=fill
        PascalType=boolean
      Param=padding
        PascalType=integer
      Param=IsVisible
        PascalType=boolean
  Object=ButtonBox
    Inherit=Box
    GtkFuncName=button_box
    Count=10
    Prop=SetButtonBoxDefaultSize
      PropType=HelperProc
      PascalType=integer
      Code=begin,"  gtk_button_box_set_child_size_default (aMinWidth, aMinheight);",end;
      Count=2
      Param=aMinWidth
        PascalType=integer
      Param=aMinHeight
        PascalType=integer
    Prop=GetButtonBoxDefaultSize
      PropType=HelperProc
      PascalType=integer
      Code=begin,"  gtk_button_box_get_child_size_default (@aMinWidth, @aMinheight);",end;
      Count=2
      Param=aMinWidth
        PascalType=integer
        ParamType=Var
      Param=aMinHeight
        PascalType=integer
        ParamType=Var
    Prop=SetButtonBoxDefaultPadding
      PropType=HelperProc
      PascalType=integer
      Code=begin,"  gtk_button_box_set_child_size_default (aIPadX, aIPadY);",end;
      Count=2
      Param=aIPadX
        PascalType=integer
      Param=aIPadY
        PascalType=integer
    Prop=GetButtonBoxDefaultPadding
      PropType=HelperProc
      PascalType=integer
      Code=begin,"  gtk_button_box_get_child_size_default (@aIPadX, @aIPadY);",end;
      Count=2
      Param=aIPadX
        PascalType=integer
        ParamType=Var
      Param=aIPadY
        PascalType=integer
        ParamType=Var
    Prop=Spacing
      PropType=Property
      PascalType=integer
      GtkName=spacing
      WriteGtkName=spacing
      Count=0
    Prop=Layout
      PropType=Property
      PascalType=TGtkButtonBoxStyle
      GtkName=layout
      WriteGtkName=layout
      Count=0
    Prop=ChildMinWidth
      PropType=Property
      PascalType=integer
      GtkName=GetMinWidth
      Code="var x, y : integer;",begin,"  gtk_button_box_get_child_size (TheGtkObject, @x, @y);","  result := x;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetMinWidth
      WriteCode=begin,"  gtk_button_box_set_child_size (TheGtkObject, TheValue, ChildMinHeight);",end;
      Count=0
    Prop=ChildMinHeight
      PropType=Property
      PascalType=integer
      GtkName=GetMinHeight
      Code="var x, y : integer;",begin,"  gtk_button_box_get_child_size (TheGtkObject, @x, @y);","  result := y;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetMinHeight
      WriteCode=begin,"  gtk_button_box_set_child_size (TheGtkObject, ChildMinWidth, TheValue);",end;
      Count=0
    Prop=ChildPadX
      PropType=Property
      PascalType=integer
      GtkName=GetChildPadX
      Code="var x, y : integer;",begin,"  gtk_button_box_get_child_ipadding (TheGtkObject, @x, @y);","  result := x;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetChildPadX
      WriteCode=begin,"  gtk_button_box_set_child_ipadding (TheGtkObject, TheValue, ChildPadY);",end;
      Count=0
    Prop=ChildPadY
      PropType=Property
      PascalType=integer
      GtkName=GetChildPadY
      Code="var x, y : integer;",begin,"  gtk_button_box_get_child_ipadding (TheGtkObject, @x, @y);","  result := y;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteGtkName=SetChildPadY
      WriteCode=begin,"  gtk_button_box_set_child_ipadding (TheGtkObject, ChildPadX, TheValue);",end;
      Count=0
  Object=HButtonBox
    Inherit=ButtonBox
    GtkFuncName=hbutton_box
    CreateObject
    Count=0
  Object=VButtonBox
    Inherit=ButtonBox
    GtkFuncName=vbutton_box
    CreateObject
    Count=0
  Object=VBox
    Inherit=Box
    GtkFuncName=VBox
    CreateParams=False, 1
    CreateObject
    Count=0
  Object=ColorSelection
    Inherit=VBox
    GtkFuncName=color_selection
    CreateObject
    Count=3
    Prop=UpdatePolicy
      PropType=Property
      PascalType=TGtkUpdateType
      GtkName=policy
      ReadFuncType=ObjField
      WriteGtkName=update_policy
      Count=0
    Prop=Color
      PropType=Property
      PascalType=double
      Code="var c : double;",begin,"  gtk_color_selection_get_color (TheGtkObject, @c);","  result := c;",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_color_selection_set_color (TheGtkObject, @TheValue);",end;
      Count=0
    Prop=UseOpacity
      PropType=Property
      PascalType=longbool
      Code=begin,"  result := longbool(TheGtkObject^.use_opacity);",end;
      ReadConvert
      ReadFuncType=Proc
      WriteGtkName=opacity
      WriteConvert
      Count=0
  Object=GammaCurve
    Inherit=VBOX
    GtkFuncName=gamma_curve
    CreateObject
    Count=0
  Object=HBox
    Inherit=Box
    GtkFuncName=HBox
    CreateParams=False, 1
    CreateObject
    Count=0
  Object=Combo
    Inherit=HBox
    GtkFuncName=combo
    CreateObject
    Count=11
    Prop=Entry
      PropType=Property
      PascalType=TFPgtkEntry
      Code=begin,"  result := GetPascalInstance(PGtkObject(TheGtkObject^.entry), TFPgtkEntry) as tfpgtkentry;",end;
      ReadConvert
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=List
      PropType=Property
      PascalType=TFPgtkList
      Code=begin,"  result := GetPascalInstance(PGtkObject(TheGtkObject^.list), TFPgtkList) as TFPgtkList;",end;
      ReadConvert
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=Button
      PropType=Property
      PascalType=TFpGtkButton
      Code=begin,"  result := GetPascalInstance(PGtkObject(TheGtkObject^.button), TFPgtkButton) as TFPgtkButton;",end;
      ReadConvert
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=ValueInList
      PropType=Property
      PascalType=longbool
      GtkName=value_in_list
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteGtkName=SetValueInListProp
      WriteCode=begin,"  gtk_combo_set_value_in_list (TheGtkObject, gint(TheValue), gint(OkIfEmpty));",end;
      Count=0
    Prop=OkIfEmpty
      PropType=Property
      PascalType=longbool
      GtkName=ok_if_empty
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_combo_set_value_in_list (TheGtkObject, gint(ValueInList), gint(TheValue));",end;
      Count=0
    Prop=UseArrows
      PropType=Property
      PascalType=longbool
      GtkName=use_arrows
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=use_arrows
      WriteConvert
      Count=0
    Prop=UseArrowsAlways
      PropType=Property
      PascalType=longbool
      GtkName=use_arrows_always
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=use_arrows_always
      WriteConvert
      Count=0
    Prop=CaseSensitive
      PropType=Property
      PascalType=longbool
      GtkName=case_sensitive
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=case_sensitive
      WriteConvert
      Count=0
    Prop=SetItemString
      PropType=Procedure
      GtkName=set_item_string
      Count=2
      Param=Item
        Convert
        PascalType=TFPgtkItem
      Param=ItemValue
        Convert
        PascalType=string
    Prop=DisableActivate
      PropType=Procedure
      GtkName=disable_activate
      Count=0
    Prop=SetValueInList
      PropType=Procedure
      GtkName=set_value_in_list
      Count=2
      Param=Val
        Convert
        PascalType=longbool
      Param=IsOkIfEmpty
        Convert
        PascalType=longbool
  Object=Statusbar
    Inherit=HBox
    GtkFuncName=statusbar
    CreateObject
    Count=7
    Prop=GetContextID
      PropType=Function
      PascalType=integer
      GtkName=get_context_id
      Count=1
      Param=ContextDescr
        Convert
        PascalType=string
    Prop=Push
      PropType=Function
      PascalType=integer
      GtkName=push
      Count=2
      Param=contextID
        PascalType=integer
      Param=text
        Convert
        PascalType=string
    Prop=Pop
      PropType=Procedure
      GtkName=pop
      Count=1
      Param=contextID
        PascalType=integer
    Prop=Remove
      PropType=Procedure
      GtkName=remove
      Count=2
      Param=contextID
        PascalType=integer
      Param=MessageID
        PascalType=integer
    Prop=StatusbarSignal
      PropType=SignalType
      Count=4
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=contextID
        PascalType=integer
      Param=text
        Convert
        PascalType=string
      Param=data
        PascalType=pointer
    Prop=TextPopped
      PropType=Signal
      PascalType=StatusbarSignal
      GtkName=text-popped
      Count=0
    Prop=TextPushed
      PropType=Signal
      PascalType=StatusbarSignal
      GtkName=test-pushed
      Count=0
  Object=CList
    Inherit=Container
    GtkFuncName=clist
    CreateParams=FColumnCount
    CreateObject
    Count=89
    Prop=Create
      PropType=Constructor
      Code=begin,"  FColumnCount := aColumnCount;","  inherited create;",end;
      Count=1
      Param=aColumnCount
        PascalType=integer
    Prop=ColumnCount
      PropType=Property
      PascalType=integer
      GtkName=FColumnCount
      ReadFuncType=Field
      WriteProcType=NotImplemented
      Count=0
    Prop=ShadowType
      PropType=Property
      PascalType=TGtkShadowType
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
    Prop=SelectionMode
      PropType=Property
      PascalType=TGtkSelectionMode
      GtkName=selection_mode
      ReadFuncType=ObjField
      WriteGtkName=selection_mode
      Count=0
    Prop=Freeze
      PropType=Procedure
      GtkName=freeze
      Count=0
    Prop=Thaw
      PropType=Procedure
      GtkName=thaw
      Count=0
    Prop=ShowTitles
      PropType=Procedure
      GtkName=Column_titles_show
      Count=0
    Prop=HideTitles
      PropType=Procedure
      GtkName=column_titles_hide
      Count=0
    Prop=ActiveTitles
      PropType=Procedure
      GtkName=column_titles_active
      Count=0
    Prop=PassiveTitles
      PropType=Procedure
      GtkName=column_titles_passive
      Count=0
    Prop=ActiveTitle
      PropType=Procedure
      GtkName=column_title_active
      Count=1
      Param=column
        PascalType=integer
    Prop=PassiveTitle
      PropType=Procedure
      GtkName=column_title_passive
      Count=1
      Param=column
        PascalType=integer
    Prop=ColumnTitle
      PropType=Property
      PascalType=string
      GtkName=column_title
      ReadConvert
      WriteGtkName=column_title
      WriteConvert
      Count=1
      Param=column
        PascalType=integer
    Prop=ColumnWidget
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=column_widget
      ReadConvert
      WriteGtkName=column_widget
      WriteConvert
      Count=1
      Param=column
        PascalType=integer
    Prop=SetColumnJustification
      PropType=Procedure
      GtkName=set_column_justification
      Count=2
      Param=column
        PascalType=integer
      Param=justification
        PascalType=TGtkJustification
    Prop=SetColumnVisibility
      PropType=Procedure
      GtkName=set_column_visibility
      Count=2
      Param=column
        PascalType=integer
      Param=aVisible
        PascalType=boolean
    Prop=SetColumnResizeable
      PropType=Procedure
      GtkName=set_column_resizeable
      Count=2
      Param=column
        PascalType=integer
      Param=Resizeable
        PascalType=boolean
    Prop=SetColumnAutoResize
      PropType=Procedure
      GtkName=set_column_auto_resize
      Count=2
      Param=column
        PascalType=integer
      Param=autoResize
        PascalType=boolean
    Prop=OptimalColumnWidth
      PropType=Function
      PascalType=integer
      GtkName=optimal_column_width
      Code=,
      Count=1
      Param=column
        PascalType=integer
    Prop=SetColumnWidth
      PropType=Procedure
      GtkName=set_column_width
      Count=2
      Param=column
        PascalType=integer
      Param=width
        PascalType=integer
    Prop=SetColumnMinWidth
      PropType=Procedure
      GtkName=set_column_min_width
      Count=2
      Param=column
        PascalType=integer
      Param=MinWidth
        PascalType=integer
    Prop=SetColumnMaxWidth
      PropType=Procedure
      GtkName=set_column_max_width
      Count=2
      Param=column
        PascalType=integer
      Param=MaxWidth
        PascalType=integer
    Prop=AutoSizeColumns
      PropType=Function
      PascalType=integer
      GtkName=columns_autosize
      Count=0
    Prop=ConfigureColumnWidth
      PropType=Procedure
      Code=begin,"  SetColumnWidth (column, Width);","  SetColumnMaxWidth (column, MaxWidth);","  SetColumnMinWidth (column, MinWidth);",end;
      Count=4
      Param=column
        PascalType=integer
      Param=Width
        PascalType=integer
      Param=MinWidth
        PascalType=integer
      Param=MaxWidth
        PascalType=integer
    Prop=ConfigureColumn
      PropType=Procedure
      Code=begin,"  SetColumnJustification (column, Justification);","  SetColumnVisibility (column, Visibility);","  SetColumnResizeable (column, Resizeable);","  SetColumnAutoResize (column, AutoSize);",end;
      Count=5
      Param=column
        PascalType=integer
      Param=Justification
        PascalType=TGtkJustification
      Param=Visibility
        PascalType=boolean
      Param=Resizeable
        PascalType=boolean
      Param=AutoSize
        PascalType=boolean
    Prop=SetRowHeight
      PropType=Procedure
      GtkName=set_row_height
      Count=1
      Param=height
        PascalType=integer
    Prop=MoveTo
      PropType=Procedure
      GtkName=moveto
      Count=4
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=RowAlign
        PascalType=gfloat
      Param=ColAlign
        PascalType=gfloat
    Prop=RowIsVisible
      PropType=Function
      PascalType=TGtkVisibility
      GtkName=row_is_visible
      Count=1
      Param=Row
        PascalType=integer
    Prop=GetCellType
      PropType=Function
      PascalType=TGtkCellType
      GtkName=get_cell_type
      Count=2
      Param=Row
        PascalType=integer
      Param=column
        PascalType=integer
    Prop=CellText
      PropType=Property
      PascalType=string
      Code="var s : pgchar;","    r : integer;",begin,"  r := gtk_clist_get_text (TheGtkObject, row, column, @s);","  if (r = 0) then","    result := ''","  else","    result := string(s^);",end;
      ReadFuncType=Proc
      WriteGtkName=text
      WriteConvert
      Count=2
      Param=Row
        PascalType=integer
      Param=Column
        PascalType=integer
    Prop=SetPixmap
      PropType=Procedure
      GtkName=set_pixmap
      Count=4
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=pixmap
        Convert
        PascalType=PGdkPixmap
      Param=mask
        PascalType=PGdkBitmap
    Prop=GetPixmap
      PropType=Procedure
      Code=begin,"  gtk_clist_get_pixmap (TheGtkObject, row, column, @pixmap, @mask);",end;
      Count=4
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=pixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=mask
        PascalType=PGdkBitmap
        ParamType=Var
    Prop=SetPixText
      PropType=Procedure
      GtkName=set_pixtext
      Count=6
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=text
        Convert
        PascalType=string
      Param=spacing
        PascalType=guint8
      Param=pixmap
        PascalType=PGdkPixmap
      Param=mask
        PascalType=PGdkBitmap
    Prop=GetPixText
      PropType=Procedure
      Code="var r : integer;","    s : PPgchar;",begin,"  s := nil;","  r := gtk_clist_get_pixtext (TheGtkObject, row, column, s, @aspacing, @pixmap, @mask);","  if r = 0 then","    begin","    text := '';","    pixmap := nil;","    mask := nil;","    end","  else","    text := string (s^);",end;
      Count=6
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=text
        PascalType=string
        ParamType=Var
      Param=aspacing
        PascalType=guint8
        ParamType=Var
      Param=pixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=mask
        PascalType=PGdkBitmap
        ParamType=Var
    Prop=SetForeground
      PropType=Procedure
      GtkName=set_foreground
      Count=2
      Param=row
        PascalType=integer
      Param=color
        PascalType=PGdkColor
    Prop=SetBackground
      PropType=Procedure
      GtkName=set_background
      Count=2
      Param=row
        PascalType=integer
      Param=color
        PascalType=PGdkColor
    Prop=CellStyle
      PropType=Property
      PascalType=PGtkStyle
      GtkName=cell_style
      WriteGtkName=cell_style
      Count=2
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
    Prop=RowStyle
      PropType=Property
      PascalType=PGtkStyle
      GtkName=row_style
      WriteGtkName=row_style
      Count=1
      Param=row
        PascalType=integer
    Prop=SetShift
      PropType=Procedure
      GtkName=set_shift
      Count=4
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=vertical
        PascalType=integer
      Param=horizontal
        PascalType=integer
    Prop=Remove
      PropType=Procedure
      GtkName=remove
      Count=1
      Param=row
        PascalType=integer
    Prop=Prepend
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := StringsToPPgchar (Data);","  gtk_clist_prepend (TheGtkObject, ppdata);","  freemem (ppdata, sizeof (pgchar) * data.count);",end;
      Overload
      Count=1
      Param=Data
        PascalType=TStrings
    Prop=Prepend
      PropType=Procedure
      Code="var l : TStrings;","    s : string;",begin,"  l := TStringList.Create;","  try","    if pos('""',separator) = 0 then","      s := stringreplace (Text, '""', '""""', [rfReplaceAll]);","    if separator <> '' then","      s := stringreplace(Text, separator, '"",""', [rfReplaceAll]);","    l.CommaText := '""'+s+'""';","    Prepend (l);","  finally","    l.Free;","  end;",end;
      Overload
      Count=2
      Param=Text
        PascalType=string
      Param=separator
        PascalType=string
    Prop=Prepend
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := ArrayToPPgchar (Data);","  gtk_clist_prepend (TheGtkObject, ppdata);","  freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));",end;
      Overload
      Count=1
      Param=data
        PascalType=array of string
    Prop=Append
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := StringsToPPgchar (Data);","  gtk_clist_append (TheGtkObject, ppdata);","  freemem (ppdata, sizeof (pgchar) * data.count);",end;
      Overload
      Count=1
      Param=data
        PascalType=TStrings
    Prop=Append
      PropType=Procedure
      Code="var l : TStrings;","    s : string;",begin,"  l := TStringList.Create;","  try","    if pos('""',separator) = 0 then","      s := stringreplace (Text, '""', '""""', [rfReplaceAll]);","    if separator <> '' then","      s := stringreplace(Text, separator, '"",""', [rfReplaceAll]);","    l.CommaText := '""' + s + '""';","    Append (l);","  finally","    l.Free;","  end;",end;
      Overload
      Count=2
      Param=Text
        PascalType=string
      Param=Separator
        PascalType=string
    Prop=Append
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := ArrayToPPgchar (Data);","  gtk_clist_append (TheGtkObject, ppdata);","  freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));",end;
      Overload
      Count=1
      Param=data
        PascalType=array of string
    Prop=Insert
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := StringsToPPgchar (Data);","  gtk_clist_insert (TheGtkObject, row, ppdata);","  freemem (ppdata, sizeof (pgchar) * data.count);",end;
      Overload
      Count=2
      Param=row
        PascalType=integer
      Param=data
        PascalType=TStrings
    Prop=Insert
      PropType=Procedure
      Code="var l : TStrings;","    s : string;",begin,"  l := TStringList.Create;","  try","    if pos('""',separator) = 0 then","      s := stringreplace (Text, '""', '""""', [rfReplaceAll]);","    if separator <> '' then","      s := stringreplace(Text, separator, '"",""', [rfReplaceAll]);","    l.CommaText := '""' + s + '""';","    Insert (row, l);","  finally","    l.Free;","  end;",end;
      Overload
      Count=3
      Param=row
        PascalType=integer
      Param=Text
        PascalType=string
      Param=Separator
        PascalType=string
    Prop=Insert
      PropType=Procedure
      Code="var ppdata : ppgchar;",begin,"  ppdata := ArrayToPPgchar (Data);","  gtk_clist_insert (TheGtkObject, row, ppdata);","  freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));",end;
      Overload
      Count=2
      Param=row
        PascalType=integer
      Param=data
        PascalType=array of string
    Prop=RowData
      PropType=Property
      PascalType=pointer
      GtkName=row_data
      WriteGtkName=row_data
      Count=1
      Param=row
        PascalType=integer
    Prop=FindRowFromData
      PropType=Function
      PascalType=integer
      GtkName=find_row_from_data
      Count=1
      Param=data
        PascalType=pointer
    Prop=SelectRow
      PropType=Procedure
      GtkName=select_row
      Count=2
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
    Prop=UnselectRow
      PropType=Procedure
      GtkName=unselect_row
      Count=2
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
    Prop=Clear
      PropType=Procedure
      GtkName=clear
      Count=0
    Prop=SelectAll
      PropType=Procedure
      GtkName=select_all
      Count=0
    Prop=UnselectAll
      PropType=Procedure
      GtkName=unselect_all
      Count=0
    Prop=SwapRows
      PropType=Procedure
      GtkName=swap_rows
      Count=2
      Param=row1
        PascalType=integer
      Param=row2
        PascalType=integer
    Prop=RowMove
      PropType=Procedure
      Code=begin,"  if sourceRow = DestRow then","    Exit;","  gtk_clist_row_move (TheGtkObject, sourceRow, destRow);",end;
      Count=2
      Param=sourceRow
        PascalType=integer
      Param=destRow
        PascalType=integer
    Prop=Sort
      PropType=Procedure
      GtkName=sort
      Count=0
    Prop=CompareFunc
      PropType=Property
      PascalType=TGtkCListCompareFunc
      GtkName=compare
      ReadFuncType=Field
      WriteGtkName=Compare_func
      Count=0
    Prop=SortColumn
      PropType=Property
      PascalType=integer
      GtkName=sort_column
      ReadFuncType=ObjField
      WriteGtkName=sort_column
      Count=0
    Prop=SetSortType
      PropType=Property
      PascalType=TGtkSortType
      GtkName=sort_type
      ReadFuncType=ObjField
      WriteGtkName=sort_type
      Count=0
    Prop=SetAutoSort
      PropType=Procedure
      GtkName=set_auto_sort
      Count=1
      Param=autoSort
        PascalType=boolean
    Prop=HAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=hadjustment
      ReadConvert
      WriteGtkName=hadjustment
      WriteConvert
      Count=0
    Prop=VAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=vadjustment
      ReadConvert
      WriteGtkName=vadjustment
      WriteCode=,
      WriteConvert
      Count=0
    Prop=SetReorderable
      PropType=Procedure
      GtkName=set_reorderable
      Count=1
      Param=reorderable
        PascalType=boolean
    Prop=Count
      PropType=Function
      PascalType=integer
      Code=begin,"  result := TheGtkObject^.rows;",end;
      Count=0
    Prop=CListScrollSignal
      PropType=SignalType
      Count=4
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=ScrollType
        PascalType=TgtkScrollType
      Param=position
        PascalType=gfloat
      Param=data
        PascalType=pointer
    Prop=CListScrollBooleanSignal
      PropType=SignalType
      Count=5
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=ScrollType
        PascalType=TgtkScrollType
      Param=Position
        PascalType=gfloat
      Param=AutoStartSelection
        PascalType=boolean
      Param=data
        PascalType=pointer
    Prop=SelectRowSignal
      PropType=SignalType
      Count=5
      Param=Sender
        PascalType=TFPgtkObject
      Param=row
        PascalType=integer
      Param=column
        PascalType=integer
      Param=event
        PascalType=PGdkEventButton
      Param=data
        PascalType=pointer
    Prop=SelectRow
      PropType=Signal
      PascalType=SelectRowSignal
      GtkName=select-row
      Count=0
    Prop=UnselectRow
      PropType=Signal
      PascalType=SelectRowSignal
      GtkName=unselect-row
      Count=0
    Prop=MoveSignal
      PropType=SignalType
      Count=4
      Param=Sender
        PascalType=TFPgtkObject
      Param=arg1
        PascalType=integer
      Param=arg2
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=RowMove
      PropType=Signal
      PascalType=MoveSignal
      GtkName=row-move
      Count=0
    Prop=ScrollVertical
      PropType=Signal
      PascalType=CListScrollSignal
      GtkName=scroll-vertical
      Count=0
    Prop=ScrolHorizontal
      PropType=Signal
      PascalType=CListScrollSignal
      GtkName=scroll-horizontal
      Count=0
    Prop=ToggleFocusRow
      PropType=Signal
      PascalType=Signal
      GtkName=toggle-focus-row
      Count=0
    Prop=SelectAll
      PropType=Signal
      PascalType=Signal
      GtkName=select-all
      Count=0
    Prop=UnselectAll
      PropType=Signal
      PascalType=signal
      GtkName=unselect-all
      Count=0
    Prop=UndoSelection
      PropType=Signal
      PascalType=signal
      GtkName=undo-selection
      Count=0
    Prop=StartSelection
      PropType=Signal
      PascalType=signal
      GtkName=start-selection
      Count=0
    Prop=EndSelection
      PropType=Signal
      PascalType=signal
      GtkName=end-selection
      Count=0
    Prop=ToggleAddMode
      PropType=Signal
      PascalType=signal
      GtkName=toggle-add-mode
      Count=0
    Prop=AbortColumnResize
      PropType=Signal
      PascalType=signal
      GtkName=abort-column-resize
      Count=0
    Prop=ExtendSelection
      PropType=Signal
      PascalType=CListScrollBooleanSignal
      GtkName=extend-selection
      Count=0
    Prop=ColumnClickedSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=column
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=ClickColumn
      PropType=Signal
      PascalType=ColumnClickedSignal
      GtkName=click-column
      Count=0
    Prop=ResizeColumnSignal
      PropType=SignalType
      Count=4
      Param=Sender
        PascalType=TFPgtkObject
      Param=column
        PascalType=integer
      Param=width
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=ResizeColumn
      PropType=Signal
      PascalType=ResizeColumnSignal
      GtkName=resize-column
      Count=0
  Object=CTree
    Inherit=CList
    GtkFuncName=ctree
    CreateParams=FColumnCount, FTreeColumn
    Count=55
    Prop=LineStyle
      PropType=Property
      PascalType=TGtkCTreeLineStyle
      Code=begin,"  result := TGtkCTreeLineStyle(gtk.line_style(TheGtkObject^));",end;
      ReadConvert
      ReadFuncType=Proc
      WriteGtkName=line_style
      Count=0
    Prop=ShowStub
      PropType=Property
      PascalType=boolean
      Code=begin,"  result := boolean(gtk.show_stub(TheGtkObject^));",end;
      ReadConvert
      ReadFuncType=Proc
      WriteGtkName=show_stub
      WriteCode=,
      Count=0
    Prop=ExpanderStyle
      PropType=Property
      PascalType=TGtkCTreeExpanderStyle
      Code=begin,"  result := TGtkCTreeExpanderStyle(gtk.expander_style(TheGtkObject^));",end;
      ReadFuncType=Proc
      WriteGtkName=expander_style
      Count=0
    Prop=Spacing
      PropType=Property
      PascalType=guint
      GtkName=tree_spacing
      ReadFuncType=ObjField
      WriteGtkName=spacing
      Count=0
    Prop=Indent
      PropType=Property
      PascalType=guint
      GtkName=tree_indent
      ReadFuncType=ObjField
      WriteGtkName=indent
      Count=0
    Prop=FTreeColumn
      PropType=Field
      Section=Private
      PascalType=integer
      Count=0
    Prop=TreeColumn
      PropType=Property
      PascalType=integer
      GtkName=tree_column
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FTreeColumn := aTreeColumn;","  inherited Create (aColumnCount);",end;
      Count=2
      Param=aColumnCount
        PascalType=integer
      Param=aTreeColumn
        PascalType=integer
    Prop=RemoveNode
      PropType=Procedure
      GtkName=remove_node
      Count=1
      Param=node
        PascalType=PGtkCTreeNode
    Prop=InsertNode
      PropType=Function
      PascalType=PGtkCTreeNode
      GtkName=insert_node
      Overload
      Count=10
      Param=aParent
        PascalType=PGtkCTreeNode
      Param=Sibling
        PascalType=PGtkCTreeNode
      Param=data
        Convert
        PascalType=string
      Param=aSpacing
        PascalType=guint8
      Param=PixmapClosed
        PascalType=PGdkPixmap
      Param=MaskClosed
        PascalType=PGdkBitmap
      Param=PixmapOpened
        PascalType=PGdkPixmap
      Param=MaskOpened
        PascalType=PGdkBitmap
      Param=IsLeaf
        PascalType=boolean
      Param=Expanded
        PascalType=boolean
    Prop=InsertNode
      PropType=Function
      PascalType=PGtkCTreeNode
      Code=begin,"  result := InsertNode (aParent, Sibling, data, aSpacing, nil, nil, nil, nil, IsLeaf, Expanded);",end;
      Overload
      Count=6
      Param=aParent
        PascalType=PGtkCTreeNode
      Param=Sibling
        PascalType=PGtkCTreeNode
      Param=data
        Convert
        PascalType=string
      Param=aSpacing
        PascalType=guint8
      Param=IsLeaf
        PascalType=boolean
      Param=Expanded
        PascalType=boolean
    Prop=FunctionTypes
      PropType=TypeDeclaration
      Code="  TFPgtkCTreeFunction = procedure (TheTree:TFPgtkCTree; TheNode:PGtkCTreeNode; data:pointer) of object;"
      Count=0
    Prop=FPgtkCTreeFunc
      PropType=HelperProc
      Section=Private
      Code="var p : TFPgtkCTreeFunction;",begin,"  with PSignalData(data)^ do","  begin","    p := TFPgtkCTreeFunction (TheSignalProc);","    p (TFPgtkCTree(GetPascalInstance(PgtkObject(Tree))), Node, data);","  end;",end;
      Cdecl
      Count=3
      Param=Tree
        PascalType=PGtkCTree
      Param=Node
        PascalType=PGtkCTreeNode
      Param=data
        PascalType=pointer
    Prop=PostRecursive
      PropType=Procedure
      Code=begin,"  gtk_CTree_post_recursive (TheGtkObject, aNode, @FPgtkCTreeFunc, ","        ConvertSignalData(TFPgtkSignalFunction(func), data, true));",end;
      Count=3
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=func
        PascalType=TFPgtkCTreeFunction
      Param=data
        PascalType=pointer
    Prop=PostRecursiveToDepth
      PropType=Procedure
      Code=begin,"  gtk_CTree_post_recursive_to_depth (TheGtkObject, aNode, aDepth, @FPgtkCTreeFunc, ","        ConvertSignalData(TFPgtkSignalFunction(func), data, true));",end;
      Count=4
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aDepth
        PascalType=integer
      Param=func
        PascalType=TFPgtkCTreeFunction
      Param=data
        PascalType=pointer
    Prop=PreRecursive
      PropType=Procedure
      Code=begin,"  gtk_CTree_pre_recursive (TheGtkObject, aNode, @FPgtkCTreeFunc, ","        ConvertSignalData(TFPgtkSignalFunction(func), data, true));",end;
      Count=3
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=func
        PascalType=TFPgtkCTreeFunction
      Param=data
        PascalType=pointer
    Prop=PreRecursiveToDepth
      PropType=Procedure
      Code=begin,"  gtk_CTree_pre_recursive_to_depth (TheGtkObject, aNode, aDepth, @FPgtkCTreeFunc, ","        ConvertSignalData(TFPgtkSignalFunction(func), data, true));",end;
      Count=4
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aDepth
        PascalType=integer
      Param=func
        PascalType=TFPgtkCTreeFunction
      Param=data
        PascalType=pointer
    Prop=IsViewable
      PropType=Procedure
      GtkName=is_viewable
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=LastChild
      PropType=Procedure
      GtkName=last
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=IsChild
      PropType=Function
      PascalType=boolean
      GtkName=find
      Count=2
      Param=anAncestor
        PascalType=PGtkCTreeNode
      Param=aChild
        PascalType=PGtkCTreeNode
    Prop=IsAncestor
      PropType=Function
      PascalType=boolean
      GtkName=is_ancestor
      Count=2
      Param=anAncestor
        PascalType=PGtkCTreeNode
      Param=aChild
        PascalType=PGtkCTreeNode
    Prop=IsHotSpot
      PropType=Function
      PascalType=boolean
      GtkName=is_hot_spot
      Count=2
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
    Prop=MoveNode
      PropType=Procedure
      GtkName=move
      Count=3
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=NewParent
        PascalType=PGtkCTreeNode
      Param=NewSibling
        PascalType=PGtkCTreeNode
    Prop=Expand
      PropType=Procedure
      GtkName=expand
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=ExpandRecursive
      PropType=Procedure
      GtkName=expand_recursive
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=ExpandToDepth
      PropType=Procedure
      GtkName=expand_to_depth
      Count=2
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aDepth
        PascalType=integer
    Prop=Collapse
      PropType=Procedure
      GtkName=collapse
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=CollapseRecursive
      PropType=Procedure
      GtkName=collapse_recursive
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=CollapseToDepth
      PropType=Procedure
      GtkName=collapse_to_depth
      Count=2
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aDepth
        PascalType=integer
    Prop=SelectNode
      PropType=Procedure
      GtkName=select
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=SelectRecursive
      PropType=Procedure
      GtkName=select_recursive
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=UnselectNode
      PropType=Procedure
      GtkName=unselect
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=UnselectRecursive
      PropType=Procedure
      GtkName=unselect_recursive
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=RealSelectRecursive
      PropType=Procedure
      Code=begin,"  gtk_ctree_real_select_recursive (TheGtkObject, aNode, ord(aState));",end;
      Count=2
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aState
        PascalType=boolean
    Prop=NodeGetCellType
      PropType=Function
      PascalType=TGtkCellType
      GtkName=node_get_cell_type
      Count=2
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
    Prop=NodeCellText
      PropType=Property
      PascalType=string
      Code="var s : pgchar;","    r : integer;",begin,"  r := gtk_ctree_node_get_text (TheGtkObject, node, column, @s);","  if (r = 0) then","    result := ''","  else","    result := string(s^);",end;
      ReadFuncType=Proc
      WriteProcType=GtkMacro
      WriteGtkName=node_set_text
      WriteConvert
      Count=2
      Param=Node
        PascalType=PGtkCTreeNode
      Param=Column
        PascalType=integer
    Prop=NodeSetPixmap
      PropType=Procedure
      GtkName=node_set_pixmap
      Count=4
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=pixmap
        Convert
        PascalType=PGdkPixmap
      Param=mask
        PascalType=PGdkBitmap
    Prop=NodeGetPixmap
      PropType=Procedure
      Code=begin,"  gtk_ctree_node_get_pixmap (TheGtkObject, node, column, @pixmap, @mask);",end;
      Count=4
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=pixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=mask
        PascalType=PGdkBitmap
        ParamType=Var
    Prop=NodeSetPixText
      PropType=Procedure
      GtkName=node_set_pixtext
      Count=6
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=text
        Convert
        PascalType=string
      Param=aspacing
        PascalType=guint8
      Param=pixmap
        PascalType=PGdkPixmap
      Param=mask
        PascalType=PGdkBitmap
    Prop=NodeGetPixText
      PropType=Procedure
      Code="var r : integer;","    s : PPgchar;",begin,"  s := nil;","  r := gtk_ctree_node_get_pixtext (TheGtkObject, node, column, s, @aspacing, @pixmap, @mask);","  if r = 0 then","    begin","    text := '';","    pixmap := nil;","    mask := nil;","    end","  else","    text := string (s^);",end;
      Count=6
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=text
        PascalType=string
        ParamType=Var
      Param=aspacing
        PascalType=guint8
        ParamType=Var
      Param=pixmap
        PascalType=PGdkPixmap
        ParamType=Var
      Param=mask
        PascalType=PGdkBitmap
        ParamType=Var
    Prop=SetNodeInfo
      PropType=Procedure
      GtkName=set_node_info
      Overload
      Count=9
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aText
        Convert
        PascalType=string
      Param=aSpacing
        PascalType=guint8
      Param=PixmapClosed
        PascalType=PGdkPixmap
      Param=MaskClosed
        PascalType=PGdkBitmap
      Param=PixmapOpened
        PascalType=PGdkPixmap
      Param=MaskOpened
        PascalType=PGdkBitmap
      Param=IsLeaf
        PascalType=boolean
      Param=Expanded
        PascalType=boolean
    Prop=GetNodeInfo
      PropType=Procedure
      Code="var r : integer;","    s : PPgchar;",begin,"  s := nil;","  r := gtk_ctree_get_node_info (TheGtkObject, aNode, s, ","      @aspacing, @pixmapClosed, @maskClosed, @pixmapOpened, @maskOpened,","      @IsLeaf, @expanded);","  if r = 0 then","    begin","    atext := '';","    Spacing := 0;","    pixmapClosed := nil;","    maskClosed := nil;","    pixmapOpened := nil;","    maskOpened := nil;","    IsLeaf := false;","    Expanded := false;","    end","  else","    atext := string (s^);",end;
      Overload
      Count=9
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=aText
        Convert
        PascalType=string
        ParamType=Var
      Param=aSpacing
        Convert
        PascalType=guint8
        ParamType=Var
      Param=PixmapClosed
        Convert
        PascalType=PGdkPixmap
        ParamType=Var
      Param=MaskClosed
        Convert
        PascalType=PGdkBitmap
        ParamType=Var
      Param=PixmapOpened
        Convert
        PascalType=PGdkPixmap
        ParamType=Var
      Param=MaskOpened
        Convert
        PascalType=PGdkBitmap
        ParamType=Var
      Param=IsLeaf
        Convert
        PascalType=boolean
        ParamType=Var
      Param=Expanded
        Convert
        PascalType=boolean
        ParamType=Var
    Prop=NodeSetShift
      PropType=Procedure
      GtkName=node_set_shift
      Count=4
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=vertical
        Convert
        PascalType=integer
      Param=horizontal
        PascalType=integer
    Prop=NodeSelectable
      PropType=Property
      PascalType=boolean
      GtkName=node_get_selectable
      ReadFuncType=GtkMacro
      WriteProcType=GtkMacro
      WriteGtkName=node_set_selectable
      Count=1
      Param=Node
        PascalType=PGtkCTreeNode
    Prop=NodeSetForeground
      PropType=Procedure
      GtkName=node_set_foreground
      Count=2
      Param=Node
        PascalType=PGtkCTreeNode
      Param=color
        PascalType=PGdkColor
    Prop=NodeSetBackground
      PropType=Procedure
      GtkName=node_set_background
      Count=2
      Param=Node
        PascalType=PGtkCTreeNode
      Param=color
        PascalType=PGdkColor
    Prop=NodeCellStyle
      PropType=Property
      PascalType=PGtkStyle
      GtkName=node_get_cell_style
      ReadFuncType=GtkMacro
      WriteProcType=GtkMacro
      WriteGtkName=node_set_cell_style
      Count=2
      Param=Node
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
    Prop=NodeRowStyle
      PropType=Property
      PascalType=PGtkStyle
      GtkName=node_get_row_style
      ReadFuncType=GtkMacro
      WriteProcType=GtkMacro
      WriteGtkName=node_set_row_style
      Count=1
      Param=Node
        PascalType=PGtkCTreeNode
    Prop=NodeData
      PropType=Property
      PascalType=pointer
      GtkName=node_get_row_data
      ReadFuncType=GtkMacro
      WriteProcType=GtkMacro
      WriteGtkName=node_set_row_data
      Count=1
      Param=Node
        PascalType=PGtkCTreeNode
    Prop=NodeMoveTo
      PropType=Procedure
      GtkName=node_moveto
      Count=4
      Param=aNode
        PascalType=PGtkCTreeNode
      Param=column
        PascalType=integer
      Param=RowAlign
        PascalType=gfloat
      Param=ColAlign
        PascalType=gfloat
    Prop=IsVisible
      PropType=Function
      PascalType=TGtkVisibility
      GtkName=node_is_visible
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=CompareDragFunc
      PropType=Property
      PascalType=TGtkCTreeCompareDragFunc
      GtkName=drag_compare
      ReadFuncType=ObjField
      WriteGtkName=drag_compare_func
      Count=0
    Prop=SortNode
      PropType=Procedure
      GtkName=sort_node
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=SortRecursive
      PropType=Procedure
      GtkName=sort_recursive
      Count=1
      Param=aNode
        PascalType=PGtkCTreeNode
    Prop=NthNode
      PropType=Function
      PascalType=PGtkCTreeNode
      GtkName=node_Nth
      Count=1
      Param=Row
        PascalType=integer
  Object=Fixed
    Inherit=Container
    GtkFuncName=fixed
    CreateObject
    Count=3
    Prop=Put
      PropType=Procedure
      GtkName=put
      Count=3
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=x
        PascalType=integer
      Param=y
        PascalType=integer
    Prop=Move
      PropType=Procedure
      GtkName=move
      Count=3
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=x
        PascalType=integer
      Param=y
        PascalType=integer
    Prop=GetPos
      PropType=Procedure
      Code="var g : TFPgtkGroup;","    r : integer;",begin,"  g := TFPgtkGroup.Create;","  try","    g.ManageLists := false;","    g.gtkList := TheGtkObject^.children;","    r := g.indexof (Widget);","    if r < 0 then","      begin","      PosX := -1;","      PosY := -1;","      end","    else","      with PGtkFixedChild(g.Items[r])^ do","        begin","        PosX := x;","        PosY := Y;","        end;","  finally","    g.Free;","  end;",end;
      Count=3
      Param=Widget
        PascalType=TFPgtkWidget
      Param=PosX
        PascalType=integer
        ParamType=Var
      Param=PosY
        PascalType=integer
        ParamType=Var
  Object=Notebook
    Inherit=Container
    GtkFuncName=notebook
    CreateObject
    Count=32
    Prop=AppendPage
      PropType=Procedure
      Code=begin,"  gtk_notebook_append_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));","  Child.Show;",end;
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
    Prop=AppendPageFull
      PropType=Procedure
      Code=begin,"  if assigned (MenuLabel) then","    gtk_notebook_append_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel))","  else","    gtk_notebook_append_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));","  if isvisible then","    Child.Show;",end;
      Count=4
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
      Param=MenuLabel
        Convert
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=PrependPage
      PropType=Procedure
      GtkName=Prepend_page
      Code=begin,"  gtk_notebook_prepend_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));","  Child.Show;",end;
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
    Prop=PrependPageFull
      PropType=Procedure
      Code=begin,"  if assigned (MenuLabel) then","    gtk_notebook_prepend_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel))","  else","    gtk_notebook_prepend_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel));","  if isvisible then","    Child.Show;",end;
      Count=4
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
      Param=MenuLabel
        Convert
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=InsertPage
      PropType=Procedure
      GtkName=insert_page
      Code=begin,"  gtk_notebook_insert_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), position);","  Child.Show;",end;
      Count=3
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
      Param=Position
        PascalType=integer
    Prop=InsertPageFull
      PropType=Procedure
      Code=begin,"  if assigned (MenuLabel) then","    gtk_notebook_insert_page_menu (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), ConvertTogtkWidget(MenuLabel), position)","  else","    gtk_notebook_insert_page (TheGtkObject, ConvertTogtkWidget(Child), ConvertTogtkWidget(TabLabel), position);","  if isvisible then","    Child.Show;",end;
      Count=5
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
      Param=MenuLabel
        Convert
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
      Param=Position
        PascalType=integer
    Prop=RemovePage
      PropType=Procedure
      GtkName=remove_page
      Count=1
      Param=PageNumber
        PascalType=integer
    Prop=PageNumberOf
      PropType=Function
      PascalType=integer
      GtkName=page_num
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=NextPage
      PropType=Procedure
      GtkName=next_page
      Count=0
    Prop=PrevPage
      PropType=Procedure
      GtkName=prev_page
      Count=0
    Prop=ReorderPage
      PropType=Procedure
      GtkName=reorder_child
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=PageNum
        PascalType=integer
    Prop=PageIndex
      PropType=Property
      PascalType=integer
      GtkName=current_page
      WriteGtkName=page
      Count=0
    Prop=Page
      PropType=Property
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetChildOnPage (PageIndex);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode="var r : integer;",begin,"  r := PageNumberOf (TheValue);","  if r > -1 then","    PageIndex := r;",end;
      Count=0
    Prop=TabPos
      PropType=Property
      PascalType=TGtkPositionType
      GtkName=tab_pos
      ReadFuncType=ObjFunc
      WriteGtkName=tab_pos
      Count=0
    Prop=ShowTabs
      PropType=Property
      PascalType=boolean
      GtkName=show_tabs
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=show_tabs
      Count=0
    Prop=ShowBorder
      PropType=Property
      PascalType=boolean
      GtkName=show_border
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=show_border
      Count=0
    Prop=Scrollable
      PropType=Property
      PascalType=boolean
      GtkName=scrollable
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=scrollable
      Count=0
    Prop=Homogenous
      PropType=Property
      PascalType=boolean
      GtkName=homogeneous
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=homogeneous_tabs
      Count=0
    Prop=TabHBorder
      PropType=Property
      PascalType=word
      GtkName=tab_hborder
      ReadFuncType=ObjField
      WriteGtkName=tab_hborder
      Count=0
    Prop=TabVBorder
      PropType=Property
      PascalType=word
      GtkName=tab_vborder
      ReadFuncType=ObjField
      WriteGtkName=tab_vborder
      Count=0
    Prop=SetTabBorders
      PropType=Procedure
      GtkName=set_tab_border
      ReadFuncType=ObjField
      WriteGtkName=tab_border
      Count=1
      Param=BorderWidth
        PascalType=word
    Prop=GetMenuLabelOf
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (PGtkObject(gtk_notebook_get_menu_label (TheGtkObject, ConvertTogtkWidget(Child)))) as TFPgtkWidget;",end;
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=SetMenuLabel
      PropType=Procedure
      GtkName=set_menu_label
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=MenuLabel
        Convert
        PascalType=TFPgtkWidget
    Prop=GetTabLabelOf
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (PGtkObject(gtk_notebook_get_tab_label (TheGtkObject, ConvertTogtkWidget(Child)))) as TFPgtkWidget;",end;
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=SetTabLabel
      PropType=Procedure
      GtkName=set_tab_label
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=TabLabel
        Convert
        PascalType=TFPgtkWidget
    Prop=GetChildOnPage
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (PGtkObject(gtk_notebook_get_nth_page (TheGtkObject, PageNum))) as TFPgtkWidget;",end;
      Count=1
      Param=PageNum
        PascalType=integer
    Prop=GetTabLabelPacking
      PropType=Procedure
      Code="var PT : PGtkPackType;",begin,"  pt := @PackType;","  gtk_notebook_query_tab_label_packing (TheGtkObject, ConvertTogtkWidget(widget), ","                               @expand, @fill, pt);",end;
      Count=4
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=Expand
        PascalType=boolean
        ParamType=Var
      Param=Fill
        PascalType=boolean
        ParamType=Var
      Param=PackType
        PascalType=TGtkPackType
        ParamType=Var
    Prop=SetTabLabelPacking
      PropType=Procedure
      GtkName=set_tab_label_packing
      Count=4
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=Expand
        PascalType=boolean
      Param=Fill
        PascalType=boolean
      Param=PackType
        PascalType=TGtkPackType
    Prop=EnablePopup
      PropType=Procedure
      GtkName=popup_enable
      Count=0
    Prop=DisablePopup
      PropType=Procedure
      GtkName=popup_disable
      Count=0
    Prop=PageSwitchSignal
      PropType=SignalType
      Count=4
      Param=Sender
        Convert
        PascalType=TFPgtkObject
      Param=PageRec
        PascalType=PGtkNotebookPage
      Param=aPageNum
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=SwitchPage
      PropType=Signal
      PascalType=PageSwitchSignal
      GtkName=switch-page
      Count=0
  Object=FontSelection
    Inherit=Notebook
    GtkFuncName=font_selection
    CreateObject
    Count=5
    Prop=resourcestrings
      PropType=Declarations
      Code=resourcestring,"  sFontNotFound = 'Can''t find font ""%s"" on this system';"
      Count=0
    Prop=FontName
      PropType=Property
      PascalType=string
      GtkName=font_name
      ReadConvert
      WriteProcType=Proc
      WriteCode=begin,"  if not gtk_font_selection_set_font_name (TheGtkObject, pgchar(TheValue)) then","    raise exception.CreateFmt (sFontNotFound, [TheValue]);",end;
      Count=0
    Prop=GetFont
      PropType=Function
      PascalType=PGdkFont
      GtkName=get_font
      Count=0
    Prop=PreviewText
      PropType=Property
      PascalType=string
      GtkName=preview_text
      ReadConvert
      WriteGtkName=preview_text
      WriteConvert
      Count=0
    Prop=SetFilter
      PropType=Procedure
      Code="var ppF, ppW, ppSl, ppSW, ppSp, ppC : ppgchar;",,"  function MakePP (data : array of string) : ppgchar;","  begin","    if high(data) > low(data) then","      result := ArrayToPPgchar(data)","    else","      result := nil;","  end;",,"  procedure FreePP (ppdata : ppgchar; data : array of string);","  begin","    if assigned (ppdata) then","      freemem (ppdata, sizeof (pgchar) * (high(data)-low(data)+1));","  end;",,begin,"  ppF := MakePP(Foundries);","  ppW := MakePP(Weights);","  ppSl := MakePP(Slants);","  ppSW := MakePP(SetWidths);","  ppSp := MakePP(Spacings);","  ppC := MakePP(CharSets);","  gtk_font_selection_set_filter (TheGtkObject, FilterType, FontType, ppF, ppW, ppSl, ppSW, ppSp, ppC);","  FreePP (ppF, Foundries);","  FreePP (ppW, Weights);","  FreePP (ppSl, Slants);","  FreePP (ppSW, SetWidths);","  FreePP (ppSp, Spacings);","  FreePP (ppC, CharSets);",end;
      Count=8
      Param=FilterType
        PascalType=TGtkFontFilterType
      Param=FontType
        PascalType=TGtkFontType
      Param=Foundries
        PascalType=array of string
      Param=Weights
        PascalType=array of string
      Param=Slants
        PascalType=array of string
      Param=SetWidths
        PascalType=array of string
      Param=Spacings
        PascalType=array of string
      Param=CharSets
        PascalType=array of string
  Object=Paned
    Inherit=Container
    GtkFuncName=paned
    Count=12
    Prop=GutterSize
      PropType=Property
      PascalType=word
      GtkName=gutter_size
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  {$ifdef gtkwin}","  TheGtkObject^.gutter_size := TheValue;","  {$else}","  gtk_paned_set_gutter_size(TheGtkObject,TheValue);","  {$endif}",end;
      Count=0
    Prop=HandleSize
      PropType=Property
      PascalType=word
      GtkName=handle_size
      ReadFuncType=ObjField
      WriteGtkName=handle_size
      Count=0
    Prop=Position
      PropType=Property
      PascalType=integer
      GtkName=child1_size
      ReadFuncType=ObjField
      WriteGtkName=position
      Count=0
    Prop=ComputePosition
      PropType=Procedure
      GtkName=compute_position
      Count=3
      Param=AnAllocation
        PascalType=integer
      Param=Child1Req
        PascalType=integer
      Param=Child2Req
        PascalType=integer
    Prop=Add1
      PropType=Procedure
      Code=begin,"  gtk_paned_add1 (TheGtkObject, ConvertToGtkWidget(Child));","  Child.Show;",end;
      Overload
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=Pack1
      PropType=Procedure
      Code=begin,"  gtk_paned_pack1 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);","  Child.Show;",end;
      Overload
      Count=3
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=Resize
        Convert
        PascalType=boolean
      Param=Shrink
        Convert
        PascalType=boolean
    Prop=Add1
      PropType=Procedure
      Code=begin,"  gtk_paned_add1 (TheGtkObject, ConvertToGtkWidget(Child));","  if isvisible then","    Child.Show;",end;
      Overload
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=isVisible
        PascalType=boolean
    Prop=Pack1
      PropType=Procedure
      Code=begin,"  gtk_paned_pack1 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);","  if isvisible then","    Child.Show;",end;
      Overload
      Count=4
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=Resize
        Convert
        PascalType=boolean
      Param=Shrink
        Convert
        PascalType=boolean
      Param=IsVisible
        PascalType=boolean
    Prop=Add2
      PropType=Procedure
      Code=begin,"  gtk_paned_add2 (TheGtkObject, ConvertToGtkWidget(Child));","  Child.Show;",end;
      Overload
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=Pack2
      PropType=Procedure
      Code=begin,"  gtk_paned_pack2 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);","  Child.Show;",end;
      Overload
      Count=3
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=Resize
        Convert
        PascalType=boolean
      Param=Shrink
        Convert
        PascalType=boolean
    Prop=Add2
      PropType=Procedure
      Code=begin,"  gtk_paned_add2 (TheGtkObject, ConvertToGtkWidget(Child));","  if isvisible then","    Child.Show;",end;
      Overload
      Count=2
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=IsVisible
        PascalType=boolean
    Prop=Pack2
      PropType=Procedure
      Code=begin,"  gtk_paned_pack2 (TheGtkObject, ConvertToGtkWidget(Child), Resize, Shrink);","  if isvisible then","    Child.Show;",end;
      Overload
      Count=4
      Param=Child
        Convert
        PascalType=TFPgtkWidget
      Param=Resize
        Convert
        PascalType=boolean
      Param=Shrink
        Convert
        PascalType=boolean
      Param=IsVisible
        PascalType=boolean
  Object=HPaned
    Inherit=Paned
    GtkFuncName=hpaned
    CreateObject
    Count=0
  Object=VPaned
    Inherit=Paned
    GtkFuncName=vpaned
    CreateObject
    Count=0
  Object=Layout
    Inherit=Container
    GtkFuncName=layout
    CreateParams=nil,nil
    CreateObject
    Count=8
    Prop=HAdj
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=hadjustment
      ReadConvert
      WriteGtkName=hadjustment
      WriteConvert
      Count=0
    Prop=VAdj
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=vadjustment
      ReadConvert
      WriteGtkName=vadjustment
      WriteConvert
      Count=0
    Prop=Freeze
      PropType=Procedure
      GtkName=freeze
      Count=0
    Prop=Thaw
      PropType=Procedure
      GtkName=thaw
      Count=0
    Prop=Put
      PropType=Procedure
      Code=begin,"  gtk_layout_put (TheGtkObject, PGtkwidget(ConvertToGtkObject(aWidget)), X, Y);","  aWidget.Show;",end;
      Overload
      Count=3
      Param=aWidget
        Convert
        PascalType=TFPgtkWidget
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
    Prop=Put
      PropType=Procedure
      Code=begin,"  gtk_layout_put (TheGtkObject, PGtkwidget(ConvertToGtkObject(aWidget)), X, Y);","  if aVisible then","    aWidget.Show;",end;
      Overload
      Count=4
      Param=aWidget
        Convert
        PascalType=TFPgtkWidget
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
      Param=aVisible
        PascalType=boolean
    Prop=Move
      PropType=Procedure
      GtkName=move
      Count=3
      Param=aWidget
        Convert
        PascalType=TFPgtkWidget
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
    Prop=SetSize
      PropType=Procedure
      GtkName=set_size
      Count=2
      Param=aWidth
        PascalType=integer
      Param=aHeight
        PascalType=integer
  Object=List
    Inherit=Container
    GtkFuncName=list
    CreateObject
    Count=29
    Prop=SelectionChanged
      PropType=Signal
      PascalType=signal
      GtkName=selection-changed
      Count=0
    Prop=SelectChild
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=select-child
      Count=0
    Prop=UnselectChild
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=unselect-child
      Count=0
    Prop=SelectionMode
      PropType=Property
      PascalType=TGtkSelectionMode
      Code=begin,"  result := TGtkSelectionMode(Selection_mode(TheGtkObject^));",end;
      ReadFuncType=Proc
      WriteGtkName=selection_mode
      Count=0
    Prop=InsertItems
      PropType=Procedure
      Code=begin,"  gtk_list_insert_items (TheGtkObject, TheItems.GtkList, position);",end;
      Count=2
      Param=TheItems
        PascalType=TFPgtkListItemGroup
      Param=position
        PascalType=integer
    Prop=AppendItems
      PropType=Procedure
      Code=begin,"  gtk_list_append_items (TheGtkObject, TheItems.GtkList);",end;
      Count=1
      Param=TheItems
        PascalType=TFPgtkListItemGroup
    Prop=PrependItems
      PropType=Procedure
      Code=begin,"  gtk_list_prepend_items (TheGtkObject, TheItems.GtkList);",end;
      Count=1
      Param=TheItems
        PascalType=TFPgtkListItemGroup
    Prop=RemoveItems
      PropType=Procedure
      Code=begin,"  gtk_list_remove_items (TheGtkObject, TheItems.GtkList);",end;
      Count=1
      Param=TheItems
        PascalType=TFPgtkListItemGroup
    Prop=RemoveItemsNoUnref
      PropType=Procedure
      Code=begin,"  gtk_list_remove_items_no_unref (TheGtkObject, TheItems.GtkList);",end;
      Count=1
      Param=TheItems
        PascalType=TFPgtkListItemGroup
    Prop=ClearItems
      PropType=Procedure
      Code=begin,"  if ToItem >= 0 then","    inc (ToItem);","  gtk_list_clear_items (TheGtkObject, FromItem, ToItem);",end;
      Count=2
      Param=FromItem
        PascalType=integer
      Param=ToItem
        PascalType=integer
    Prop=ClearAll
      PropType=Procedure
      Code=begin,"  ClearItems (0,-1);",end;
      Count=0
    Prop=SelectItem
      PropType=Procedure
      GtkName=select_item
      Count=1
      Param=Item
        PascalType=integer
    Prop=UnselectItem
      PropType=Procedure
      GtkName=unselect_item
      Count=1
      Param=Item
        PascalType=integer
    Prop=SelectChild
      PropType=Procedure
      GtkName=select_child
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=UnselectChild
      PropType=Procedure
      GtkName=unselect_child
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=ChildPosition
      PropType=Function
      PascalType=integer
      GtkName=child_position
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=ExtendSelection
      PropType=Procedure
      GtkName=extend_selection
      Count=3
      Param=ScrollType
        PascalType=TGtkScrollType
      Param=Position
        PascalType=gfloat
      Param=AutoStartSelection
        PascalType=boolean
    Prop=StartSelection
      PropType=Procedure
      GtkName=start_selection
      Count=0
    Prop=EndSelection
      PropType=Procedure
      GtkName=end_selection
      Count=0
    Prop=SelectAll
      PropType=Procedure
      GtkName=select_all
      Count=0
    Prop=UnselectAll
      PropType=Procedure
      GtkName=unselect_all
      Count=0
    Prop=ScrollHorizontal
      PropType=Procedure
      GtkName=scroll_horizontal
      Count=2
      Param=ScrollType
        PascalType=TGtkScrollType
      Param=Position
        PascalType=gfloat
    Prop=ScrollVertical
      PropType=Procedure
      GtkName=scroll_vertical
      Count=2
      Param=ScrollType
        PascalType=TGtkScrollType
      Param=Position
        PascalType=gfloat
    Prop=ToggleAddMode
      PropType=Procedure
      GtkName=toggle_add_mode
      Count=0
    Prop=ToggleFocusRow
      PropType=Procedure
      GtkName=toggle_focus_row
      Count=0
    Prop=ToggleRow
      PropType=Procedure
      GtkName=toggle_row
      Count=1
      Param=Child
        Convert
        PascalType=TFPgtkWidget
    Prop=UndoSelection
      PropType=Procedure
      GtkName=undo_selection
      Count=0
    Prop=EndDragSelection
      PropType=Procedure
      GtkName=end_drag_selection
      Count=0
    Prop=GetSelection
      PropType=Procedure
      Code=begin,"  with aGroup do","    begin","    ManageLists := False;","    GtkList := TheGtkObject^.Selection;","    end;",end;
      Count=1
      Param=aGroup
        PascalType=TFPgtkGroup
  Object=MenuShell
    Inherit=Container
    GtkFuncName=menu_shell
    Count=18
    Prop=MoveCurrentSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=dir
        PascalType=TGtkMenuDirectionType
      Param=data
        PascalType=pointer
    Prop=GtkPrepend
      PropType=Procedure
      Section=Protected
      GtkName=prepend
      Virtual
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=GtkInsert
      PropType=Procedure
      Section=Protected
      GtkName=insert
      Virtual
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=GtkAppend
      PropType=Procedure
      Section=Protected
      GtkName=append
      Virtual
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=ActivateItem
      PropType=Procedure
      GtkName=activate_item
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=ForceDeactivate
        PascalType=boolean
    Prop=SelectItem
      PropType=Procedure
      GtkName=select_item
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=DeActivate
      PropType=Procedure
      GtkName=deactivate
      Count=0
    Prop=Prepend
      PropType=Procedure
      Code=begin,"  GtkPrepend (MenuItem);","  MenuItem.Show;",end;
      Overload
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Prepend
      PropType=Procedure
      Code=begin,"  GtkPrepend (MenuItem);","  if createvisible then","    MenuItem.Show;",end;
      Overload
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=CreateVisible
        PascalType=boolean
    Prop=Insert
      PropType=Procedure
      Code=begin,"  GtkInsert (MenuItem, position);","  MenuItem.Show;",end;
      Overload
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=Insert
      PropType=Procedure
      Code=begin,"  GtkInsert (MenuItem, position);","  if createvisible then","    MenuItem.Show;",end;
      Overload
      Count=3
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
      Param=CreateVisible
        PascalType=boolean
    Prop=Append
      PropType=Procedure
      Code=begin,"  GtkAppend (MenuItem);","  MenuItem.Show;",end;
      Overload
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Append
      PropType=Procedure
      Code=begin,"  GtkAppend (MenuItem);","  if createvisible then","    MenuItem.Show;",end;
      Overload
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=CreateVisible
        PascalType=boolean
    Prop=DeActivate
      PropType=Signal
      PascalType=Signal
      GtkName=deactivate
      Count=0
    Prop=SelectionDone
      PropType=Signal
      PascalType=Signal
      GtkName=selection-done
      Count=0
    Prop=Cancel
      PropType=Signal
      PascalType=Signal
      GtkName=cancel
      Count=0
    Prop=MoveCurrent
      PropType=Signal
      PascalType=MoveCurrentSignal
      GtkName=move-current
      Count=0
    Prop=ActivateCurrent
      PropType=Signal
      PascalType=BooleanSignal
      GtkName=activate-current
      Count=0
  Object=MenuBar
    Inherit=MenuShell
    GtkFuncName=menu_bar
    CreateObject
    Count=4
    Prop=GtkPrepend
      PropType=Procedure
      Section=Protected
      GtkName=prepend
      Override
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=GtkInsert
      PropType=Procedure
      Section=Protected
      GtkName=insert
      Override
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=GtkAppend
      PropType=Procedure
      Section=Protected
      GtkName=append
      Override
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Shadow
      PropType=Property
      PascalType=TgtkShadowType
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
  Object=Menu
    Inherit=MenuShell
    GtkFuncName=menu
    CreateObject
    Count=20
    Prop=GtkPrepend
      PropType=Procedure
      Section=Protected
      GtkName=prepend
      Override
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=GtkInsert
      PropType=Procedure
      Section=Protected
      GtkName=insert
      Override
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=GtkAppend
      PropType=Procedure
      Section=Protected
      GtkName=append
      Override
      Count=1
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Functiontypes
      PropType=TypeDeclaration
      Code="  TFPgtkMenuDetachFunction = procedure (Widget:TFPgtkWidget; menu:TFPgtkMenu) of object;","  TFPgtkMenuPosFunction = procedure (menu:TFPgtkMenu; var x,y:integer; data:pointer) of object;"
      Count=0
    Prop=FPgtkMenuPos
      PropType=HelperProc
      Section=Private
      Code="var p : TFPgtkMenuPosFunction;",begin,"  with PSignalData (data)^ do","    begin","    p := TFPgtkMenuPosFunction (TheSignalProc);","    p(TFPgtkMenu(GetPascalInstance(PgtkObject(Sender))), x^, y^, data);","    end;",end;
      Cdecl
      Count=4
      Param=Sender
        PascalType=PgtkMenu
      Param=x
        PascalType=pgint
      Param=y
        PascalType=pgint
      Param=data
        PascalType=pointer
    Prop=FPgtkMenuDetacher
      PropType=HelperProc
      Section=Private
      Code="var m : TFPgtkMenu;","    a : TFPgtkWidget;",begin,"  m := (GetPascalInstance(PgtkObject(TheMenu)) as TFPgtkMenu);","  if assigned(m) and assigned(m.FDetacher) then","    begin","    a := TFPgtkWidget (GetPascalInstance(PgtkObject(AttachedWidget)));","    m.FDetacher (a, m);","    end",end;
      Cdecl
      Count=2
      Param=AttachedWidget
        PascalType=PgtkWidget
      Param=TheMenu
        PascalType=PgtkMenu
    Prop=FDetacher
      PropType=Field
      PascalType=TFPgtkMenuDetachFunction
      Count=0
    Prop=ReorderChild
      PropType=Procedure
      GtkName=reorder_child
      Count=2
      Param=MenuItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=Popup
      PropType=Procedure
      Code=begin,"  gtk_menu_popup (TheGtkObject, null, null, null, null, button, 0);",end;
      Overload
      Count=1
      Param=button
        PascalType=guint
    Prop=Popup
      PropType=Procedure
      Code=begin,"  gtk_menu_popup (TheGtkObject, ConvertTogtkWidget(ParentShell), ConvertTogtkWidget(ParentItem),","      @FPgtkMenuPos, ConvertSignalData(TFPgtkSignalFunction(func), data, true), button, ActivateTime);",end;
      Overload
      Count=6
      Param=ParentShell
        PascalType=TFPgtkWidget
      Param=ParentItem
        PascalType=TFPgtkWidget
      Param=func
        PascalType=TFPgtkMenuPosFunction
      Param=data
        PascalType=pointer
      Param=button
        PascalType=guint
      Param=ActivateTime
        PascalType=guint32
    Prop=PopDown
      PropType=Procedure
      GtkName=popdown
      Count=0
    Prop=Reposition
      PropType=Procedure
      GtkName=reposition
      Count=0
    Prop=AttachToWidget
      PropType=Procedure
      Code=begin,"  FDetacher := detacher;","  gtk_menu_attach_to_widget (TheGtkObject, ConvertTogtkWidget(Widget), @FPgtkMenuDetacher);",end;
      Count=2
      Param=Widget
        PascalType=TFPgtkWidget
      Param=detacher
        PascalType=TFPgtkMenuDetachFunction
    Prop=Detach
      PropType=Procedure
      GtkName=detach
      Count=0
    Prop=Title
      PropType=Property
      PascalType=string
      ReadFuncType=NotImplemented
      WriteProcType=Proc
      WriteCode=begin,"  gtk_menu_set_title(TheGtkObject,Pgchar(TheValue));",end;
      WriteConvert
      Count=0
    Prop=Active
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=active
      ReadConvert
      WriteProcType=Proc
      WriteCode="var r : integer;",begin,"  r := Children.indexof (TheValue);","  if r >= 0 then","    SetActiveIndex (r);",end;
      Count=0
    Prop=ActiveIndex
      PropType=Property
      PascalType=integer
      Code=begin,"  result := Children.indexof (GetActive);",end;
      ReadFuncType=Proc
      WriteGtkName=active
      Count=0
    Prop=TearOffState
      PropType=Property
      PascalType=boolean
      GtkName=torn_off
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=tearoff_state
      Count=0
    Prop=AttachedTo
      PropType=Property
      PascalType=TFPgtkWidget
      GtkName=attach_widget
      ReadConvert
      WriteProcType=Proc
      WriteCode=begin,"  AttachToWidget (TheValue, nil);",end;
      Count=0
    Prop=AccelGroup
      PropType=Property
      PascalType=PGtkAccelGroup
      GtkName=ensure_uline_accel_group
      ReadFuncType=GtkMacro
      WriteGtkName=accel_group
      Count=0
  Object=Packer
    Inherit=Container
    GtkFuncName=packer
    CreateObject
    Count=10
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_packer_add_defaults (TheGtkObject, Child.TheGtkWidget, Side, anchor, options);","  Child.Show;",end;
      Overload
      Count=4
      Param=Child
        PascalType=TFPgtkWidget
      Param=Side
        PascalType=TGtkSideType
      Param=Anchor
        PascalType=TGtkAnchorType
      Param=options
        PascalType=TGtkPackerOptions
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_packer_add_defaults (TheGtkObject, Child.TheGtkWidget, Side, anchor, options);","  if aVisible then","    Child.Show;",end;
      Overload
      Count=5
      Param=Child
        PascalType=TFPgtkWidget
      Param=Side
        PascalType=TGtkSideType
      Param=Anchor
        PascalType=TGtkAnchorType
      Param=options
        PascalType=TGtkPackerOptions
      Param=aVisible
        PascalType=boolean
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_packer_add (TheGtkObject, Child.TheGtkWidget, Side, anchor, options, aborder, padX, PadY, IPadX, IPadY);","  Child.Show;",end;
      Overload
      Count=9
      Param=Child
        PascalType=TFPgtkWidget
      Param=Side
        PascalType=TGtkSideType
      Param=Anchor
        PascalType=TGtkAnchorType
      Param=options
        PascalType=TGtkPackerOptions
      Param=aBorder
        PascalType=guint
      Param=PadX
        PascalType=Guint
      Param=PadY
        PascalType=guint
      Param=IPadX
        PascalType=guint
      Param=IPadY
        PascalType=guint
    Prop=Add
      PropType=Procedure
      Code=begin,"  gtk_packer_add (TheGtkObject, Child.TheGtkWidget, Side, anchor, options, aborder, padX, PadY, IPadX, IPadY);","  if aVisible then","    Child.Show;",end;
      Overload
      Count=10
      Param=Child
        PascalType=TFPgtkWidget
      Param=Side
        PascalType=TGtkSideType
      Param=Anchor
        PascalType=TGtkAnchorType
      Param=options
        PascalType=TGtkPackerOptions
      Param=aBorder
        PascalType=guint
      Param=PadX
        PascalType=Guint
      Param=PadY
        PascalType=guint
      Param=IPadX
        PascalType=guint
      Param=IPadY
        PascalType=guint
      Param=aVisible
        PascalType=boolean
    Prop=ReorderChild
      PropType=Procedure
      GtkName=reorder_child
      Count=2
      Param=aChild
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=Spacing
      PropType=Property
      PascalType=guint
      GtkName=spacing
      ReadFuncType=ObjField
      WriteGtkName=spacing
      Count=0
    Prop=DefaultBorder
      PropType=Procedure
      PascalType=guint
      GtkName=set_default_border_width
      WriteGtkName=border_width
      Count=1
      Param=aBorder
        PascalType=guint
    Prop=DefaultPad
      PropType=Procedure
      PascalType=guint
      GtkName=set_default_pad
      WriteGtkName=border_width
      Count=2
      Param=PadX
        PascalType=guint
      Param=PadY
        PascalType=guint
    Prop=DefaultIPad
      PropType=Procedure
      PascalType=guint
      GtkName=set_default_ipad
      WriteGtkName=border_width
      Count=2
      Param=IPadX
        PascalType=guint
      Param=IPadY
        PascalType=guint
    Prop=Configure
      PropType=Procedure
      GtkName=set_child_packing
      Overload
      Count=9
      Param=aChild
        Convert
        PascalType=TFPgtkWidget
      Param=Side
        PascalType=TGtkSideType
      Param=Anchor
        PascalType=TGtkAnchorType
      Param=options
        PascalType=TGtkPackerOptions
      Param=aBorder
        PascalType=guint
      Param=PadX
        PascalType=Guint
      Param=PadY
        PascalType=guint
      Param=IPadX
        PascalType=guint
      Param=IPadY
        PascalType=guint
  Object=Table
    Inherit=Container
    GtkFuncName=table
    CreateParams=1,1,False
    CreateObject
    Count=13
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  resize (AColumns, ARows);",end;
      Count=2
      Param=AColumns
        PascalType=integer
      Param=ARows
        PascalType=integer
    Prop=Resize
      PropType=Procedure
      Code=begin,"  gtk_table_resize (TheGtkObject, ARows, AColumns);",end;
      Count=2
      Param=AColumns
        PascalType=integer
      Param=ARows
        PascalType=integer
    Prop=Attach
      PropType=Procedure
      Code=begin,"  gtk_table_attach (TheGtkObject, ConvertToGtkWidget(Widget), left, right, top, bottom,","                    XOptions, YOptions, XPadding, YPadding);","  if isvisible then","    widget.Show;",end;
      Count=10
      Param=Widget
        PascalType=TFPgtkWidget
      Param=left
        PascalType=integer
      Param=right
        PascalType=integer
      Param=top
        PascalType=integer
      Param=bottom
        PascalType=integer
      Param=XOptions
        PascalType=integer
      Param=YOptions
        PascalType=integer
      Param=XPadding
        PascalType=integer
      Param=YPadding
        PascalType=integer
      Param=IsVisible
        PascalType=boolean
    Prop=Attach
      PropType=Procedure
      Code=begin,"  gtk_table_attach (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom,","                    XOptions, YOptions, XPadding, YPadding);","  widget.Show;",end;
      Count=9
      Param=Widget
        PascalType=TFPgtkWidget
      Param=left
        PascalType=integer
      Param=right
        PascalType=integer
      Param=top
        PascalType=integer
      Param=bottom
        PascalType=integer
      Param=XOptions
        PascalType=integer
      Param=YOptions
        PascalType=integer
      Param=XPadding
        PascalType=integer
      Param=YPadding
        PascalType=integer
    Prop=Attach
      PropType=Procedure
      Code=begin,"  gtk_table_attach_defaults (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom);","  if isvisible then","    widget.Show;",end;
      Count=6
      Param=Widget
        PascalType=TFPgtkWidget
      Param=left
        PascalType=integer
      Param=right
        PascalType=integer
      Param=top
        PascalType=integer
      Param=bottom
        PascalType=integer
      Param=IsVisible
        PascalType=boolean
    Prop=Attach
      PropType=Procedure
      Code=begin,"  gtk_table_attach_defaults (TheGtkObject, ConvertTogtkWidget(Widget), left, right, top, bottom);","  widget.Show;",end;
      Count=5
      Param=Widget
        PascalType=TFPgtkWidget
      Param=left
        PascalType=integer
      Param=right
        PascalType=integer
      Param=top
        PascalType=integer
      Param=bottom
        PascalType=integer
    Prop=RowCount
      PropType=Property
      PascalType=integer
      GtkName=nrows
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=ColCount
      PropType=Property
      PascalType=integer
      GtkName=ncols
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=Homogeneous
      PropType=Property
      PascalType=boolean
      GtkName=homogeneous
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=homogeneous
      Count=0
    Prop=RowSpacings
      PropType=Property
      PascalType=integer
      GtkName=column_spacing
      ReadFuncType=ObjField
      WriteGtkName=row_spacings
      Count=0
    Prop=ColSpacings
      PropType=Property
      PascalType=integer
      GtkName=row_spacing
      ReadFuncType=ObjField
      WriteGtkName=col_spacings
      Count=0
    Prop=SetOneRowSpacing
      PropType=Procedure
      GtkName=set_row_spacing
      Count=2
      Param=row
        PascalType=integer
      Param=TheValue
        PascalType=integer
    Prop=SetOneColSpacing
      PropType=Procedure
      GtkName=set_col_spacing
      Count=2
      Param=Column
        PascalType=integer
      Param=TheValue
        PascalType=integer
  Object=Toolbar
    Inherit=Container
    GtkFuncName=toolbar
    CreateParams=GTK_ORIENTATION_HORIZONTAL,GTK_TOOLBAR_BOTH
    CreateObject
    Count=22
    Prop=ButtonRelief
      PropType=Property
      PascalType=TGtkReliefStyle
      GtkName=button_relief
      WriteGtkName=button_relief
      Count=0
    Prop=Tooltips
      PropType=Property
      PascalType=TFPgtkTooltips
      GtkName=tooltips
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=NotImplemented
      Count=0
    Prop=EnableTooltips
      PropType=Property
      PascalType=longbool
      Code=begin,"  result := tooltips.enabled;",end;
      ReadFuncType=Proc
      WriteGtkName=tooltips
      WriteConvert
      Count=0
    Prop=SpaceStyle
      PropType=Property
      PascalType=TGtkToolbarSpaceStyle
      GtkName=space_style
      ReadFuncType=ObjField
      WriteGtkName=space_style
      Count=0
    Prop=SpaceSize
      PropType=Property
      PascalType=integer
      GtkName=space_size
      ReadFuncType=ObjField
      WriteGtkName=space_size
      Count=0
    Prop=Style
      PropType=Property
      PascalType=TGtkToolbarStyle
      GtkName=style
      ReadFuncType=ObjField
      WriteGtkName=style
      Count=0
    Prop=Orientation
      PropType=Property
      PascalType=tGtkOrientation
      GtkName=orientation
      ReadFuncType=ObjField
      WriteGtkName=orientation
      Count=0
    Prop=InsertWidget
      PropType=Procedure
      Code=begin,"  gtk_toolbar_insert_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertToPgchar(TooltipText), ConvertTopgchar(TooltipPrivate), Position);","  Widget.Show;",end;
      Count=4
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Position
        PascalType=integer
    Prop=PrependWidget
      PropType=Procedure
      Code=begin,"  gtk_toolbar_prepend_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate));","  Widget.Show;",end;
      Count=3
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
    Prop=AppendWidget
      PropType=Procedure
      Code=begin,"  gtk_toolbar_append_widget (TheGtkObject, ConvertToGtkWidget(Widget), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate));","  Widget.Show;",end;
      Count=3
      Param=Widget
        Convert
        PascalType=TFPgtkWidget
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
    Prop=InsertElement
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var w : PGtkWidget;","    t : TFPgtkObjectClass;",begin,"  w := gtk_toolbar_insert_element (TheGtkObject, ButtonType, ","           ConvertToGtkwidget(PrevRadioBut), ConvertTopgchar(Text), ","           ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ","           ConvertToGtkwidget(Icon), ","           gtk_signal_func(@SignalProc), ","           ConvertSignalData(TFPgtkSignalFunction(callback), data, true), ","           position);","  if assigned (w) then","    begin","    case ButtonType of","      GTK_TOOLBAR_CHILD_WIDGET:","        t := TFPgtkWidget;","      GTK_TOOLBAR_CHILD_BUTTON:","        t := TFPgtkButton;","      GTK_TOOLBAR_CHILD_TOGGLEBUTTON:","        t := TFPgtkToggleButton;","      GTK_TOOLBAR_CHILD_RADIOBUTTON:","        t := TFPgtkRadioButton;","    end;","    if t = TFPgtkWidget then","      result := GetPascalInstance (w)","    else","      result := GetPascalInstance (w, t);","    end","  else","    result := nil;",end;
      Count=9
      Param=ButtonType
        PascalType=TGtkToolbarChildType
      Param=PrevRadioBut
        Convert
        PascalType=TFPgtkWidget
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
      Param=position
        PascalType=integer
    Prop=AppendElement
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var w : PGtkWidget;","    t : TFPgtkObjectClass;",begin,"  w := gtk_toolbar_append_element (TheGtkObject, ButtonType, ConvertToGtkwidget(PrevRadioBut), ","          ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ","          ConvertToGtkwidget(Icon), gtk_signal_func(@SignalProc), ","          ConvertSignalData(TFPgtkSignalFunction(callback), data, true));","  if assigned (w) then","    begin","    case ButtonType of","      GTK_TOOLBAR_CHILD_WIDGET:","        t := TFPgtkWidget;","      GTK_TOOLBAR_CHILD_BUTTON:","        t := TFPgtkButton;","      GTK_TOOLBAR_CHILD_TOGGLEBUTTON:","        t := TFPgtkToggleButton;","      GTK_TOOLBAR_CHILD_RADIOBUTTON:","        t := TFPgtkRadioButton;","    end;","    if t = TFPgtkWidget then","      result := GetPascalInstance (w)","    else","      result := GetPascalInstance (w, t);","    end","  else","    result := nil;",end;
      Count=8
      Param=ButtonType
        PascalType=TGtkToolbarChildType
      Param=PrevRadioBut
        Convert
        PascalType=TFPgtkWidget
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=PrependElement
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var w : PGtkWidget;","    t : TFPgtkObjectClass;",begin,"  w := gtk_toolbar_prepend_element (TheGtkObject, ButtonType, ConvertToGtkwidget(PrevRadioBut), ","          ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ","          ConvertToGtkwidget(Icon), gtk_signal_func(@SignalProc), ","          ConvertSignalData(TFPgtkSignalFunction(callback), data, true));","  if assigned (w) then","    begin","    case ButtonType of","      GTK_TOOLBAR_CHILD_WIDGET:","        t := TFPgtkWidget;","      GTK_TOOLBAR_CHILD_BUTTON:","        t := TFPgtkButton;","      GTK_TOOLBAR_CHILD_TOGGLEBUTTON:","        t := TFPgtkToggleButton;","      GTK_TOOLBAR_CHILD_RADIOBUTTON:","        t := TFPgtkRadioButton;","    end;","    if t = TFPgtkWidget then","      result := GetPascalInstance (w)","    else","      result := GetPascalInstance (w, t);","    end","  else","    result := nil;",end;
      Count=8
      Param=ButtonType
        PascalType=TGtkToolbarChildType
      Param=PrevRadioBut
        Convert
        PascalType=TFPgtkWidget
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=InsertItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (","      gtk_toolbar_insert_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ConvertToGtkWidget(Icon), ","              gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true), position),","      TFPgtkButton);",end;
      Overload
      Count=7
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
      Param=position
        PascalType=integer
    Prop=AppendItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (","      gtk_toolbar_append_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ","              ConvertToGtkWidget(Icon), gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),","      TFPgtkButton);",end;
      Overload
      Count=6
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=PrependItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code=begin,"  result := GetPascalInstance (","      gtk_toolbar_prepend_item (TheGtkObject, Converttopgchar(Text), Converttopgchar(TooltipText), ","              Converttopgchar(TooltipPrivate), ConvertToGtkWidget(Icon), gtk_signal_func(@SignalProc), ","              ConvertSignalData(TFPgtkSignalFunction(callback), data, true)), ","      TFPgtkButton);",end;
      Overload
      Count=6
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=TFPgtkWidget
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=InsertItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var pm : TFPgtkPixmap;",begin,"  if low(icon) < high(icon) then","    begin","    pm := TFPgtkPixmap.Create;","    pm.loadFromArray (icon);","    end","  else","    pm := nil;","  result := GetPascalInstance (","      gtk_toolbar_insert_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ConvertToGtkWidget(pm), ","              gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true), position),","      TFPgtkButton);",end;
      Overload
      Count=7
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=array of string
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
      Param=position
        PascalType=integer
    Prop=AppendItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var pm : TFPgtkPixmap;",begin,"  if low(icon) < high(icon) then","    begin","    pm := TFPgtkPixmap.Create;","    pm.loadFromArray (icon);","    end","  else","    pm := nil;","  result := GetPascalInstance (","      gtk_toolbar_append_item (TheGtkObject, ConvertTopgchar(Text), ConvertTopgchar(TooltipText), ConvertTopgchar(TooltipPrivate), ","              ConvertToGtkWidget(pm), gtk_signal_func(@SignalProc), ConvertSignalData(TFPgtkSignalFunction(callback), data, true)),","      TFPgtkButton);",end;
      Overload
      Count=6
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=array of string
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=PrependItem
      PropType=Function
      PascalType=TFPgtkWidget
      Code="var pm : TFPgtkPixmap;",begin,"  if low(icon) < high(icon) then","    begin","    pm := TFPgtkPixmap.Create;","    pm.loadFromArray (icon);","    end","  else","    pm := nil;","  result := GetPascalInstance (","      gtk_toolbar_prepend_item (TheGtkObject, Converttopgchar(Text), Converttopgchar(TooltipText), ","              Converttopgchar(TooltipPrivate), ConvertToGtkWidget(pm), gtk_signal_func(@SignalProc), ","              ConvertSignalData(TFPgtkSignalFunction(callback), data, true)), ","      TFPgtkButton);",end;
      Overload
      Count=6
      Param=Text
        Convert
        PascalType=string
      Param=TooltipText
        Convert
        PascalType=string
      Param=TooltipPrivate
        Convert
        PascalType=string
      Param=Icon
        Convert
        PascalType=array of string
      Param=CallBack
        Convert
        PascalType=TFPgtkSignalFunction
      Param=data
        PascalType=pointer
    Prop=InsertSpace
      PropType=Procedure
      GtkName=insert_space
      Count=1
      Param=position
        PascalType=integer
    Prop=AppendSpace
      PropType=Procedure
      GtkName=append_space
      Count=0
    Prop=PrependSpace
      PropType=Procedure
      GtkName=prepend_space
      Count=0
  Object=Tree
    Inherit=Container
    GtkFuncName=tree
    CreateObject
    Count=20
    Prop=SelectionChanged
      PropType=Signal
      PascalType=Signal
      GtkName=selection-changed
      Count=0
    Prop=SelectChild
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=select-child
      Count=0
    Prop=UnselectChild
      PropType=Signal
      PascalType=WidgetSignal
      GtkName=unselect-child
      Count=0
    Prop=SelectionMode
      PropType=Property
      PascalType=TGtkSelectionMode
      GtkName=selection_mode
      ReadFuncType=ObjFunc
      WriteGtkName=selection_mode
      Count=0
    Prop=ViewLines
      PropType=Property
      PascalType=boolean
      GtkName=view_line
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_tree_set_view_lines(TheGtkObject,guint(TheValue));",end;
      WriteConvert
      Count=0
    Prop=ViewMode
      PropType=Property
      PascalType=TGtkTreeViewMode
      GtkName=view_mode
      ReadFuncType=ObjFunc
      WriteGtkName=view_mode
      Count=0
    Prop=Append
      PropType=Procedure
      Code=begin,"  gtk_tree_append (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));","  TreeItem.Show;",end;
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Prepend
      PropType=Procedure
      Code=begin,"  gtk_tree_prepend (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)));","  TreeItem.Show;",end;
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=Insert
      PropType=Procedure
      Code=begin,"  gtk_tree_insert (TheGtkObject, PGtkwidget(ConvertToGtkObject(TreeItem)),position);","  TreeItem.show;",end;
      Count=2
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
      Param=position
        PascalType=integer
    Prop=Remove
      PropType=Procedure
      Code="var l : PGList;",begin,"{$ifndef win32}","  gtk_tree_remove_item (TheGtkObject, ConvertToGtkWidget(TreeItem));",{$else},"  l := null;","  l := g_list_append (l, ConvertToGtkWidget(TreeItem));","  gtk_tree_remove_items (TheGtkObject, l);","  g_list_free (l);",{$endif},end;
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=ClearItems
      PropType=Procedure
      GtkName=clear_items
      Count=2
      Param=StartPos
        PascalType=integer
      Param=EndPos
        PascalType=integer
    Prop=SelectItem
      PropType=Procedure
      GtkName=select_item
      Count=1
      Param=Item
        Convert
        PascalType=integer
    Prop=UnselectItem
      PropType=Procedure
      GtkName=unselect_item
      Count=1
      Param=Item
        PascalType=integer
    Prop=SelectChild
      PropType=Procedure
      GtkName=select_child
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=UnselectChild
      PropType=Procedure
      GtkName=unselect_child
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=ChildPosition
      PropType=Function
      PascalType=integer
      GtkName=child_position
      Count=1
      Param=TreeItem
        Convert
        PascalType=TFPgtkWidget
    Prop=RootTree
      PropType=Function
      PascalType=TFPgtkTree
      Code=begin,"  result := GetPascalInstance(PGtkObject(GTK_TREE_ROOT_TREE(TheGtkObject))) as TFPgtkTree;",end;
      Count=0
    Prop=IsRootTree
      PropType=Function
      PascalType=boolean
      Code=begin,"  result := GTK_IS_ROOT_TREE (TheGtkObject);",end;
      Count=0
    Prop=GetSelection
      PropType=Procedure
      PascalType=TFPgtkTreeItemGroup
      Code=begin,"  aGroup.ManageLists := false;","  aGroup.GtkList := Gtk_Tree_selection (TheGtkObject);",end;
      Count=1
      Param=aGroup
        PascalType=TFPgtkGroup
    Prop=Level
      PropType=Function
      PascalType=integer
      Code=begin,"  result := TheGtkObject^.level;",end;
      Count=0
  Object=Calendar
    Inherit=Widget
    GtkFuncName=calendar
    CreateObject
    Count=16
    Prop=SelectMonth
      PropType=Function
      PascalType=integer
      Code=begin,"  result := gtk_calendar_select_month (TheGtkObject, aMonth-1, aYear);",end;
      Count=2
      Param=aMonth
        PascalType=guint
      Param=aYear
        PascalType=guint
    Prop=SelectDay
      PropType=Procedure
      GtkName=select_day
      Count=1
      Param=aDay
        PascalType=guint
    Prop=MarkDay
      PropType=Function
      PascalType=integer
      GtkName=mark_day
      Count=1
      Param=aDay
        PascalType=guint
    Prop=UnmarkDay
      PropType=Function
      PascalType=integer
      GtkName=unmark_day
      Count=1
      Param=aDay
        PascalType=guint
    Prop=ClearMarks
      PropType=Procedure
      GtkName=clear_marks
      Count=0
    Prop=DisplayOptions
      PropType=Property
      PascalType=TGtkCalendarDisplayOptions
      GtkName=display_flags
      ReadFuncType=ObjField
      WriteProcType=GtkMacro
      WriteGtkName=display_options
      Count=0
    Prop=Date
      PropType=Property
      PascalType=TDatetime
      Code="var y, m, d : guint;",begin,"  gtk_calendar_get_date (TheGtkObject, @y, @m, @d);","  result := encodedate (y,m+1,d);",end;
      ReadFuncType=Proc
      WriteProcType=Proc
      WriteCode="var y,m,d : word;",begin,"  decodedate (TheValue, y,m,d);","  SelectMonth(m,y);","  SelectDay(d);",end;
      Count=0
    Prop=Freeze
      PropType=Procedure
      GtkName=freeze
      Count=0
    Prop=Thaw
      PropType=Procedure
      GtkName=thaw
      Count=0
    Prop=MonthChanged
      PropType=Signal
      PascalType=signal
      GtkName=month-changed
      Count=0
    Prop=DaySelected
      PropType=Signal
      PascalType=signal
      GtkName=day-selected
      Count=0
    Prop=DaySelectedDoubleClick
      PropType=Signal
      PascalType=signal
      GtkName=day-selected-double-click
      Count=0
    Prop=PrevMonth
      PropType=Signal
      PascalType=signal
      GtkName=prev-month
      Count=0
    Prop=NextMonth
      PropType=Signal
      PascalType=signal
      GtkName=next-month
      Count=0
    Prop=PrevYear
      PropType=Signal
      PascalType=signal
      GtkName=prev-year
      Count=0
    Prop=NextYear
      PropType=Signal
      PascalType=signal
      GtkName=next-year
      Count=0
  Object=DrawingArea
    Inherit=Widget
    GtkFuncName=drawing_area
    CreateObject
    Count=1
    Prop=SetSize
      PropType=Procedure
      GtkName=Size
      Count=2
      Param=Width
        PascalType=integer
      Param=Height
        PascalType=integer
  Object=Curve
    Inherit=DrawingArea
    GtkFuncName=curve
    CreateObject
    Count=4
    Prop=SetRange
      PropType=Procedure
      GtkName=set_range
      Count=4
      Param=MinX
        PascalType=float
      Param=MaxX
        PascalType=float
      Param=MinY
        PascalType=float
      Param=MaxY
        PascalType=float
    Prop=Reset
      PropType=Procedure
      GtkName=reset
      Count=0
    Prop=SetGamma
      PropType=Procedure
      GtkName=set_gamma
      Count=1
      Param=GammaValue
        PascalType=float
    Prop=CurveType
      PropType=Property
      PascalType=TGtkCurveType
      GtkName=curve_type
      ReadFuncType=ObjField
      WriteGtkName=curve_type
      Count=0
  Object=Editable
    Inherit=Widget
    GtkFuncName=Editable
    Count=45
    Prop=GetHasSelection
      PropType=Function
      Section=Protected
      PascalType=boolean
      Code=begin,"  result := SelectionStart <> SelectionEnd;",end;
      Dynamic
      Count=0
    Prop=HasSelection
      PropType=Property
      PascalType=boolean
      GtkName=GetHasSelection
      ReadConvert
      ReadFuncType=ExistingProc
      WriteProcType=NotImplemented
      WriteConvert
      Count=0
    Prop=Editable
      PropType=Property
      PascalType=boolean
      GtkName=editable
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=editable
      Count=0
    Prop=Visible
      PropType=Property
      PascalType=boolean
      GtkName=visible
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=ObjFunc
      WriteGtkName=visible
      WriteConvert
      Count=0
    Prop=Position
      PropType=Property
      PascalType=integer
      GtkName=position
      WriteGtkName=position
      Count=0
    Prop=SelectionStart
      PropType=Property
      PascalType=integer
      GtkName=selection_start_pos
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_editable_select_region (TheGtkObject, TheValue, SelectionEnd);",end;
      Count=0
    Prop=SelectionEnd
      PropType=Property
      PascalType=integer
      GtkName=Selection_end_pos
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_editable_select_region (TheGtkObject, SelectionStart, TheValue);",end;
      Count=0
    Prop=SetSelection
      PropType=Procedure
      Section=Protected
      Code="var b : integer;",begin,"  if HasSelection then","    begin","    b := SelectionStart;","    deleteText (SelectionStart, SelectionEnd);","    end","  else","    b := position;","  InsertText (TheValue, b);","  Position := b + length(TheValue);","  SelectRegion (b, position);","end;  "
      Dynamic
      Count=1
      Param=TheValue
        PascalType=string
    Prop=Selection
      PropType=Property
      PascalType=string
      Code="var c : pgchar;",begin,"  c := gtk_editable_get_chars (TheGtkObject, SelectionStart, SelectionEnd);","  result := string (c);","  g_free (c);",end;
      ReadFuncType=Proc
      WriteProcType=ExistingProc
      WriteGtkName=SetSelection
      Count=0
    Prop=GetText
      PropType=Function
      Section=Protected
      PascalType=string
      Code="var c : pgchar;",begin,"  c := gtk_editable_get_chars (TheGtkObject, 0, -1);","  result := string (c);","  g_free (c);",end;
      Dynamic
      Count=0
    Prop=SetText
      PropType=Procedure
      Section=Protected
      Dynamic
      Abstract
      Count=1
      Param=TheValue
        PascalType=string
    Prop=Text
      PropType=Property
      PascalType=string
      GtkName=GetText
      ReadFuncType=ExistingProc
      WriteProcType=ExistingProc
      WriteGtkName=SetText
      Count=0
    Prop=Changed
      PropType=Procedure
      GtkName=Changed
      Count=0
    Prop=InsertText
      PropType=Procedure
      Code="var p : integer;",begin,"  p := AtPosition;","  gtk_editable_insert_text (TheGtkObject, pgchar(NewText), length(NewText), @p);",end;
      Count=2
      Param=NewText
        PascalType=string
      Param=AtPosition
        PascalType=integer
    Prop=DeleteText
      PropType=Procedure
      GtkName=Delete_Text
      Count=2
      Param=StartPos
        PascalType=integer
      Param=EndPos
        PascalType=integer
    Prop=GetChars
      PropType=Procedure
      PascalType=string
      GtkName=get_chars
      Count=2
      Param=StartPos
        PascalType=integer
      Param=EndPos
        PascalType=integer
    Prop=CutClipboard
      PropType=Procedure
      GtkName=cut_clipboard
      Count=0
    Prop=CopyClipboard
      PropType=Procedure
      GtkName=copy_clipboard
      Count=0
    Prop=PasteClipboard
      PropType=Procedure
      GtkName=paste_clipboard
      Count=0
    Prop=SelectRegion
      PropType=Procedure
      GtkName=select_region
      Count=2
      Param=StartPos
        PascalType=integer
      Param=EndPos
        PascalType=integer
    Prop=ClaimSelection
      PropType=Procedure
      GtkName=claim_selection
      Count=2
      Param=claim
        PascalType=boolean
      Param=time
        PascalType=guint32
    Prop=DeleteSelection
      PropType=Procedure
      GtkName=delete_selection
      Count=0
    Prop=Clear
      PropType=Procedure
      Code=begin,"  DeleteText (0,-1);",end;
      Count=0
    Prop=InsertSignal
      PropType=SignalType
      Count=5
      Param=Sender
        PascalType=TFPgtkObject
      Param=NewText
        Convert
        PascalType=string
      Param=TextLength
        PascalType=integer
      Param=Position
        PascalType=integer
        ParamType=Var
      Param=data
        PascalType=pointer
    Prop=DeleteSignal
      PropType=SignalType
      Count=4
      Param=Sender
        PascalType=TFPgtkObject
      Param=StartPos
        PascalType=integer
      Param=EndPos
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=XYSignal
      PropType=SignalType
      Count=4
      Param=Sender
        PascalType=TFPgtkObject
      Param=x
        PascalType=integer
      Param=y
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=DirectionSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=Direction
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=MoveWordSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=NumWords
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=MovetoSignal
      PropType=SignalType
      Count=3
      Param=Sender
        PascalType=TFPgtkObject
      Param=MoveTo
        PascalType=integer
      Param=data
        PascalType=pointer
    Prop=Changed
      PropType=Signal
      PascalType=Signal
      GtkName=changed
      Count=0
    Prop=Activate
      PropType=Signal
      PascalType=Signal
      GtkName=activate
      Count=0
    Prop=InsertText
      PropType=Signal
      PascalType=InsertSignal
      GtkName=insert-text
      Count=0
    Prop=DeleteText
      PropType=Signal
      PascalType=DeleteSignal
      GtkName=delete-text
      Count=0
    Prop=SetEditable
      PropType=Signal
      PascalType=BooleanSignal
      GtkName=set-editable
      Count=0
    Prop=MoveCursor
      PropType=Signal
      PascalType=XYSignal
      GtkName=move-cursor
      Count=0
    Prop=MoveWord
      PropType=Signal
      PascalType=MoveWordSignal
      GtkName=move-word
      Count=0
    Prop=MovePage
      PropType=Signal
      PascalType=XYSignal
      GtkName=move-page
      Count=0
    Prop=MoveToRow
      PropType=Signal
      PascalType=MoveToSignal
      GtkName=move-to-row
      Count=0
    Prop=MoveToCol
      PropType=Signal
      PascalType=MoveToSignal
      GtkName=move-to-column
      Count=0
    Prop=KillChar
      PropType=Signal
      PascalType=DirectionSignal
      GtkName=kill-char
      Count=0
    Prop=KillWord
      PropType=Signal
      PascalType=DirectionSignal
      GtkName=kill-word
      Count=0
    Prop=KillLine
      PropType=Signal
      PascalType=DirectionSignal
      GtkName=kill-line
      Count=0
    Prop=CutClipboard
      PropType=Signal
      PascalType=Signal
      GtkName=cut-clipboard
      Count=0
    Prop=CopyClipboard
      PropType=Signal
      PascalType=Signal
      GtkName=copy-clipboard
      Count=0
    Prop=PasteClipboard
      PropType=Signal
      PascalType=Signal
      GtkName=paste-clipboard
      Count=0
  Object=Entry
    Inherit=Editable
    GtkFuncName=Entry
    CreateObject
    Count=5
    Prop=SetText
      PropType=Procedure
      Section=Protected
      Code=begin,"  gtk_Entry_set_text (TheGtkObject, Pgchar(TheValue));",end;
      Override
      Count=1
      Param=TheValue
        PascalType=string
    Prop=AppendText
      PropType=Procedure
      GtkName=append_text
      Count=1
      Param=aText
        Convert
        PascalType=string
    Prop=PrependText
      PropType=Procedure
      GtkName=prepend_text
      Count=1
      Param=aText
        Convert
        PascalType=string
    Prop=Visibility
      PropType=Property
      PascalType=boolean
      GtkName=visible
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=visibility
      Count=0
    Prop=MaxLength
      PropType=Property
      PascalType=word
      GtkName=text_max_length
      ReadFuncType=ObjField
      WriteGtkName=max_length
      Count=0
  Object=SpinButton
    Inherit=Entry
    GtkFuncName=spin_button
    CreateParams=TFPgtkAdjustment.Create.TheGtkObject,1,0
    CreateObject
    Count=13
    Prop=Configure
      PropType=Procedure
      Code=begin,"  if assigned (Adj) then","    gtk_spin_button_configure (TheGtkObject, PGtkadjustment(Adj.TheGtkObject), aClimbRate, aDigits)","  else","    gtk_spin_button_configure (TheGtkObject, nil, aClimbRate, aDigits);",end;
      Count=3
      Param=Adj
        Convert
        PascalType=TFPgtkAdjustment
      Param=aClimbRate
        PascalType=gfloat
      Param=aDigits
        PascalType=integer
    Prop=Adjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      Code=begin,"  result := GetPascalInstance(PGtkObject(gtk_spin_button_get_adjustment(TheGtkObject)),TFPGtkAdjustment) as TFPgtkAdjustment;",end;
      ReadConvert
      ReadFuncType=Proc
      WriteGtkName=adjustment
      WriteConvert
      Count=0
    Prop=ClimbRate
      PropType=Property
      PascalType=gfloat
      GtkName=climb_rate
      ReadFuncType=ObjField
      WriteProcType=ObjField
      WriteGtkName=climb_rate
      Count=0
    Prop=Digits
      PropType=Property
      PascalType=integer
      GtkName=digits
      ReadFuncType=ObjFunc
      WriteGtkName=digits
      Count=0
    Prop=AsInteger
      PropType=Property
      PascalType=integer
      GtkName=value_as_int
      WriteGtkName=Value
      Count=0
    Prop=AsFloat
      PropType=Property
      PascalType=gfloat
      GtkName=value_as_int
      WriteGtkName=Value
      Count=0
    Prop=UpdatePolicy
      PropType=Property
      PascalType=TGtkSpinButtonUpdatePolicy
      GtkName=update_policy
      ReadFuncType=ObjField
      WriteGtkName=update_policy
      Count=0
    Prop=Numeric
      PropType=Property
      PascalType=boolean
      GtkName=numeric
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=numeric
      Count=0
    Prop=Spin
      PropType=Procedure
      GtkName=spin
      Count=2
      Param=direction
        PascalType=TGtkSpinType
      Param=increment
        PascalType=gfloat
    Prop=Wrap
      PropType=Property
      PascalType=boolean
      GtkName=wrap
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=wrap
      Count=0
    Prop=ShadowType
      PropType=Property
      PascalType=TGtkShadowType
      GtkName=shadow_type
      ReadFuncType=ObjField
      WriteGtkName=shadow_type
      Count=0
    Prop=SnapToTicks
      PropType=Property
      PascalType=boolean
      GtkName=snap_to_ticks
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=snap_to_ticks
      Count=0
    Prop=Update
      PropType=Procedure
      GtkName=update
      Code=,
      Count=0
  Object=Text
    Inherit=Editable
    GtkFuncName=Text
    CreateParams=null,null
    CreateObject
    Count=20
    Prop=FIsChanged
      PropType=Field
      Section=Private
      PascalType=boolean
      Count=0
    Prop=FLines
      PropType=Field
      Section=Private
      PascalType=TStrings
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  inherited create;","  editable := true;","  wordwrap := true;","  linewrap := true;","  FLines := TStringlist.Create;","  ConnectChanged (@SigChanged, nil);",end;
      Count=0
    Prop=Destroy
      PropType=Destructor
      Code=begin,"  FLines.Free;","  inherited;",end;
      Override
      Count=0
    Prop=SigChanged
      PropType=Procedure
      Section=Private
      Code=begin,"  FIsChanged := True;",end;
      Count=2
      Param=Sender
        PascalType=TFPgtkObject
      Param=data
        PascalType=pointer
    Prop=RefreshLines
      PropType=Procedure
      Section=Protected
      Code=begin,"  if not assigned (FLines) then","    FLines := TStringlist.Create;","  FLines.Text := Text;",end;
      Count=0
    Prop=Lines
      PropType=Property
      PascalType=TStrings
      Code=begin,"  if FIsChanged then","    RefreshLines;","  result := FLines;",end;
      ReadFuncType=Proc
      WriteProcType=NotImplemented
      Count=0
    Prop=Freeze
      PropType=Procedure
      GtkName=Freeze
      Count=0
    Prop=Thaw
      PropType=Procedure
      GtkName=Thaw
      Count=0
    Prop=TextLength
      PropType=Function
      PascalType=guint
      GtkName=get_length
      Count=0
    Prop=Insert
      PropType=Procedure
      Code=begin,"  gtk_text_insert (TheGtkObject, font, fore, back, pgchar(TheText), length(TheText));",end;
      Count=4
      Param=font
        PascalType=PgdkFont
      Param=fore
        PascalType=PgdkColor
      Param=back
        PascalType=PgdkColor
      Param=TheText
        Convert
        PascalType=string
    Prop=DeleteBackward
      PropType=Procedure
      GtkName=Backward_Delete
      Count=1
      Param=number
        PascalType=longword
    Prop=DeleteForward
      PropType=Procedure
      GtkName=Forward_Delete
      Count=1
      Param=number
        PascalType=longword
    Prop=WordWrap
      PropType=Property
      PascalType=boolean
      GtkName=word_wrap
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"  gtk_text_set_word_wrap (TheGtkObject,gint(TheValue));",end;
      WriteConvert
      Count=0
    Prop=LineWrap
      PropType=Property
      PascalType=boolean
      GtkName=Line_Wrap
      ReadConvert
      ReadFuncType=ObjFunc
      WriteProcType=Proc
      WriteCode=begin,"{$IFDEF win32 or go32v2}","  Set_Line_Wrap (TheGtkObject^, gint(TheValue));",{$ELSE},"  gtk_Text_Set_Line_Wrap (TheGtkObject, gint(TheValue));",{$ENDIF},end;
      Count=0
    Prop=Point
      PropType=Property
      PascalType=integer
      GtkName=Point
      WriteGtkName=Point
      Count=0
    Prop=SetAdjustments
      PropType=Procedure
      Code=begin,"  gtk_text_set_adjustments (TheGtkObject, hadj.TheGtkObject, vadj.TheGtkObject);",end;
      Count=2
      Param=hadj
        PascalType=TFPgtkAdjustment
      Param=vadj
        PascalType=TFPgtkAdjustment
    Prop=HAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=hadj
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_Text_Set_Adjustments(TheGtkObject, TheValue.TheGtkObject, TheGtkObject^.vadj);",end;
      Count=0
    Prop=VAdjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=vadj
      ReadConvert
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_Text_Set_Adjustments(TheGtkObject, TheGtkObject^.hadj, TheValue.TheGtkObject);",end;
      Count=0
    Prop=SetText
      PropType=Procedure
      Section=Protected
      Code=begin,"  Freeze;","  {$ifdef gtkwin}","  TheValue := stringreplace (TheValue, #13#10, #10, [rfReplaceAll]);","  {$endif}","  clear;","  Insert (null, null, null, TheValue);","  Thaw;",end;
      Override
      Count=1
      Param=TheValue
        PascalType=string
  Object=Ruler
    Inherit=Widget
    GtkFuncName=ruler
    Count=2
    Prop=SetMetric
      PropType=Procedure
      PascalType=TGtkMetricType
      GtkName=set_metric
      Count=1
      Param=aMetric
        PascalType=TGtkMetricType
    Prop=SetRange
      PropType=Procedure
      GtkName=set_range
      Count=4
      Param=Lower
        PascalType=float
      Param=Upper
        PascalType=float
      Param=Position
        PascalType=float
      Param=MaxSize
        PascalType=float
  Object=HRuler
    Inherit=Ruler
    GtkFuncName=hruler
    CreateObject
    Count=0
  Object=VRuler
    Inherit=Ruler
    GtkFuncName=vruler
    CreateObject
    Count=0
  Object=Range
    Inherit=Widget
    GtkFuncName=Range
    Count=18
    Prop=Adjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      GtkName=Adjustment
      ReadConvert
      WriteGtkName=adjustment
      WriteConvert
      Count=0
    Prop=UpdatePolicy
      PropType=Property
      PascalType=TgtkUpdateType
      GtkName=policy
      ReadFuncType=ObjFunc
      WriteGtkName=update_policy
      Count=0
    Prop=FAdj
      PropType=Field
      Section=Protected
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=Create
      PropType=Constructor
      Code=begin,"  FAdj := AnAdjustment;","  inherited create;",end;
      Count=1
      Param=AnAdjustment
        PascalType=TFPgtkAdjustment
    Prop=DrawBackground
      PropType=Procedure
      GtkName=draw_background
      Count=0
    Prop=DrawTrough
      PropType=Procedure
      GtkName=draw_trough
      Count=0
    Prop=DrawStepForw
      PropType=Procedure
      GtkName=draw_step_forw
      Count=0
    Prop=DrawStepBack
      PropType=Procedure
      GtkName=draw_step_back
      Count=0
    Prop=DrawSlider
      PropType=Procedure
      GtkName=draw_slider
      Count=0
    Prop=SliderUpdate
      PropType=Procedure
      GtkName=slider_update
      Count=0
    Prop=TroughClick
      PropType=Function
      PascalType=integer
      Code=begin,"  result := gtk_Range_trough_click (TheGtkObject, X, Y, @JumpPerc);",end;
      Count=3
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
      Param=JumpPerc
        PascalType=gfloat
        ParamType=Var
    Prop=DefaultHSliderUpdate
      PropType=Procedure
      GtkName=default_hslider_update
      Count=0
    Prop=DefaultVSliderUpdate
      PropType=Procedure
      GtkName=default_vslider_update
      Count=0
    Prop=DefaultHTroughClick
      PropType=Function
      PascalType=integer
      Code=begin,"  result := gtk_Range_default_htrough_click (TheGtkObject, X, Y, @JumpPerc);",end;
      Count=3
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
      Param=JumpPerc
        PascalType=gfloat
        ParamType=Var
    Prop=DefaultVTroughClick
      PropType=Function
      PascalType=integer
      Code=begin,"  result := gtk_Range_default_vtrough_click (TheGtkObject, X, Y, @JumpPerc);",end;
      Count=3
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
      Param=JumpPerc
        PascalType=gfloat
        ParamType=Var
    Prop=defaultHMotion
      PropType=Procedure
      GtkName=default_hmotion
      Count=2
      Param=XDelta
        PascalType=integer
      Param=YDelta
        PascalType=integer
    Prop=defaultVMotion
      PropType=Procedure
      GtkName=default_vmotion
      Count=2
      Param=XDelta
        PascalType=integer
      Param=YDelta
        PascalType=integer
    Prop=ClearBackground
      PropType=Procedure
      GtkName=clear_background
      Count=0
  Object=Scale
    Inherit=Range
    GtkFuncName=scale
    Count=3
    Prop=SetDigits
      PropType=Procedure
      GtkName=set_digits
      ReadFuncType=ObjField
      Count=1
      Param=TheValue
        PascalType=integer
    Prop=DrawValue
      PropType=Property
      PascalType=boolean
      GtkName=draw_value
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=draw_value
      WriteConvert
      Count=0
    Prop=ValuePos
      PropType=Property
      PascalType=TGtkPositionType
      GtkName=value_pos
      ReadFuncType=ObjFunc
      WriteGtkName=value_pos
      Count=0
  Object=HScale
    Inherit=Scale
    GtkFuncName=hscale
    CreateParams=nil
    CreateObject
    Count=0
  Object=VScale
    Inherit=Scale
    GtkFuncName=vscale
    CreateParams=nil
    CreateObject
    Count=0
  Object=Scrollbar
    Inherit=Range
    GtkFuncName=Scrollbar
    Count=0
  Object=HScrollbar
    Inherit=Scrollbar
    GtkFuncName=hscrollbar
    Count=1
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code="var a : PgtkAdjustment;",begin,"  if assigned (FAdj) then","    a := FAdj.TheGtkObject","  else","    a := null;","  FGtkObject := PgtkObject (gtk_hscrollbar_new (a));","  FAdj := nil;",end;
      Override
      Count=0
  Object=VScrollbar
    Inherit=Scrollbar
    Count=1
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code="var a : PgtkAdjustment;",begin,"  if assigned (FAdj) then","    a := FAdj.TheGtkObject","  else","    a := null;","  FGtkObject := PgtkObject (gtk_vscrollbar_new (a));","  FAdj := nil;",end;
      Override
      Count=0
  Object=Separator
    Inherit=Widget
    GtkFuncName=Separator
    Count=0
  Object=HSeparator
    Inherit=Separator
    GtkFuncName=HSeparator
    CreateObject
    Count=0
  Object=VSeparator
    Inherit=Separator
    GtkFuncName=VSeparator
    CreateObject
    Count=0
  Object=Preview
    Inherit=Widget
    GtkFuncName=preview
    CreateParams=GTK_PREVIEW_COLOR
    CreateObject
    Count=6
    Prop=Size
      PropType=Procedure
      GtkName=size
      Count=2
      Param=aWidth
        PascalType=integer
      Param=aHeight
        PascalType=integer
    Prop=Put
      PropType=Procedure
      GtkName=put
      Count=8
      Param=aWindow
        PascalType=PGdkWindow
      Param=gc
        PascalType=PGdkGC
      Param=SrcX
        PascalType=integer
      Param=SrcY
        PascalType=integer
      Param=destX
        PascalType=integer
      Param=DestY
        PascalType=integer
      Param=aWidth
        PascalType=integer
      Param=aHeight
        PascalType=integer
    Prop=DrawRow
      PropType=Procedure
      GtkName=draw_row
      Count=4
      Param=data
        PascalType=pguchar
      Param=X
        PascalType=integer
      Param=Y
        PascalType=integer
      Param=W
        PascalType=integer
    Prop=SetGamma
      PropType=HelperProc
      Code=begin,"  gtk_preview_set_gamma (aGamma);",end;
      Count=1
      Param=aGamma
        PascalType=double
    Prop=Expand
      PropType=Property
      PascalType=longbool
      GtkName=expand
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=expand
      WriteConvert
      Count=0
    Prop=Dither
      PropType=Property
      PascalType=TGdkRgbDither
      GtkName=dither
      ReadFuncType=ObjField
      WriteGtkName=dither
      Count=0
  Object=Progress
    Inherit=Widget
    GtkFuncName=progress
    Count=13
    Prop=Showtext
      PropType=Property
      PascalType=longbool
      GtkName=show_text
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=show_text
      WriteConvert
      Count=0
    Prop=TextXAlign
      PropType=Property
      PascalType=gfloat
      GtkName=x_align
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_progress_set_text_alignment (TheGtkObject, TheValue, TextYAlign);",end;
      Count=0
    Prop=TextYAlign
      PropType=Property
      PascalType=gfloat
      GtkName=y_align
      ReadFuncType=ObjField
      WriteProcType=Proc
      WriteCode=begin,"  gtk_progress_set_text_alignment (TheGtkObject, TextXAlign, TheValue);",end;
      Count=0
    Prop=SetTextAlignment
      PropType=Procedure
      GtkName=set_text_alignment
      Count=2
      Param=anXalign
        PascalType=gfloat
      Param=anYAlign
        PascalType=gfloat
    Prop=CurrentValue
      PropType=Property
      PascalType=float
      GtkName=Value
      WriteProcType=Proc
      WriteCode=begin,"  gtk_progress_Set_value (TheGtkObject, TheValue);","  Draw (nil);",end;
      Count=0
    Prop=Percentage
      PropType=Property
      PascalType=float
      GtkName=current_percentage
      WriteGtkName=percentage
      Count=0
    Prop=PercentageFromValue
      PropType=Function
      PascalType=gfloat
      GtkName=get_percentage_from_value
      Count=1
      Param=aValue
        PascalType=gfloat
    Prop=FormatString
      PropType=Property
      PascalType=string
      GtkName=format
      ReadConvert
      ReadFuncType=ObjField
      WriteGtkName=format_string
      WriteConvert
      Count=0
    Prop=Adjustment
      PropType=Property
      PascalType=TFPgtkAdjustment
      Code=begin,"  result := GetPascalInstance (PGtkObject(TheGtkObject^.adjustment), TFPgtkAdjustment) as TFPgtkAdjustment;",end;
      ReadFuncType=Proc
      WriteGtkName=adjustment
      WriteConvert
      Count=0
    Prop=ActivityMode
      PropType=Property
      PascalType=longbool
      GtkName=activity_mode
      ReadConvert
      ReadFuncType=ObjFunc
      WriteGtkName=activity_mode
      WriteConvert
      Count=0
    Prop=CurrentText
      PropType=Function
      PascalType=string
      GtkName=get_current_text
      Count=0
    Prop=TextFromValue
      PropType=Function
      PascalType=string
      GtkName=get_text_from_value
      Count=1
      Param=aValue
        PascalType=gfloat
    Prop=Configure
      PropType=Procedure
      GtkName=configure
      Count=3
      Param=aValue
        PascalType=gfloat
      Param=aMin
        PascalType=gfloat
      Param=aMax
        PascalType=gfloat
  Object=ProgressBar
    Inherit=Progress
    GtkFuncName=progress_bar
    Count=8
    Prop=Create
      PropType=Constructor
      Code=begin,"  FAdj := adj;","  inherited create;",end;
      Count=1
      Param=adj
        PascalType=TFPgtkAdjustment
    Prop=CreateGtkObject
      PropType=Procedure
      Section=Protected
      Code=begin,"  if assigned (FAdj) then","    TheGtkWidget := gtk_progress_bar_new_with_adjustment (FAdj.TheGtkObject)","  else","    TheGtkWidget := gtk_progress_bar_new;",end;
      Override
      Count=0
    Prop=FAdj
      PropType=Field
      Section=Private
      PascalType=TFPgtkAdjustment
      Count=0
    Prop=BarStyle
      PropType=Property
      PascalType=TGtkProgressBarStyle
      GtkName=bar_style
      ReadFuncType=ObjField
      WriteGtkName=bar_style
      Count=0
    Prop=DiscreteBlocks
      PropType=Property
      PascalType=longword
      GtkName=blocks
      ReadFuncType=ObjField
      WriteGtkName=discrete_blocks
      Count=0
    Prop=ActivityStep
      PropType=Property
      PascalType=longword
      GtkName=activity_step
      ReadFuncType=ObjField
      WriteGtkName=activity_step
      Count=0
    Prop=ActivityBlocks
      PropType=Property
      PascalType=longword
      GtkName=activity_blocks
      ReadFuncType=ObjField
      WriteGtkName=activity_blocks
      Count=0
    Prop=Orientation
      PropType=Property
      PascalType=TGtkProgressBarOrientation
      GtkName=orientation
      ReadFuncType=ObjField
      WriteGtkName=orientation
      Count=0
  Object=ItemFactory
    Inherit=Object
    Count=0
