def test_border(self): c = Component( bounds=[50.0, 60.0], position=[20, 20], padding=10, border_visible=True, border_width=1) self.assertTrue(c.outer_x == 10) self.assertTrue(c.outer_y == 10) self.assertTrue(c.outer_bounds[0] == 70) self.assertTrue(c.outer_bounds[1] == 80) return
def test_padding_init(): """ Make sure that padding traits passed to the constructor get set in the correct order. """ c = Component() assert c.padding_top == 0 assert c.padding_bottom == 0 assert c.padding_left == 0 assert c.padding_right == 0 c = Component(padding=50) assert c.padding_top == 50 assert c.padding_bottom == 50 assert c.padding_left == 50 assert c.padding_right == 50 c = Component(padding=50, padding_top=15) assert c.padding_top == 15 assert c.padding_bottom == 50 assert c.padding_left == 50 assert c.padding_right == 50 c = Component(padding=50, padding_bottom=15) assert c.padding_top == 50 assert c.padding_bottom == 15 assert c.padding_left == 50 assert c.padding_right == 50 c = Component(padding=50, padding_left=15) assert c.padding_top == 50 assert c.padding_bottom == 50 assert c.padding_left == 15 assert c.padding_right == 50 c = Component(padding=50, padding_right=15) assert c.padding_top == 50 assert c.padding_bottom == 50 assert c.padding_left == 50 assert c.padding_right == 15
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_get_outer_position(self): c = Component(bounds=[50.0, 60.0], padding=10, border_visible=False) self.assertTrue(c.outer_x == -10) self.assertTrue(c.outer_y == -10) self.assertTrue(c.outer_position[0] == -10) self.assertTrue(c.outer_position[1] == -10) self.assertTrue(c.outer_x2 == 59) self.assertTrue(c.outer_y2 == 69) self.assertTrue(c.outer_width == 70) self.assertTrue(c.outer_height == 80) self.assertTrue(c.outer_bounds[0] == 70) self.assertTrue(c.outer_bounds[1] == 80) return
def test_basic_viewport(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_position=[10.0, 10.0], view_bounds=[50.0, 50.0], position=[0, 0], bounds=[50, 50]) self.assertEqual(view.view_position, [10, 10]) print(view.components_at(0.0, 0.0), view.view_position) self.assertTrue(view.components_at(0.0, 0.0)[0] == component) self.assertTrue(view.components_at(44.9, 0.0)[0] == component) self.assertTrue(view.components_at(0.0, 44.9)[0] == component) self.assertTrue(view.components_at(44.9, 44.9)[0] == component) self.assertTrue(view.components_at(46.0, 45.0) == []) self.assertTrue(view.components_at(46.0, 0.0) == []) self.assertTrue(view.components_at(45.0, 46.0) == []) self.assertTrue(view.components_at(0.0, 46.0) == [])
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_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 setUp(self): EnamlTestAssistant.setUp(self) enaml_source = """ from enaml.widgets.api import MainWindow from traits_enaml.widgets.enable_canvas import EnableCanvas enamldef MainView(MainWindow): attr model EnableCanvas: name = 'canvas' component << model.component """ self.component = Component() self.model = Model(component=self.component) view, toolkit_view = self.parse_and_create(enaml_source, model=self.model) self.view = view
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])
def test_set_outer_position(self): c = Component(bounds=[50.0, 60.0], padding=10, border_visible=False) # Test setting various things c.outer_position = [0, 0] self.assertTrue(c.outer_x == 0) self.assertTrue(c.outer_y == 0) self.assertTrue(c.x == 10) self.assertTrue(c.y == 10) self.assertTrue(c.outer_x2 == 69) self.assertTrue(c.outer_y2 == 79) c.outer_x = 10 self.assertTrue(c.x == 20) self.assertTrue(c.outer_x2 == 79) c.outer_x2 = 99 self.assertTrue(c.outer_x2 == 99) self.assertTrue(c.outer_x == 30) self.assertTrue(c.x2 == 89) self.assertTrue(c.x == 40) c.outer_y2 = 99 self.assertTrue(c.outer_y2 == 99) self.assertTrue(c.outer_y == 20) self.assertTrue(c.y2 == 89) self.assertTrue(c.y == 30)
def test_adjust_container_bounds_hanchor_right(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') # simple resize bigger container.bounds = [120, 120] self.assertEqual(view.view_position, [40, 20.0]) # simple resize smaller container.height = 90 container.width = 90 self.assertEqual(view.view_position, [10, 20.0]) # simple resize much smaller container.bounds[0] = 40 container.bounds[1] = 40 self.assertEqual(view.view_position, [-40, 20.0])
def check_container(self): c = Component() self.assertTrue(c.container is None)
def test_position(self): c = Component(bounds=[50.0, 50.0]) self.assertTrue(c.position[0] == c.x) self.assertTrue(c.position[1] == c.y) self.assertTrue(c.x == 0.0) self.assertTrue(c.y == 0.0)