Qt: implemented TTrackBar.Reversed property

git-svn-id: trunk@28313 -
This commit is contained in:
zeljko 2010-11-18 09:47:28 +00:00
parent c6ae8b8210
commit 7e8594978a

View File

@ -294,6 +294,17 @@ end;
class procedure TQtWSTrackBar.ApplyChanges(const ATrackBar: TCustomTrackBar);
var
QtTrackBar: TQtTrackBar;
function TrackBarReversed: Boolean;
begin
Result :=
((ATrackBar.Orientation = trHorizontal) and
(QtTrackbar.getInvertedAppereance <> ATrackBar.Reversed))
or
((ATrackBar.Orientation = trVertical) and
(QtTrackbar.getInvertedAppereance <> not ATrackBar.Reversed))
end;
begin
QtTrackBar := TQtTrackBar(ATrackBar.Handle);
@ -313,12 +324,17 @@ begin
if QtTrackBar.getSliderPosition <> ATrackBar.Position then
QtTrackBar.setSliderPosition(ATrackBar.Position);
if QtTrackBar.getOrientation <>
TrackBarOrientationToQtOrientationMap[ATrackBar.Orientation] then
if (QtTrackBar.getOrientation <>
TrackBarOrientationToQtOrientationMap[ATrackBar.Orientation])
or TrackBarReversed then
begin
QtTrackBar.Hide;
QtTrackBar.setOrientation(TrackBarOrientationToQtOrientationMap[ATrackBar.Orientation]);
QtTrackBar.setInvertedAppereance(False);
if ATrackBar.Orientation = trHorizontal then
QtTrackBar.setInvertedAppereance(ATrackBar.Reversed)
else
{make it delphi and msdn compatibile when vertical then 0 = top}
QtTrackBar.setInvertedAppereance(not ATrackBar.Reversed);
QtTrackBar.setInvertedControls(False);
QtTrackBar.Show;
end;