mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:19:22 +02:00
Gtk3: implemented scrollbar events. Patch by Anton Kavalenka. issue #36964
git-svn-id: trunk@63057 -
This commit is contained in:
parent
51285457f5
commit
256824fdd6
@ -284,6 +284,7 @@ type
|
|||||||
|
|
||||||
TGtk3ScrollBar = class(TGtk3Range)
|
TGtk3ScrollBar = class(TGtk3Range)
|
||||||
protected
|
protected
|
||||||
|
class procedure value_changed (bar:TGtk3Scrollbar);cdecl;
|
||||||
function CreateWidget(const Params: TCreateParams):PGtkWidget; override;
|
function CreateWidget(const Params: TCreateParams):PGtkWidget; override;
|
||||||
public
|
public
|
||||||
procedure SetParams;
|
procedure SetParams;
|
||||||
@ -3686,6 +3687,21 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{ TGtk3ScrollBar }
|
{ TGtk3ScrollBar }
|
||||||
|
class procedure TGtk3ScrollBar.value_changed(bar: TGtk3Scrollbar); cdecl;
|
||||||
|
var
|
||||||
|
scr:TScrollBar;
|
||||||
|
pgs:PGtkScrollbar;
|
||||||
|
ARange: PGtkRange;
|
||||||
|
begin
|
||||||
|
scr:=TScrollbar(bar.LCLObject);
|
||||||
|
pgs:=PGtkScrollbar(bar.FWidget);
|
||||||
|
arange:=PGtkRange(pgs);
|
||||||
|
scr.SetParams(
|
||||||
|
round(arange^.adjustment^.value),
|
||||||
|
round(arange^.adjustment^.lower),
|
||||||
|
round(arange^.adjustment^.upper),
|
||||||
|
round(arange^.adjustment^.page_size));
|
||||||
|
end;
|
||||||
|
|
||||||
function TGtk3ScrollBar.CreateWidget(const Params: TCreateParams): PGtkWidget;
|
function TGtk3ScrollBar.CreateWidget(const Params: TCreateParams): PGtkWidget;
|
||||||
var
|
var
|
||||||
@ -3702,6 +3718,8 @@ begin
|
|||||||
ARange^.adjustment^.configure(Position, Min, Max + PageSize,
|
ARange^.adjustment^.configure(Position, Min, Max + PageSize,
|
||||||
SmallChange, LargeChange, PageSize);
|
SmallChange, LargeChange, PageSize);
|
||||||
ARange^.adjustment^.set_value(Position);
|
ARange^.adjustment^.set_value(Position);
|
||||||
|
g_signal_connect_data(ARange^.adjustment,
|
||||||
|
'value-changed', TGCallback(@TGtk3ScrollBar.value_changed), Self, nil, 0);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user