Beispiel #1
0
def window_geometry(xstart: int, xnum: int, ystart: int, ynum: int, left: int,
                    top: int, right: int, bottom: int) -> WindowGeometry:
    return WindowGeometry(left=xstart,
                          top=ystart,
                          xnum=xnum,
                          ynum=ynum,
                          right=xstart + lgd.cell_width * xnum,
                          bottom=ystart + lgd.cell_height * ynum,
                          spaces=Edges(left, top, right, bottom))
Beispiel #2
0
 def __init__(self, win_id, overlay_for=None, overlay_window_id=None):
     self.id = win_id
     self.overlay_for = overlay_for
     self.overlay_window_id = overlay_window_id
     self.is_visible_in_layout = True
     self.geometry = WindowGeometry(0, 0, 0, 0, 0, 0)
     self.padding = EdgeWidths()
     self.margin = EdgeWidths()
     self.focused = False
Beispiel #3
0
 def test_splits(self):
     q = create_layout(Splits)
     all_windows = create_windows(q, num=0)
     q.add_window(all_windows, Window(1))
     self.ae(all_windows.active_group_idx, 0)
     q.add_window(all_windows, Window(2), location='vsplit')
     self.ae(all_windows.active_group_idx, 1)
     q(all_windows)
     self.ae(q.pairs_root.pair_for_window(2).horizontal, True)
     q.add_window(all_windows, Window(3), location='hsplit')
     self.ae(q.pairs_root.pair_for_window(2).horizontal, False)
     q.add_window(all_windows, Window(4), location='vsplit')
     windows = list(all_windows)
     windows[0].set_geometry(WindowGeometry(0, 0, 10, 20, 0, 0))
     windows[1].set_geometry(WindowGeometry(11, 0, 20, 10, 0, 0))
     windows[2].set_geometry(WindowGeometry(11, 11, 15, 20, 0, 0))
     windows[3].set_geometry(WindowGeometry(16, 11, 20, 20, 0, 0))
     self.ae(q.neighbors_for_window(windows[0], all_windows), {
         'left': [],
         'right': [2, 3],
         'top': [],
         'bottom': []
     })
     self.ae(q.neighbors_for_window(windows[1], all_windows), {
         'left': [1],
         'right': [],
         'top': [],
         'bottom': [3, 4]
     })
     self.ae(q.neighbors_for_window(windows[2], all_windows), {
         'left': [1],
         'right': [4],
         'top': [2],
         'bottom': []
     })
     self.ae(q.neighbors_for_window(windows[3], all_windows), {
         'left': [3],
         'right': [],
         'top': [2],
         'bottom': []
     })