Merge branch 'main' into 'main'

GTK3: Migrate TGtkStateFlags to enumeration.

See merge request freepascal.org/lazarus/lazarus!181
This commit is contained in:
Maxim Ganetsky 2023-05-31 22:53:01 +00:00
commit e9ebbc83ab
3 changed files with 33 additions and 29 deletions

View File

@ -322,6 +322,24 @@ type
GTK_DEST_DEFAULT_ALL = 7, GTK_DEST_DEFAULT_ALL = 7,
TGtkDestDefaultsMaxValue = $7FFFFFFF TGtkDestDefaultsMaxValue = $7FFFFFFF
); );
TGtkStateFlags = (
TGtkStateFlagsMinValue = -$7FFFFFFF,
GTK_STATE_FLAG_NORMAL = 0,
GTK_STATE_FLAG_ACTIVE = 1,
GTK_STATE_FLAG_PRELIGHT = 2,
GTK_STATE_FLAG_SELECTED = 4,
GTK_STATE_FLAG_INSENSITIVE = 8,
GTK_STATE_FLAG_INCONSISTENT = 16,
GTK_STATE_FLAG_FOCUSED = 32,
GTK_STATE_FLAG_BACKDROP = 64,
GTK_STATE_FLAG_DIR_LTR = 128,
GTK_STATE_FLAG_DIR_RTL = 256,
GTK_STATE_FLAG_LINK = 512,
GTK_STATE_FLAG_VISITED = 1024,
GTK_STATE_FLAG_CHECKED = 2048,
GTK_STATE_FLAG_DROP_ACTIVE = 4096,
TGtkStateFlagsMaxValue = $7FFFFFFF
);
TGtkResponseType = ( TGtkResponseType = (
TGtkResponseTypeMinValue = -$7FFFFFFF, TGtkResponseTypeMinValue = -$7FFFFFFF,
GTK_RESPONSE_HELP = -11, GTK_RESPONSE_HELP = -11,
@ -416,21 +434,7 @@ type
); );
type type
TGtkStateFlags = Integer;
const
{ GtkStateFlags }
GTK_STATE_FLAG_NORMAL: TGtkStateFlags = 0;
GTK_STATE_FLAG_ACTIVE: TGtkStateFlags = 1;
GTK_STATE_FLAG_PRELIGHT: TGtkStateFlags = 2;
GTK_STATE_FLAG_SELECTED: TGtkStateFlags = 4;
GTK_STATE_FLAG_INSENSITIVE: TGtkStateFlags = 8;
GTK_STATE_FLAG_INCONSISTENT: TGtkStateFlags = 16;
GTK_STATE_FLAG_FOCUSED: TGtkStateFlags = 32;
GTK_STATE_FLAG_BACKDROP: TGtkStateFlags = 64;
GTK_STATE_FLAG_DIR_LTR: TGtkStateFlags = 128;
GTK_STATE_FLAG_DIR_RTL: TGtkStateFlags = 256;
type
TGtkAlign = Integer; TGtkAlign = Integer;
const const
{ GtkAlign } { GtkAlign }

View File

@ -2138,7 +2138,7 @@ begin
Context:=w^.get_style_context; Context:=w^.get_style_context;
path:=w^.get_path; path:=w^.get_path;
gtk_style_context_set_path (context, path); gtk_style_context_set_path (context, path);
gtk_style_context_set_state (context,(* gtk_widget_path_iter_get_state (path, -1)*) -1); gtk_style_context_set_state (context,(* gtk_widget_path_iter_get_state (path, -1)*) TGtkStateFlags(-1));
{GTK_STATE_FLAG_NORMAL: TGtkStateFlags = 0; {GTK_STATE_FLAG_NORMAL: TGtkStateFlags = 0;
GTK_STATE_FLAG_ACTIVE: TGtkStateFlags = 1; GTK_STATE_FLAG_ACTIVE: TGtkStateFlags = 1;
@ -2151,7 +2151,7 @@ begin
GTK_STATE_FLAG_DIR_LTR: TGtkStateFlags = 128; GTK_STATE_FLAG_DIR_LTR: TGtkStateFlags = 128;
GTK_STATE_FLAG_DIR_RTL: TGtkStateFlags = 256; GTK_STATE_FLAG_DIR_RTL: TGtkStateFlags = 256;
} }
gtk_style_context_set_state (context, GTK_STATE_FLAG_FOCUSED or GTK_STATE_FLAG_PRELIGHT); gtk_style_context_set_state (context, TGtkStateFlags(Ord(GTK_STATE_FLAG_FOCUSED) or Ord(GTK_STATE_FLAG_PRELIGHT)));
pw:=w; pw:=w;
while Assigned(pw) do while Assigned(pw) do

View File

@ -2364,13 +2364,13 @@ begin
with FWidget^ do with FWidget^ do
begin begin
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
override_color(i, @AColor); override_color(TGtkStateFlags(1 shl (i - 1)), @AColor);
end; end;
end; end;
with GetContainerWidget^ do with GetContainerWidget^ do
begin begin
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
override_color(i, @AColor); override_color(TGtkStateFlags(1 shl (i - 1)), @AColor);
end; end;
end; end;
end; end;
@ -2420,7 +2420,7 @@ begin
ARgba.blue := FWidgetRGBA[i].B; ARgba.blue := FWidgetRGBA[i].B;
ARgba.alpha := FWidgetRGBA[i].Alpha; ARgba.alpha := FWidgetRGBA[i].Alpha;
end; end;
FWidget^.override_background_color(i, @ARgba); FWidget^.override_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba);
end; end;
end; end;
end; end;
@ -2437,7 +2437,7 @@ begin
ARgba.blue := FCentralWidgetRGBA[i].B; ARgba.blue := FCentralWidgetRGBA[i].B;
ARgba.alpha := FCentralWidgetRGBA[i].Alpha; ARgba.alpha := FCentralWidgetRGBA[i].Alpha;
end; end;
GetContainerWidget^.override_background_color(i, @ARgba); GetContainerWidget^.override_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba);
end; end;
end; end;
end; end;
@ -2451,9 +2451,9 @@ begin
begin begin
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
if AValue = clDefault then if AValue = clDefault then
override_background_color(i, nil) override_background_color(TGtkStateFlags(1 shl (i - 1)), nil)
else else
override_background_color(i, @AColor); override_background_color(TGtkStateFlags(1 shl (i - 1)), @AColor);
end; end;
end; end;
with GetContainerWidget^ do with GetContainerWidget^ do
@ -2461,9 +2461,9 @@ begin
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
begin begin
if AValue = clDefault then if AValue = clDefault then
override_background_color(i, nil) override_background_color(TGtkStateFlags(1 shl (i - 1)), nil)
else else
override_background_color(i, @AColor); override_background_color(TGtkStateFlags(1 shl (i - 1)), @AColor);
end; end;
end; end;
end; end;
@ -2514,7 +2514,7 @@ begin
if IsWidgetOK then if IsWidgetOK then
begin begin
AStyle := GetStyleContext; AStyle := GetStyleContext;
AStyle^.get_background_color(GTK_STATE_NORMAL, @AGdkRGBA); AStyle^.get_background_color(GTK_STATE_FLAG_NORMAL, @AGdkRGBA);
Result := TGdkRGBAToTColor(AGdkRGBA); Result := TGdkRGBAToTColor(AGdkRGBA);
end; end;
end; end;
@ -2528,7 +2528,7 @@ begin
if IsWidgetOK then if IsWidgetOK then
begin begin
AStyle := GetStyleContext; AStyle := GetStyleContext;
AStyle^.get_background_color(GTK_STATE_NORMAL, @AColor); AStyle^.get_background_color(GTK_STATE_FLAG_NORMAL, @AColor);
Result := TGdkRGBAToTColor(AColor); Result := TGdkRGBAToTColor(AColor);
end; end;
end; end;
@ -2691,7 +2691,7 @@ begin
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
begin begin
FWidget^.get_style_context^.get_background_color(i, @ARgba); FWidget^.get_style_context^.get_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba);
with FWidgetRGBA[i] do with FWidgetRGBA[i] do
begin begin
R := ARgba.red; R := ARgba.red;
@ -2707,7 +2707,7 @@ begin
g_signal_connect_data(FCentralWidget, 'event', TGCallback(@Gtk3WidgetEvent), Self, nil, G_CONNECT_DEFAULT); g_signal_connect_data(FCentralWidget, 'event', TGCallback(@Gtk3WidgetEvent), Self, nil, G_CONNECT_DEFAULT);
for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do
begin begin
FCentralWidget^.get_style_context^.get_background_color(i, @ARgba); FCentralWidget^.get_style_context^.get_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba);
with FCentralWidgetRGBA[i] do with FCentralWidgetRGBA[i] do
begin begin
R := ARgba.red; R := ARgba.red;
@ -5163,7 +5163,7 @@ begin
if Msg.Scrollcode = SB_THUMBTRACK then if Msg.Scrollcode = SB_THUMBTRACK then
begin begin
if Widget^.get_state_flags = GTK_STATE_NORMAL then if Widget^.get_state_flags = GTK_STATE_FLAG_NORMAL then
begin begin
Msg.ScrollCode := SB_THUMBPOSITION; Msg.ScrollCode := SB_THUMBPOSITION;
DeliverMessage(AData.LCLObject, Msg); DeliverMessage(AData.LCLObject, Msg);