mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 12:39:15 +02:00
gtk2:
- set trackbar digits to 0 (as all other widgetsets works) - simplify some code git-svn-id: trunk@15621 -
This commit is contained in:
parent
d07764681a
commit
4ae3fa27db
@ -293,7 +293,8 @@ begin
|
|||||||
Widget := gtk_hscale_new(Adjustment)
|
Widget := gtk_hscale_new(Adjustment)
|
||||||
else
|
else
|
||||||
Widget := gtk_vscale_new(Adjustment);
|
Widget := gtk_vscale_new(Adjustment);
|
||||||
// gtk_scale_set_digits(PGtkScale(Widget), 0);
|
|
||||||
|
gtk_scale_set_digits(PGtkScale(Widget), 0);
|
||||||
end;
|
end;
|
||||||
Result := TLCLIntfHandle(PtrUInt(Widget));
|
Result := TLCLIntfHandle(PtrUInt(Widget));
|
||||||
{$IFDEF DebugLCLComponents}
|
{$IFDEF DebugLCLComponents}
|
||||||
@ -305,17 +306,27 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
class procedure TGtk2WSTrackBar.ApplyChanges(const ATrackBar: TCustomTrackBar);
|
class procedure TGtk2WSTrackBar.ApplyChanges(const ATrackBar: TCustomTrackBar);
|
||||||
|
const
|
||||||
|
ValuePositionMap: array[TTrackBarScalePos] of TGtkPositionType =
|
||||||
|
(
|
||||||
|
{ trLeft } GTK_POS_LEFT,
|
||||||
|
{ trRight } GTK_POS_RIGHT,
|
||||||
|
{ trTop } GTK_POS_TOP,
|
||||||
|
{ trBottom } GTK_POS_BOTTOM
|
||||||
|
);
|
||||||
var
|
var
|
||||||
wHandle: HWND;
|
wHandle: HWND;
|
||||||
Adjustment: PGtkAdjustment;
|
Adjustment: PGtkAdjustment;
|
||||||
begin
|
begin
|
||||||
|
if not WSCheckHandleAllocated(ATrackBar, 'ApplyChanges') then
|
||||||
|
Exit;
|
||||||
with ATrackBar do
|
with ATrackBar do
|
||||||
begin
|
begin
|
||||||
wHandle := Handle;
|
wHandle := Handle;
|
||||||
Adjustment := gtk_range_get_adjustment (GTK_RANGE(Pointer(wHandle)));
|
Adjustment := gtk_range_get_adjustment (GTK_RANGE(Pointer(wHandle)));
|
||||||
Adjustment^.lower := Min;
|
Adjustment^.lower := Min;
|
||||||
Adjustment^.Upper := Max;
|
Adjustment^.upper := Max;
|
||||||
Adjustment^.Value := Position;
|
Adjustment^.value := Position;
|
||||||
Adjustment^.step_increment := LineSize;
|
Adjustment^.step_increment := LineSize;
|
||||||
Adjustment^.page_increment := PageSize;
|
Adjustment^.page_increment := PageSize;
|
||||||
{ now do some of the more sophisticated features }
|
{ now do some of the more sophisticated features }
|
||||||
@ -323,15 +334,10 @@ begin
|
|||||||
otherwise it's set always to true }
|
otherwise it's set always to true }
|
||||||
gtk_scale_set_draw_value (GTK_SCALE (Pointer(wHandle)), false);
|
gtk_scale_set_draw_value (GTK_SCALE (Pointer(wHandle)), false);
|
||||||
|
|
||||||
if (TickStyle<>tsNone) then
|
if (TickStyle <> tsNone) then
|
||||||
begin
|
begin
|
||||||
gtk_scale_set_draw_value (GTK_SCALE (Pointer(wHandle)), true);
|
gtk_scale_set_draw_value (GTK_SCALE (Pointer(wHandle)), true);
|
||||||
case ScalePos of
|
gtk_scale_set_value_pos (GTK_SCALE (Pointer(wHandle)), ValuePositionMap[ScalePos]);
|
||||||
trLeft : gtk_scale_set_value_pos (GTK_SCALE (Pointer(wHandle)), GTK_POS_LEFT);
|
|
||||||
trRight : gtk_scale_set_value_pos (GTK_SCALE (Pointer(wHandle)), GTK_POS_RIGHT);
|
|
||||||
trTop : gtk_scale_set_value_pos (GTK_SCALE (Pointer(wHandle)), GTK_POS_TOP);
|
|
||||||
trBottom: gtk_scale_set_value_pos (GTK_SCALE (Pointer(wHandle)), GTK_POS_BOTTOM);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
//Not here (Delphi compatibility): gtk_signal_emit_by_name (GTK_Object (Adjustment), 'value_changed');
|
//Not here (Delphi compatibility): gtk_signal_emit_by_name (GTK_Object (Adjustment), 'value_changed');
|
||||||
end;
|
end;
|
||||||
@ -343,7 +349,8 @@ var
|
|||||||
Range: PGtkRange;
|
Range: PGtkRange;
|
||||||
begin
|
begin
|
||||||
Result := 0;
|
Result := 0;
|
||||||
if not ATRackBar.HandleAllocated then exit;
|
if not WSCheckHandleAllocated(ATrackBar, 'GetPosition') then
|
||||||
|
Exit;
|
||||||
|
|
||||||
Range := PGtkRange(ATrackBar.Handle);
|
Range := PGtkRange(ATrackBar.Handle);
|
||||||
Result := Trunc(gtk_range_get_value(Range));
|
Result := Trunc(gtk_range_get_value(Range));
|
||||||
@ -354,6 +361,8 @@ class procedure TGtk2WSTrackBar.SetPosition(const ATrackBar: TCustomTrackBar;
|
|||||||
var
|
var
|
||||||
Range: PGtkRange;
|
Range: PGtkRange;
|
||||||
begin
|
begin
|
||||||
|
if not WSCheckHandleAllocated(ATrackBar, 'SetPosition') then
|
||||||
|
Exit;
|
||||||
Range := PGtkRange(ATrackBar.Handle);
|
Range := PGtkRange(ATrackBar.Handle);
|
||||||
gtk_range_set_value(Range, Trunc(NewPosition));
|
gtk_range_set_value(Range, Trunc(NewPosition));
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user