Community
Participate
Working Groups
All currently found problems in rtl-oriented Combo are connected with it's drop- down list. Text direction of each item of this list should be set separately. Position of vertical scroll bar of it's scrolled window should be changed to opposite. Initial position of horizontal scroll bar should be changed to rightmost position. X position of window, which contains drop-down list, should be changed to leftmost position of Combo. As far as I understand, last problem can't be solved with current version of GTK without handling of widget's visibility changing. GTK places list's window in accordance with leftmost position of entry widget, that isn't leftmost widget in case of rtl orientation of Combo.
Created attachment 5702 [details] Combo.java from build N20030729 with proposed changes Our changes are marked with tag "bidi". They don't include changes,which are needed for setting horizontal scroll bar to rightmost position.
Problem with position of horizontal scrollbar of list is currently discussed in the comments to bug 41243.
Your code does not fixed two of the problems you mention: 1. Initial position of horizontal scroll bar should be changed to rightmost position. 2. X position of window, which contains drop-down list, should be changed to leftmost position of Combo. I believe we can fix both problems, but it will be very hacky.
Created attachment 7831 [details] Combo.java from build i20040210 with proposed changes. Starting with GTK 2.3.2, the most problems of rtl-oriented Combo are solved. Some additional changes are needed here because of this control's specifics. It is supposed here, that general problem, which is described in the bug 41184, is solved by the newly suggested way. Our changes are marked with tag b41364.
fixed in head > 20050223
Created attachment 80315 [details] Zip, wich contains doc with screenshots and some diff files.
This bug should be reopened, because bidi-specific problems appear in Combo again. This is caused by change base GTK widget, used by Combo, from GtkCombo to GtkComboBox. I don't touch here general GTK problems with contextual ordering of the text and dynamic alignment in GTK text widgets. Problems, specific for SWT Combo, consist in wrong alignment of drop-down list's content and wrong alignment of the text, which appears in not-editable Combo's cell view (see attachments). Reason: correct text direction isn't set for corresponding GTK widgets. To change their direction, we need found and save handles of these widgets. Case of cell view from not-editable Combo is more simple: its handle can be found in the list of GtkComboBox children. What about drop-down list, it is released inside additional toplevel Window. Handle to this Window can be found by comparing lists of toplevels before and after creating GtkComboBox. Our suggestions can be found in attachments as diff files, which are done on the base of corresponding sources from 3.4M2.
Created attachment 80339 [details] Last zip with doc and diff files
Thank you for the patch! I released it to HEAD with some modifications. Should be in tomorrow's I-build - can you please give it a try at your end? Thanks! Fixed in HEAD > 20071015
I checked with build I20071016 - it looks ok. Thank you.