diff --git a/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas b/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas index f5590d0562..0c8b691be0 100644 --- a/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas +++ b/lcl/interfaces/gtk3/gtk3bindings/lazgtk3.pas @@ -322,6 +322,24 @@ type GTK_DEST_DEFAULT_ALL = 7, 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 = ( TGtkResponseTypeMinValue = -$7FFFFFFF, GTK_RESPONSE_HELP = -11, @@ -416,21 +434,7 @@ 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; const { GtkAlign } diff --git a/lcl/interfaces/gtk3/gtk3objects.pas b/lcl/interfaces/gtk3/gtk3objects.pas index 70665eeaba..5c36f5548b 100644 --- a/lcl/interfaces/gtk3/gtk3objects.pas +++ b/lcl/interfaces/gtk3/gtk3objects.pas @@ -2138,7 +2138,7 @@ begin Context:=w^.get_style_context; path:=w^.get_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_ACTIVE: TGtkStateFlags = 1; @@ -2151,7 +2151,7 @@ begin GTK_STATE_FLAG_DIR_LTR: TGtkStateFlags = 128; 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; while Assigned(pw) do diff --git a/lcl/interfaces/gtk3/gtk3widgets.pas b/lcl/interfaces/gtk3/gtk3widgets.pas index 2d9ec797c2..860d1c41b5 100644 --- a/lcl/interfaces/gtk3/gtk3widgets.pas +++ b/lcl/interfaces/gtk3/gtk3widgets.pas @@ -2364,13 +2364,13 @@ begin with FWidget^ do begin for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do - override_color(i, @AColor); + override_color(TGtkStateFlags(1 shl (i - 1)), @AColor); end; end; with GetContainerWidget^ do begin 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; @@ -2420,7 +2420,7 @@ begin ARgba.blue := FWidgetRGBA[i].B; ARgba.alpha := FWidgetRGBA[i].Alpha; end; - FWidget^.override_background_color(i, @ARgba); + FWidget^.override_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba); end; end; end; @@ -2437,7 +2437,7 @@ begin ARgba.blue := FCentralWidgetRGBA[i].B; ARgba.alpha := FCentralWidgetRGBA[i].Alpha; end; - GetContainerWidget^.override_background_color(i, @ARgba); + GetContainerWidget^.override_background_color(TGtkStateFlags(1 shl (i - 1)), @ARgba); end; end; end; @@ -2451,9 +2451,9 @@ begin begin for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do if AValue = clDefault then - override_background_color(i, nil) + override_background_color(TGtkStateFlags(1 shl (i - 1)), nil) else - override_background_color(i, @AColor); + override_background_color(TGtkStateFlags(1 shl (i - 1)), @AColor); end; end; with GetContainerWidget^ do @@ -2461,9 +2461,9 @@ begin for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do begin if AValue = clDefault then - override_background_color(i, nil) + override_background_color(TGtkStateFlags(1 shl (i - 1)), nil) else - override_background_color(i, @AColor); + override_background_color(TGtkStateFlags(1 shl (i - 1)), @AColor); end; end; end; @@ -2514,7 +2514,7 @@ begin if IsWidgetOK then begin AStyle := GetStyleContext; - AStyle^.get_background_color(GTK_STATE_NORMAL, @AGdkRGBA); + AStyle^.get_background_color(GTK_STATE_FLAG_NORMAL, @AGdkRGBA); Result := TGdkRGBAToTColor(AGdkRGBA); end; end; @@ -2528,7 +2528,7 @@ begin if IsWidgetOK then begin AStyle := GetStyleContext; - AStyle^.get_background_color(GTK_STATE_NORMAL, @AColor); + AStyle^.get_background_color(GTK_STATE_FLAG_NORMAL, @AColor); Result := TGdkRGBAToTColor(AColor); end; end; @@ -2691,7 +2691,7 @@ begin for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do 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 begin R := ARgba.red; @@ -2707,7 +2707,7 @@ begin g_signal_connect_data(FCentralWidget, 'event', TGCallback(@Gtk3WidgetEvent), Self, nil, G_CONNECT_DEFAULT); for i := GTK_STATE_NORMAL to GTK_STATE_INSENSITIVE do 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 begin R := ARgba.red; @@ -5163,7 +5163,7 @@ begin if Msg.Scrollcode = SB_THUMBTRACK then begin - if Widget^.get_state_flags = GTK_STATE_NORMAL then + if Widget^.get_state_flags = GTK_STATE_FLAG_NORMAL then begin Msg.ScrollCode := SB_THUMBPOSITION; DeliverMessage(AData.LCLObject, Msg);