Skip to content

Commit

Permalink
fix dragging the X axis
Browse files Browse the repository at this point in the history
  • Loading branch information
danielhrisca committed Apr 9, 2024
1 parent 472be52 commit 3ad1178
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
6 changes: 5 additions & 1 deletion src/asammdf/gui/widgets/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,8 @@ def __init__(self, signal, index=0, trim_info=None, duplication=1, allow_trim=Tr
self.original_name = getattr(signal, "original_name", None)

self.y_link = False

self._y_range = None
self.y_range = (0, -1)
self.home = (0, -1)

Expand Down Expand Up @@ -5972,15 +5974,17 @@ def value_at_cursor(self, uuid=None):
return y, sig_y_bottom, sig_y_top

def xrange_changed_handle(self, *args, force=False):

if self._can_paint:
self.trim(force=force)
self.update()

self.zoom_changed.emit(False)

def y_changed(self, *args):

if len(args) == 1:
# range manually changed by the user with the wheel
# range manually changed by the user with the wheel or drag
mask = args[0]
if mask[1]:
y_range = self.viewbox.viewRange()[1]
Expand Down
13 changes: 6 additions & 7 deletions src/asammdf/gui/widgets/viewbox.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,7 @@ def mouseDragEvent(self, ev, axis=None, ignore_cursor=False):
dif = dif * -1

## Ignore axes if mouse is disabled
mouseEnabled = np.array(self.state["mouseEnabled"], dtype=np.float64)
mask = mouseEnabled.copy()
mask = np.array(self.state["mouseEnabled"], dtype=np.float64)
if axis is not None:
mask[1 - axis] = 0.0

Expand All @@ -233,7 +232,7 @@ def mouseDragEvent(self, ev, axis=None, ignore_cursor=False):
self._resetTarget()
if x is not None:
self.translateBy(x=x, y=0)
self.sigRangeChangedManually.emit(self.state["mouseEnabled"])
self.sigRangeChangedManually.emit(mask)

else:
## Scale or translate based on mouse button
Expand All @@ -251,7 +250,7 @@ def mouseDragEvent(self, ev, axis=None, ignore_cursor=False):
self._resetTarget()
if x is not None or y is not None:
self.translateBy(x=x, y=y)
self.sigRangeChangedManually.emit(self.state["mouseEnabled"])
self.sigRangeChangedManually.emit(mask)

elif ev.button() & QtCore.Qt.MouseButton.RightButton:
if self.state["aspectLocked"] is not False:
Expand All @@ -265,13 +264,13 @@ def mouseDragEvent(self, ev, axis=None, ignore_cursor=False):
tr = self.childGroup.transform()
tr = fn.invertQTransform(tr)

x = s[0] if mouseEnabled[0] == 1 else None
y = s[1] if mouseEnabled[1] == 1 else None
x = s[0] if mask[0] == 1 else None
y = s[1] if mask[1] == 1 else None

center = pg.Point(tr.map(ev.buttonDownPos(QtCore.Qt.MouseButton.RightButton)))
self._resetTarget()
self.scaleBy(x=x, y=y, center=center)
self.sigRangeChangedManually.emit(self.state["mouseEnabled"])
self.sigRangeChangedManually.emit(mask)

def keyPressEvent(self, ev):
if self.zoom_start is None:
Expand Down

0 comments on commit 3ad1178

Please sign in to comment.