Skip to content

Commit

Permalink
Public edit streams (#105)
Browse files Browse the repository at this point in the history
  • Loading branch information
ahuang11 committed May 7, 2024
1 parent d0def9d commit 0acdc7f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
13 changes: 11 additions & 2 deletions holonote/annotate/display.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,15 @@ def _update_data(self):
def element(self):
return self.overlay()

@property
def edit_streams(self) -> dict[str, hv.streams.Stream]:
edit_streams = {}
if self.region_format in ("range", "range-range"):
edit_streams["box_select"] = self._edit_streams[0]
elif self.region_format in ("point", "point-point"):
edit_streams["tap"] = self._edit_streams[1]
return edit_streams

@property
def edit_tools(self) -> list[Tool]:
tools = []
Expand Down Expand Up @@ -328,6 +337,8 @@ def selection_enabled(self) -> bool:
@selection_enabled.setter
def selection_enabled(self, enabled: bool) -> None:
self._selection_enabled = enabled
if not enabled:
self.clear_indicated_region()

@property
def editable_enabled(self) -> bool:
Expand All @@ -336,8 +347,6 @@ def editable_enabled(self) -> bool:
@editable_enabled.setter
def editable_enabled(self, enabled: bool) -> None:
self._editable_enabled = enabled
if not enabled:
self.clear_indicated_region()

def _filter_stream_values(self, bounds, x, y, geometry):
if not self._editable_enabled:
Expand Down
9 changes: 9 additions & 0 deletions holonote/tests/test_annotators_element.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,15 @@ def test_set_regions_range1d(annotator_range1d) -> None:
assert output2 == expected2


def test_edit_streams(annotator_range1d) -> None:
annotator = annotator_range1d
edit_streams = annotator.get_display("TIME").edit_streams
assert len(edit_streams) == 1
assert "box_select" in edit_streams
assert "tap" not in edit_streams
assert "lasso_select" not in edit_streams


def test_set_regions_range2d(annotator_range2d) -> None:
annotator = annotator_range2d
annotator.get_display("x", "y")
Expand Down

0 comments on commit 0acdc7f

Please sign in to comment.