View Issue Details

IDProjectCategoryView StatusLast Update
0022048LazarusLCLpublic2013-11-03 22:57
ReporterAvishaiAssigned ToBart Broersma 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.1 (SVN)Product Build 
Target VersionFixed in Version1.3 (SVN) 
Summary0022048: Component Hints do not respect BiDiMode
DescriptionComponent Hints do not respect BiDiMode:= bdRightToLeft. When a component.Hint text is set and component.ShowHint:= True, the Hint shows bdLeftToRight.

I have only tested a few components, but it looks like this may be true for all components. Tested components are TLabel, TEdit and TListBox.
Tagsbidi
Fixed in Revisionr43361
LazTarget-
WidgetsetWin32/Win64
Attached Files

Activities

Avishai

2013-10-08 22:16

reporter   ~0070685

Last edited: 2013-10-29 08:50

View 2 revisions

This problem seems to be universal and I have not found a solution.

Also, the 'Hint Box' should draw to the Left and not the Right for RightToLeft.

Avishai

2013-10-29 08:52

reporter   ~0071017

This is also a Delphi compatibility issue. Delphi Hints BiDiMode follow the Control BiDiMode.

Bart Broersma

2013-10-30 15:08

developer   ~0071042

In application.inc we find these commented out lines

    // make the hint have the same BiDiMode as the activating control
    //FHintWindow.BiDiMode := FHintControl.BiDiMode;

in TApplication.ShowHintWindow

Avishai

2013-10-30 15:46

reporter   ~0071043

Last edited: 2013-10-30 15:50

View 2 revisions

On only a quick check, 'FHintWindow.BiDiMode := FHintControl.BiDiMode;' seems to work. It sets the correct BiDiMode. But RightToLeft text does not display properly if there is a space at the end of the Hint text or if it is multi-line text.

Avishai

2013-10-31 07:48

reporter   ~0071058

Last edited: 2013-10-31 08:23

View 3 revisions

Very strange. When BiDiMode:= bdRightToLeft, If I use Latin letters in the hint it displays correctly, but if I use Hebrew letters the displays is wrong. It doesn't seem to be able to calculate the size of the rectangle correctly and the origin of the text is above the rectangle. Here is some Hebrew text. אחרי שאתמול ירדו ממטרים בעיקר במרכז הארץ ובדרומה,'0000013#10'היום יחוו רוב אזרחי ישראל גשם וסופות רעמים.'

Edit: This only seems to be true if 'Use manifest...' is turned off. But for RightToLeft Forms, it must be turned off.

Bart Broersma

2013-11-03 17:26

developer   ~0071120

This
    // make the hint have the same BiDiMode as the activating control
    //FHintWindow.BiDiMode := FHintControl.BiDiMode;
has been there right from the start of implementing Hints (r1307).
At that time BiDiMode wasn't implemented yet (this was done in r11209).

Avishai

2013-11-03 17:51

reporter   ~0071121

See my post at http://forum.lazarus.freepascal.org/index.php/topic,22358.msg133065.html#new

It explains how to resolve this issue and have RightToLeft support for Hints.

Issue History

Date Modified Username Field Change
2012-05-16 00:04 Avishai New Issue
2012-05-16 00:04 Avishai Widgetset => Win32/Win64
2012-05-18 10:33 Zaher Dirkey Tag Attached: bidi
2013-10-08 22:16 Avishai Note Added: 0070685
2013-10-29 08:50 Avishai Note Edited: 0070685 View Revisions
2013-10-29 08:52 Avishai Note Added: 0071017
2013-10-30 15:08 Bart Broersma Note Added: 0071042
2013-10-30 15:46 Avishai Note Added: 0071043
2013-10-30 15:50 Avishai Note Edited: 0071043 View Revisions
2013-10-31 07:48 Avishai Note Added: 0071058
2013-10-31 07:50 Avishai Note Edited: 0071058 View Revisions
2013-10-31 08:23 Avishai Note Edited: 0071058 View Revisions
2013-11-03 17:26 Bart Broersma Note Added: 0071120
2013-11-03 17:32 Bart Broersma Fixed in Revision => r43361
2013-11-03 17:32 Bart Broersma LazTarget => -
2013-11-03 17:32 Bart Broersma Status new => resolved
2013-11-03 17:32 Bart Broersma Fixed in Version => 1.3 (SVN)
2013-11-03 17:32 Bart Broersma Resolution open => fixed
2013-11-03 17:32 Bart Broersma Assigned To => Bart Broersma
2013-11-03 17:51 Avishai Note Added: 0071121
2013-11-03 22:57 Avishai Status resolved => closed