protected int getLtrLeft(int popupWidth) { if (!canFitOnLeftEdge(popupWidth) && (canFitOnRightEdge(popupWidth) || clipToWindow)) { return Math.max(0, getRightEdge(popupWidth)); } else { return widget.getAbsoluteLeft(); } }
@Override protected int getLeft(int popupWidth) { return LocaleInfo.getCurrentLocale().isRTL() ? getRtlLeft(popupWidth) : getLtrLeft(popupWidth); }
private boolean canFitOnRightEdge(int popupWidth) { return getRightEdge(popupWidth) >= Window.getScrollLeft(); } }
protected int getRtlLeft(int popupWidth) { if (!canFitOnRightEdge(popupWidth) && (canFitOnLeftEdge(popupWidth) || !clipToWindow)) { return widget.getAbsoluteLeft(); } else { return Math.max(0, getRightEdge(popupWidth)); } }