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
|
assert self._canvas
|
||||||
items = self._qtree.find_intersect((pos[0], pos[1], 1, 1))
|
items = self._qtree.find_intersect((pos[0], pos[1], 1, 1))
|
||||||
for item in reversed(self._canvas.sort(items)):
|
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
|
continue # skip selected items
|
||||||
|
|
||||||
v2i = self.get_matrix_v2i(item)
|
v2i = self.get_matrix_v2i(item)
|
||||||
|
@ -29,25 +29,27 @@ class ViewFixture:
|
|||||||
|
|
||||||
@pytest.fixture()
|
@pytest.fixture()
|
||||||
def view_fixture():
|
def view_fixture():
|
||||||
return ViewFixture()
|
fixture = ViewFixture()
|
||||||
|
yield fixture
|
||||||
|
fixture.window.destroy()
|
||||||
|
|
||||||
|
|
||||||
def test_get_item_at_point(view_fixture):
|
def test_get_item_at_point(view_fixture):
|
||||||
"""Hover tool only reacts on motion-notify events."""
|
"""Hover tool only reacts on motion-notify events."""
|
||||||
view_fixture.box.width = 50
|
view_fixture.box.width = 50
|
||||||
view_fixture.box.height = 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((10, 10)) is view_fixture.box
|
||||||
assert view_fixture.view.get_item_at_point((60, 10)) is None
|
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):
|
def test_get_handle_at_point(view_fixture):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user