def test_adjust_bounds_vanchor_center_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport( component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0, 0], bounds=[50, 50], vertical_anchor="center", stay_inside=True, ) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [20, 15.0]) # resize beyond left view.bounds = [95, 95] self.assertEqual(view.view_position, [5, 0.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [0, -10.0])
def test_adjust_bounds_hanchor_top_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport( component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0, 0], bounds=[50, 50], horizontal_anchor="right", stay_inside=True, ) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [10, 20.0]) # resize beyond left view.bounds = [80, 80] self.assertEqual(view.view_position, [0, 20.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [-20.0, 0])
def test_adjust_bounds_hanchor_center_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0, 0], bounds=[50, 50], horizontal_anchor='center', stay_inside=True) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [15.0, 20]) # resize beyond left view.height = 95 view.width = 95 self.assertEqual(view.view_position, [0.0, 5]) # resize bigger than view view.bounds[0] = 120 view.bounds[1] = 120 self.assertEqual(view.view_position, [-10.0, 0])
def test_adjust_bounds_hanchor_center_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0,0], bounds=[50,50], horizontal_anchor='center', stay_inside=True) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [15.0, 20]) # resize beyond left view.height = 95 view.width = 95 self.assertEqual(view.view_position, [0.0, 5]) # resize bigger than view view.bounds[0] = 120 view.bounds[1] = 120 self.assertEqual(view.view_position, [-10.0, 0])
def _create_window(self): canvas = Canvas(bgcolor="lightsteelblue", draw_axes=True) canvas.overlays.append(EventTracer(canvas, color="green", size=8, angle=45.0)) viewport = Viewport(component=canvas, enable_zoom=True) viewport.view_position = [0,0] viewport.tools.append(ViewportPanTool(viewport, drag_button="right")) viewport.overlays.append(EventTracer(viewport)) if 1: scrolled = Scrolled(canvas, inside_padding_width = 0, mousewheel_scroll = False, viewport_component = viewport, always_show_sb = True, continuous_drag_update = True) return Window(self, -1, component=scrolled) elif 1: viewport.bounds = [300, 300] viewport.position = [10,10] container = Container(fit_window=True, auto_size=False, border_visible=True, border_color = "blue") container.padding = 20 container.add(viewport) return Window(self, -1, component=container) else: return Window(self, -1, component=viewport)
def test_adjust_bounds_vanchor_top(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0, 0], bounds=[50, 50], vertical_anchor='top') # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [20, 10.0]) # resize beyond bottom view.bounds = [80, 80] self.assertEqual(view.view_position, [20, -10.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [20, -50.0])
def test_adjust_bounds(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[10, 10], position=[0, 0], bounds=[50, 50]) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [10, 10])
def test_adjust_bounds_hanchor_center(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0, 0], bounds=[50, 50], horizontal_anchor='center') # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [15.0, 20]) # resize beyond left view.bounds = [95, 95] self.assertEqual(view.view_position, [-2.5, 20]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [-15.0, 20])
def test_adjust_bounds_vanchor_top(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0,0], bounds=[50,50], vertical_anchor='top') # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [20, 10.0]) # resize beyond bottom view.bounds = [80, 80] self.assertEqual(view.view_position, [20, -10.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [20, -50.0])
def test_adjust_bounds(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[10,10], position=[0,0], bounds=[50,50]) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [10, 10])
def test_adjust_bounds_hanchor_center(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0,0], bounds=[50,50], horizontal_anchor='center') # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [15.0, 20]) # resize beyond left view.bounds = [95, 95] self.assertEqual(view.view_position, [-2.5, 20]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [-15.0, 20])
def test_adjust_bounds_hanchor_top_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0,0], bounds=[50,50], horizontal_anchor='right', stay_inside=True) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [10, 20.0]) # resize beyond left view.bounds = [80, 80] self.assertEqual(view.view_position, [0, 20.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [-20.0, 0])
def test_adjust_bounds_vanchor_center_stay_inside(self): container = Container(bounds=[100.0, 100.0]) component = Component(bounds=[50.0, 50.0], position=[5.0, 5.0]) container.add(component) view = Viewport(component=container, view_bounds=[50.0, 50.0], view_position=[20, 20], position=[0,0], bounds=[50,50], vertical_anchor='center', stay_inside=True) # simple resize view.bounds = [60, 60] self.assertEqual(view.view_position, [20, 15.0]) # resize beyond left view.bounds = [95, 95] self.assertEqual(view.view_position, [5, 0.0]) # resize bigger than view view.bounds = [120, 120] self.assertEqual(view.view_position, [0, -10.0])