Skip to content

Commit a26f2a2

Browse files
committed
tools.curve: fix circular import + rm unnecessary EditPointTool.__get_plot method
1 parent 49f9382 commit a26f2a2

File tree

2 files changed

+8
-21
lines changed

2 files changed

+8
-21
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@
3838
"plotpy"
3939
],
4040
"python.analysis.autoFormatStrings": true,
41-
"python.analysis.typeCheckingMode": "basic",
41+
"python.analysis.typeCheckingMode": "off",
4242
}

plotpy/tools/curve.py

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@
2727
from plotpy.interfaces import ICurveItemType
2828
from plotpy.items import Marker, XRangeSelection
2929
from plotpy.items.curve.base import CurveItem
30-
from plotpy.plot.base import BasePlot
3130
from plotpy.tools.base import DefaultToolbarID, InteractiveTool, ToggleTool
3231
from plotpy.tools.cursor import BaseCursorTool
3332

3433
if TYPE_CHECKING:
34+
from plotpy.plot.base import BasePlot
3535
from plotpy.plot.manager import PlotManager
3636

3737

@@ -803,7 +803,7 @@ def undo_curve_modifications(
803803
):
804804
self.__x, self.__y = x_arr, y_arr
805805
curve_item.set_data(x_arr, y_arr)
806-
self.__get_plot(filter).replot()
806+
filter.plot.replot()
807807
self.__get_current_marker(filter).detach()
808808
self.__current_location_marker = None
809809
self.__x = self.__y = None
@@ -833,7 +833,7 @@ def insert_point_at_selection(
833833
or self.__x is None
834834
):
835835
QW.QMessageBox.warning(
836-
self.__get_plot(filter),
836+
filter.plot,
837837
_("Insert point"),
838838
_(
839839
"Before inserting a new point, "
@@ -858,18 +858,6 @@ def insert_point_at_selection(
858858
0, QC.QPointF(*new_pos) # type: ignore
859859
)
860860

861-
def __get_plot(self, filter: StatefulEventFilter) -> BasePlot:
862-
"""Get plot. Simple method to avoid type checking errors
863-
864-
Args:
865-
filter: StatefulEventFilter instance
866-
867-
Returns:
868-
BasePlot instance
869-
"""
870-
assert isinstance(plot := filter.plot, BasePlot)
871-
return plot
872-
873861
def __get_active_curve_item(self, filter: StatefulEventFilter) -> CurveItem:
874862
"""Get active curve item. Simple method to avoid type checking errors.
875863
@@ -879,9 +867,8 @@ def __get_active_curve_item(self, filter: StatefulEventFilter) -> CurveItem:
879867
Returns:
880868
curve item
881869
"""
882-
plot = self.__get_plot(filter)
883870
assert isinstance(
884-
curve_item := plot.get_last_active_item(ICurveItemType), CurveItem
871+
curve_item := filter.plot.get_last_active_item(ICurveItemType), CurveItem
885872
)
886873
return curve_item
887874

@@ -959,7 +946,7 @@ def start(self, filter: StatefulEventFilter, event: QG.QMouseEvent) -> None:
959946
self.__idx = self.__dsampled_idx * self.__dsampling # type: ignore
960947
self.__lower_upper_x_bounds = self.__get_x_bounds(curve_x, self.__idx)
961948
self.__selection_threshold = self.__get_selection_threshold(filter)
962-
self.__get_plot(filter).replot()
949+
filter.plot.replot()
963950

964951
def move_point(self, filter: StatefulEventFilter, event: QG.QMouseEvent) -> None:
965952
"""Move point
@@ -1011,7 +998,7 @@ def move_point(self, filter: StatefulEventFilter, event: QG.QMouseEvent) -> None
1011998
self.__current_location_marker.move_local_point_to(
1012999
0, QC.QPointF(marker_x, marker_y)
10131000
)
1014-
self.__get_plot(filter).replot()
1001+
filter.plot.replot()
10151002

10161003
def stop(self, filter: StatefulEventFilter, event: QG.QMouseEvent) -> None:
10171004
"""Stop tool action and save new x and y coordinates.
@@ -1052,7 +1039,7 @@ def __init_current_marker(
10521039
Returns:
10531040
Marker instance
10541041
"""
1055-
plot = self.__get_plot(filter)
1042+
plot = filter.plot
10561043
marker = Marker(
10571044
label_cb=lambda x, y: f"{x=:.4f}, {y=:.4f}",
10581045
constraint_cb=plot.on_active_curve,

0 commit comments

Comments
 (0)