LCL: GTK2: Show controls disabled when Enabled = False. Regression from revision 58448 #9733fa84ab.

git-svn-id: trunk@58758 -
This commit is contained in:
michl 2018-08-22 20:18:35 +00:00
parent de1dca667b
commit 13e0fb24e1
6 changed files with 16 additions and 0 deletions

View File

@ -215,6 +215,7 @@ begin
Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result)); Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result));
if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then
gtk_widget_hide({%H-}PGtkWidget(Result)); gtk_widget_hide({%H-}PGtkWidget(Result));
gtk_widget_set_sensitive({%H-}PGtkWidget(Result), AParams.Style and WS_DISABLED = 0);
SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo); SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo);
end; end;

View File

@ -233,6 +233,7 @@ begin
Set_RC_Name(AWinControl, P); Set_RC_Name(AWinControl, P);
if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then
gtk_widget_hide(p); gtk_widget_hide(p);
gtk_widget_set_sensitive(p, AParams.Style and WS_DISABLED = 0);
SetCallbacks(p, WidgetInfo); SetCallbacks(p, WidgetInfo);
end; end;

View File

@ -499,6 +499,7 @@ begin
GTK_WIDGET_SET_FLAGS(Widget, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS(Widget, GTK_CAN_FOCUS);
InternalSetStyle(PGtkProgressBar(Widget), TCustomProgressBar(AWinControl).Style); InternalSetStyle(PGtkProgressBar(Widget), TCustomProgressBar(AWinControl).Style);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
TGtk2WSWinControl.SetCallbacks(PGtkObject(Widget), TComponent(WidgetInfo^.LCLObject)); TGtk2WSWinControl.SetCallbacks(PGtkObject(Widget), TComponent(WidgetInfo^.LCLObject));
end; end;
@ -592,6 +593,7 @@ begin
DebugGtkWidgets.MarkCreated(EventBox, dbgsName(AWinControl)); DebugGtkWidgets.MarkCreated(EventBox, dbgsName(AWinControl));
{$ENDIF} {$ENDIF}
WidgetInfo := CreateWidgetInfo({%H-}Pointer(Result), AWinControl, AParams); WidgetInfo := CreateWidgetInfo({%H-}Pointer(Result), AWinControl, AParams);
gtk_widget_set_sensitive(EventBox, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, EventBox); Set_RC_Name(AWinControl, EventBox);
SetCallbacks(EventBox, WidgetInfo); SetCallbacks(EventBox, WidgetInfo);
end; end;

View File

@ -184,6 +184,7 @@ begin
Allocation.Width := AParams.Width; Allocation.Width := AParams.Width;
Allocation.Height := AParams.Height; Allocation.Height := AParams.Height;
gtk_widget_size_allocate(Widget, @Allocation); gtk_widget_size_allocate(Widget, @Allocation);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, Widget); Set_RC_Name(AWinControl, Widget);

View File

@ -158,6 +158,7 @@ begin
Set_RC_Name(AWinControl, Widget); Set_RC_Name(AWinControl, Widget);
if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then
gtk_widget_hide(Widget); gtk_widget_hide(Widget);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
SetCallbacks(Widget, WidgetInfo); SetCallbacks(Widget, WidgetInfo);
end; end;

View File

@ -792,6 +792,7 @@ begin
// Sets the callbacks // Sets the callbacks
if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then if not AWinControl.HandleObjectShouldBeVisible and not (csDesigning in AWinControl.ComponentState) then
gtk_widget_hide(p); gtk_widget_hide(p);
gtk_widget_set_sensitive(p, AParams.Style and WS_DISABLED = 0);
SetCallbacks(p, WidgetInfo); SetCallbacks(p, WidgetInfo);
end; end;
@ -939,6 +940,7 @@ begin
gtk_widget_hide({%H-}PGtkWidget(Result)) gtk_widget_hide({%H-}PGtkWidget(Result))
else else
gtk_widget_show({%H-}PGtkWidget(Result)); gtk_widget_show({%H-}PGtkWidget(Result));
gtk_widget_set_sensitive({%H-}PGtkWidget(Result), AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result)); Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result));
SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo); SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo);
@ -1194,6 +1196,7 @@ begin
gtk_widget_hide(Widget) gtk_widget_hide(Widget)
else else
gtk_widget_show(Widget); gtk_widget_show(Widget);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
Result := TLCLIntfHandle({%H-}PtrUInt(Widget)); Result := TLCLIntfHandle({%H-}PtrUInt(Widget));
{$IFDEF DebugLCLComponents} {$IFDEF DebugLCLComponents}
DebugGtkWidgets.MarkCreated(Widget, dbgsName(AWinControl)); DebugGtkWidgets.MarkCreated(Widget, dbgsName(AWinControl));
@ -2248,6 +2251,7 @@ begin
gtk_widget_hide(Box) gtk_widget_hide(Box)
else else
gtk_widget_show(Box); gtk_widget_show(Box);
gtk_widget_set_sensitive(Box, AParams.Style and WS_DISABLED = 0);
Result := TLCLIntfHandle({%H-}PtrUInt(Box)); Result := TLCLIntfHandle({%H-}PtrUInt(Box));
end; end;
@ -2358,6 +2362,7 @@ begin
Allocation.Width := AParams.Width; Allocation.Width := AParams.Width;
Allocation.Height := AParams.Height; Allocation.Height := AParams.Height;
gtk_widget_size_allocate(FrameBox, @Allocation); gtk_widget_size_allocate(FrameBox, @Allocation);
gtk_widget_set_sensitive(FrameBox, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, FrameBox); Set_RC_Name(AWinControl, FrameBox);
SetCallbacks(FrameBox, WidgetInfo); SetCallbacks(FrameBox, WidgetInfo);
@ -2578,6 +2583,7 @@ begin
gtk_widget_hide(EventBox) gtk_widget_hide(EventBox)
else else
gtk_widget_show(EventBox); gtk_widget_show(EventBox);
gtk_widget_set_sensitive(EventBox, AParams.Style and WS_DISABLED = 0);
end; end;
class function TGtk2WSButton.GetText(const AWinControl: TWinControl; var AText: String): Boolean; class function TGtk2WSButton.GetText(const AWinControl: TWinControl; var AText: String): Boolean;
@ -2710,6 +2716,7 @@ begin
DebugGtkWidgets.MarkCreated(Widget, dbgsName(AWinControl)); DebugGtkWidgets.MarkCreated(Widget, dbgsName(AWinControl));
{$ENDIF} {$ENDIF}
WidgetInfo := CreateWidgetInfo({%H-}Pointer(Result), AWinControl, AParams); WidgetInfo := CreateWidgetInfo({%H-}Pointer(Result), AWinControl, AParams);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, Widget); Set_RC_Name(AWinControl, Widget);
SetCallbacks(Widget, WidgetInfo); SetCallbacks(Widget, WidgetInfo);
@ -2809,6 +2816,7 @@ begin
Allocation.Width := AParams.Width; Allocation.Width := AParams.Width;
Allocation.Height := AParams.Height; Allocation.Height := AParams.Height;
gtk_widget_size_allocate(Widget, @Allocation); gtk_widget_size_allocate(Widget, @Allocation);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, Widget); Set_RC_Name(AWinControl, Widget);
TGtk2WSCustomCheckBox.SetCallbacks(Widget, WidgetInfo); TGtk2WSCustomCheckBox.SetCallbacks(Widget, WidgetInfo);
@ -2835,6 +2843,7 @@ begin
Allocation.Width := AParams.Width; Allocation.Width := AParams.Width;
Allocation.Height := AParams.Height; Allocation.Height := AParams.Height;
gtk_widget_size_allocate(Widget, @Allocation); gtk_widget_size_allocate(Widget, @Allocation);
gtk_widget_set_sensitive(Widget, AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, Widget); Set_RC_Name(AWinControl, Widget);
TGtk2WSCustomCheckBox.SetCallbacks(Widget, WidgetInfo); TGtk2WSCustomCheckBox.SetCallbacks(Widget, WidgetInfo);
@ -2898,6 +2907,7 @@ begin
Allocation.Width := AParams.Width; Allocation.Width := AParams.Width;
Allocation.Height := AParams.Height; Allocation.Height := AParams.Height;
gtk_widget_size_allocate({%H-}PGtkWidget(Result), @Allocation); gtk_widget_size_allocate({%H-}PGtkWidget(Result), @Allocation);
gtk_widget_set_sensitive({%H-}PGtkWidget(Result), AParams.Style and WS_DISABLED = 0);
Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result)); Set_RC_Name(AWinControl, {%H-}PGtkWidget(Result));
SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo); SetCallbacks({%H-}PGtkWidget(Result), WidgetInfo);