diff-edit: fill3: Let vertical scrollbar be on the left of view

This commit is contained in:
Andrew Hamilton 2022-01-21 10:30:44 +10:00
parent 247b3ebfd3
commit 9439af4061

View file

@ -245,11 +245,13 @@ class Portal:
class View:
def __init__(self, portal, horizontal_scrollbar, vertical_scrollbar, hide_scrollbars=True):
def __init__(self, portal, horizontal_scrollbar, vertical_scrollbar, hide_scrollbars=True,
is_left_scrollbar=False):
self.portal = portal
self.horizontal_scrollbar = horizontal_scrollbar
self.vertical_scrollbar = vertical_scrollbar
self.hide_scrollbars = hide_scrollbars
self.is_left_scrollbar = is_left_scrollbar
@classmethod
def from_widget(cls, widget):
@ -296,7 +298,9 @@ class View:
result = portal_appearance
else:
scrollbar_v_appearance = self.vertical_scrollbar.appearance_for((1, height))
result = join_horizontal([portal_appearance, scrollbar_v_appearance])
parts = ([scrollbar_v_appearance, portal_appearance] if self.is_left_scrollbar
else [portal_appearance, scrollbar_v_appearance])
result = join_horizontal(parts)
if not hide_scrollbar_horizontal:
scrollbar_h_appearance = self.horizontal_scrollbar.appearance_for((width, 1))
result.append(scrollbar_h_appearance[0] + ("" if hide_scrollbar_vertical else " "))