Hi All, Please let me share with you a UI requirement that is needed for RTL - Right to Left - interfaces such as Arabic, Hebrew.
This requirement is mirroring the user interface controls. For English interface the controls are laid out left to right while for RTL interface they are laid out right to left. The following article explains the mirroring concept http://www.microsoft.com/globaldev/getwr/steps/WRG_mirror.mspx In Elisa 0.3.5 I have implemented a limited version in some UI controls A simple equation is used Given a widget has x,y Then the mirrored widget x = mx mx = parentWidth - x - widgetWidth y is the same To optimize the RTL support I have created a global application variable that I check during UI creation/relayout. Using a function named isRTL() Sample change in context_bar.py def compute_layout(self): if not self.parent: return p = 1 margin = self.icon_margin * self.parent.height right_margin = self.right_margin * self.parent.height index = 0 for i in reversed(self.children): i.size = (self.parent.height - margin*2, self.parent.height - margin * 2) x = self.parent.width - i.width * p - margin * (p-1) - right_margin i.x = x #Added for RTL Support if isRTL(): i.x = self.parent.width - x - i.width i.y += margin p += 1 if self._current_index > -1 and index == self._current_index: i.opacity = 255 else: i.opacity = self.unselected_opacity index += 1 def isRTL(): return rtl_global I wonder if you have any ideas or suggestions on implementing this into the new Elisa 0.5.0 to support RTL/LTR interfaces Best regards, Mohamed Imam
