diff options
Diffstat (limited to 'libgtk_kylix/GTKStdCtrls.pas')
| -rw-r--r-- | libgtk_kylix/GTKStdCtrls.pas | 82 |
1 files changed, 46 insertions, 36 deletions
diff --git a/libgtk_kylix/GTKStdCtrls.pas b/libgtk_kylix/GTKStdCtrls.pas index 34ab7bc..8f53f50 100644 --- a/libgtk_kylix/GTKStdCtrls.pas +++ b/libgtk_kylix/GTKStdCtrls.pas @@ -378,18 +378,18 @@ end; procedure TGTKMisc.SetAlignment(XAlign, YAlign : Single); begin -// Writeln('gtk_misc_set_alignment, FWidget = ', integer(FWidget), ', XAlign = ', XAlign, ', YAlign = ', YAlign); gtk_misc_set_alignment(PGtkMisc(FWidget), XAlign, YAlign); end; +procedure _gtk_misc_get_alignment(misc:PGtkMisc; xalign:Pgfloat; yalign:Pgfloat); cdecl; external gtklib name 'gtk_misc_get_alignment'; +procedure _gtk_misc_get_padding(misc:PGtkMisc; xpad:Pgint; ypad:Pgint); cdecl; external gtklib name 'gtk_misc_get_padding'; + function TGTKMisc.GetXAlign: Single; -{var xalign, yalign: pgfloat; } +var xalign: gfloat; begin -{ gtk_misc_get_alignment(PGtkMisc(FWidget), xalign, yalign); - if Assigned(xalign) then Result := Single(xalign^) - else Result := 0; } - if Assigned(FWidget) then Result := PGtkMisc(FWidget)^.xalign - else Result := 0; + xalign := 0.0; + _gtk_misc_get_alignment(PGtkMisc(FWidget), @xalign, nil); + Result := xalign; end; procedure TGTKMisc.SetXAlign(Value: Single); @@ -398,15 +398,11 @@ begin end; function TGTKMisc.GetYAlign: Single; -{var xalign, yalign: Extended; - x: Extended; } +var yalign: gfloat; begin -{ gtk_misc_get_alignment(PGtkMisc(FWidget), @xalign, @yalign); - writeln('yalign = ', integer(yalign)); - if Assigned(yalign) then Result := yalign - else Result := 0; } - if Assigned(FWidget) then Result := PGtkMisc(FWidget)^.yalign - else Result := 0; + yalign := 0.0; + _gtk_misc_get_alignment(PGtkMisc(FWidget), nil, @yalign); + Result := yalign; end; procedure TGTKMisc.SetYAlign(Value: Single); @@ -419,12 +415,11 @@ begin gtk_misc_set_padding(PGtkMisc(FWidget), XPadding, YPadding); end; -procedure x_gtk_misc_get_padding(misc:PGtkMisc; xpad:Pgint; ypad:Pgint); cdecl; external gtklib name 'gtk_misc_get_padding'; - function TGTKMisc.GetXPadding: integer; -var xpad, ypad: gint; +var xpad: gint; begin - x_gtk_misc_get_padding(PGtkMisc(FWidget), @xpad, @ypad); + xpad := 0; + _gtk_misc_get_padding(PGtkMisc(FWidget), @xpad, nil); Result := xpad; end; @@ -434,9 +429,10 @@ begin end; function TGTKMisc.GetYPadding: integer; -var xpad, ypad: gint; +var ypad: gint; begin - x_gtk_misc_get_padding(PGtkMisc(FWidget), @xpad, @ypad); + ypad := 0; + _gtk_misc_get_padding(PGtkMisc(FWidget), nil, @ypad); Result := ypad; end; @@ -751,8 +747,10 @@ begin end; procedure TGTKEditable.InsertText(AText: string; Position: integer); +var pos: gint; begin - gtk_editable_insert_text(PGtkEditable(FWidget), StringToPgchar(AText), Length(AText), @Position); + pos := Position; + gtk_editable_insert_text(PGtkEditable(FWidget), StringToPgchar(AText), Length(AText), @pos); end; procedure TGTKEditable.DeleteText(StartPosition, EndPosition: integer); @@ -831,7 +829,6 @@ end; procedure TGTKEntry.SetVisibility(Value: boolean); begin -// g_object_set(FWidget, 'visibility', gboolean(Value), nil); gtk_entry_set_visibility(PGtkEntry(FWidget), Value); end; @@ -864,23 +861,29 @@ begin end; function TGTKCombo.GetAllowEmpty: boolean; +var b: gboolean; begin - Result := Boolean(ok_if_empty(PGtkCombo(FWidget)^)); + b := False; + g_object_get(FWidget, 'allow-empty', @b, nil); + Result := b; end; procedure TGTKCombo.SetAllowEmpty(Value: boolean); begin - SetPolicy(GetMatchValue, Value); + g_object_set(FWidget, 'allow-empty', Ord(Value), nil); end; function TGTKCombo.GetMatchValue: boolean; +var b: gboolean; begin - Result := Boolean(value_in_list(PGtkCombo(FWidget)^)); + b := False; + g_object_get(FWidget, 'value-in-list', @b, nil); + Result := b; end; procedure TGTKCombo.SetMatchValue(Value: boolean); begin - SetPolicy(Value, GetAllowEmpty); + g_object_set(FWidget, 'value-in-list', Ord(Value), nil); end; procedure TGTKCombo.SetPolicy(MatchValue, AllowEmpty: boolean); @@ -889,8 +892,11 @@ begin end; function TGTKCombo.GetCaseSensitive: boolean; +var b: gboolean; begin - Result := Boolean(gtk2.case_sensitive(PGtkCombo(FWidget)^)); + b := False; + g_object_get(FWidget, 'case-sensitive', @b, nil); + Result := b; end; procedure TGTKCombo.SetCaseSensitive(Value: boolean); @@ -934,9 +940,10 @@ begin end; function TGTKSpinEdit.GetMin: Double; -var amin, amax: Double; +var amin: Double; begin - gtk_spin_button_get_range(PGtkSpinButton(FWidget), @amin, @amax); + amin := 0; + gtk_spin_button_get_range(PGtkSpinButton(FWidget), @amin, nil); Result := amin; end; @@ -946,9 +953,10 @@ begin end; function TGTKSpinEdit.GetMax: Double; -var amin, amax: Double; +var amax: Double; begin - gtk_spin_button_get_range(PGtkSpinButton(FWidget), @amin, @amax); + amax := 1; + gtk_spin_button_get_range(PGtkSpinButton(FWidget), nil, @amax); Result := amax; end; @@ -958,9 +966,10 @@ begin end; function TGTKSpinEdit.GetIncrementStep: Double; -var astep, apage: Double; +var astep: Double; begin - gtk_spin_button_get_increments(PGtkSpinButton(FWidget), @astep, @apage); + astep := 1; + gtk_spin_button_get_increments(PGtkSpinButton(FWidget), @astep, nil); Result := astep; end; @@ -970,9 +979,10 @@ begin end; function TGTKSpinEdit.GetIncrementPage: Double; -var astep, apage: Double; +var apage: Double; begin - gtk_spin_button_get_increments(PGtkSpinButton(FWidget), @astep, @apage); + apage := 1; + gtk_spin_button_get_increments(PGtkSpinButton(FWidget), nil, @apage); Result := apage; end; |
