More tests for GtkView.get_item_at_point()
This commit is contained in:
parent
f4734282c3
commit
ac68bde4f2
@ -240,7 +240,7 @@ class GtkView(Gtk.DrawingArea, Gtk.Scrollable, View):
|
||||
assert self._canvas
|
||||
items = self._qtree.find_intersect((pos[0], pos[1], 1, 1))
|
||||
for item in reversed(self._canvas.sort(items)):
|
||||
if not selected and item in self.selected_items:
|
||||
if not selected and item in self.selection.selected_items:
|
||||
continue # skip selected items
|
||||
|
||||
v2i = self.get_matrix_v2i(item)
|
||||
|
@ -29,25 +29,27 @@ class ViewFixture:
|
||||
|
||||
@pytest.fixture()
|
||||
def view_fixture():
|
||||
return ViewFixture()
|
||||
fixture = ViewFixture()
|
||||
yield fixture
|
||||
fixture.window.destroy()
|
||||
|
||||
|
||||
def test_get_item_at_point(view_fixture):
|
||||
"""Hover tool only reacts on motion-notify events."""
|
||||
view_fixture.box.width = 50
|
||||
view_fixture.box.height = 50
|
||||
assert len(view_fixture.view._qtree._ids) == 1
|
||||
assert view_fixture.view._qtree._bucket.bounds != (
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
), view_fixture.view._qtree._bucket.bounds
|
||||
|
||||
assert view_fixture.view.get_item_at_point((10, 10)) is view_fixture.box
|
||||
assert view_fixture.view.get_item_at_point((60, 10)) is None
|
||||
|
||||
view_fixture.window.destroy()
|
||||
|
||||
def test_get_unselected_item_at_point(view_fixture):
|
||||
view_fixture.box.width = 50
|
||||
view_fixture.box.height = 50
|
||||
view_fixture.view.selection.select_items(view_fixture.box)
|
||||
|
||||
assert view_fixture.view.get_item_at_point((10, 10)) is view_fixture.box
|
||||
assert view_fixture.view.get_item_at_point((10, 10), selected=False) is None
|
||||
|
||||
|
||||
def test_get_handle_at_point(view_fixture):
|
||||
|
Loading…
x
Reference in New Issue
Block a user