mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-18 05:49:30 +02:00
Merged revision(s) 52154 #39279083c5 from trunk:
Gtk2: unify TScrollbar behaviour with win32 and qt. issue #20127 ........ git-svn-id: branches/fixes_1_6@52174 -
This commit is contained in:
parent
23e373991d
commit
ee563f18e6
@ -63,6 +63,7 @@ initialization
|
||||
pointer(gtk_tree_view_get_grid_lines):=GetProcAddress(gtkhandle,'gtk_tree_view_get_grid_lines');
|
||||
pointer(gtk_tree_view_set_grid_lines):=GetProcAddress(gtkhandle,'gtk_tree_view_set_grid_lines');
|
||||
pointer(gtk_window_get_group):=GetProcAddress(gtkhandle,'gtk_window_get_group');
|
||||
pointer(gtk_adjustment_configure):=GetProcAddress(gtkhandle,'gtk_adjustment_configure');
|
||||
break;
|
||||
end;
|
||||
end;
|
||||
|
@ -346,4 +346,7 @@ var
|
||||
gtk_tree_view_set_grid_lines: procedure(tree_view: PGtkTreeView; grid_lines: TGtkTreeViewGridLines); cdecl;
|
||||
gtk_tree_view_get_grid_lines: function(tree_view: PGtkTreeView): TGtkTreeViewGridLines; cdecl;
|
||||
gtk_window_get_group: function(window:PGtkWindow): PGtkWindowGroup; cdecl;
|
||||
// since 2.14
|
||||
gtk_adjustment_configure: procedure(Adjustment: PGtkAdjustment; AValue: GDouble; ALower: GDouble; AUpper: GDouble;
|
||||
AStepIncrement: GDouble; APageIncrement: GDouble; APageSize: GDouble); cdecl;
|
||||
|
||||
|
@ -2666,12 +2666,13 @@ begin
|
||||
min to max-pagesize which would be different from the behaviour on other
|
||||
widgetsets.}
|
||||
Adjustment := PGtkAdjustment(gtk_adjustment_new(Position, Min,
|
||||
Max + PageSize, SmallChange, LargeChange, PageSize));
|
||||
Max, SmallChange, LargeChange, PageSize));
|
||||
|
||||
if (Kind = sbHorizontal) then
|
||||
Widget := gtk_hscrollbar_new(Adjustment)
|
||||
else
|
||||
Widget := gtk_vscrollbar_new(Adjustment);
|
||||
gtk_range_set_update_policy(PGtkRange(Widget), GTK_UPDATE_CONTINUOUS);
|
||||
end;
|
||||
|
||||
Result := TLCLIntfHandle({%H-}PtrUInt(Widget));
|
||||
@ -2702,16 +2703,21 @@ begin
|
||||
begin
|
||||
Range := GTK_RANGE({%H-}Pointer(Handle));
|
||||
{for gtk >= 2.14 use gtk_adjustment_configure}
|
||||
with Range^.adjustment^ do
|
||||
if (gtk_major_version >= 2) and (gtk_minor_version >= 14) then
|
||||
gtk_adjustment_configure(Range^.adjustment, Position, Min, Max, SmallChange, LargeChange, PageSize)
|
||||
else
|
||||
begin
|
||||
value := Position;
|
||||
lower := Min;
|
||||
upper := Max + PageSize;
|
||||
step_increment := SmallChange;
|
||||
page_increment := LargeChange;
|
||||
page_size := PageSize;
|
||||
with Range^.adjustment^ do
|
||||
begin
|
||||
value := Position;
|
||||
lower := Min;
|
||||
upper := Max;
|
||||
step_increment := SmallChange;
|
||||
page_increment := LargeChange;
|
||||
page_size := PageSize;
|
||||
end;
|
||||
gtk_adjustment_changed(Range^.adjustment);
|
||||
end;
|
||||
gtk_adjustment_changed(Range^.adjustment);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user