Gtk2: fixed gtk2 spinedit OnChange() event.fixes #16410.

git-svn-id: trunk@25218 -
This commit is contained in:
zeljko 2010-05-05 15:55:36 +00:00
parent dd3afe2d6b
commit 5b9b9419d0
3 changed files with 16 additions and 3 deletions

View File

@ -492,6 +492,14 @@ begin
end;
{$IFDEF GTK2}
function gtkchanged_spinbox(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
begin
Result := CallBackDefaultReturn;
if LockOnChange(PgtkObject(Widget),0) > 0 then exit;
if GTK_IS_SPIN_BUTTON(Widget) then
gtk_spin_button_update(PGtkSpinButton(Widget));
end;
function gtkchanged_editbox_backspace(widget: PGtkWidget;
data: gPointer): GBoolean; cdecl;
var

View File

@ -104,6 +104,7 @@ function gtkactivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
function gtkchangedCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
function gtkchanged_editbox( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
{$IFDEF GTK2}
function gtkchanged_spinbox(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
function gtkchanged_editbox_backspace( widget: PGtkWidget;
data: gPointer): GBoolean; cdecl;
function gtkchanged_editbox_delete(widget: PGtkWidget;

View File

@ -3424,13 +3424,17 @@ begin
if ALCLObject is TCustomMemo then
ConnectSenderSignal(gCore, 'changed', @gtkchanged_editbox)
else if ALCLObject is TCustomCheckbox then
begin
ConnectSenderSignal(gObject, 'toggled', @gtktoggledCB)
{$IFDEF GTK2}
// in gtk2 callback signal of SpinEdit is 'value-changed' (in gtk1- 'changed')
else if ALCLObject is TCustomFloatSpinEdit then
ConnectSenderSignal(gObject, 'value-changed', @gtkchanged_editbox)
end else
if ALCLObject is TCustomFloatSpinEdit then
begin
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_spinbox);
ConnectSenderSignal(gObject, 'value-changed', @gtkchanged_editbox);
{$ENDIF}
else
end else
begin
{$IFDEF VerboseTWinControlRealText}
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_editbox);