Add color properties for level line and label
parent
c1266a7a1d
commit
53c0816c5f
|
@ -50,7 +50,8 @@ class LevelLabel(YSticky):
|
||||||
super().__init__(chart, *args, **kwargs)
|
super().__init__(chart, *args, **kwargs)
|
||||||
|
|
||||||
# TODO: this is kinda cludgy
|
# TODO: this is kinda cludgy
|
||||||
self._pen = self.pen = pg.mkPen(hcolor(color))
|
self._hcolor = None
|
||||||
|
self.color = color
|
||||||
|
|
||||||
# orientation around axis options
|
# orientation around axis options
|
||||||
self._orient_v = orient_v
|
self._orient_v = orient_v
|
||||||
|
@ -65,6 +66,15 @@ class LevelLabel(YSticky):
|
||||||
'left': -1., 'right': 0
|
'left': -1., 'right': 0
|
||||||
}[orient_h]
|
}[orient_h]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def color(self):
|
||||||
|
return self._hcolor
|
||||||
|
|
||||||
|
@color.setter
|
||||||
|
def color(self, color: str) -> None:
|
||||||
|
self._hcolor = color
|
||||||
|
self._pen = self.pen = pg.mkPen(hcolor(color))
|
||||||
|
|
||||||
def update_label(
|
def update_label(
|
||||||
self,
|
self,
|
||||||
abs_pos: QPointF, # scene coords
|
abs_pos: QPointF, # scene coords
|
||||||
|
@ -201,6 +211,7 @@ class LevelLine(pg.InfiniteLine):
|
||||||
self,
|
self,
|
||||||
chart: 'ChartPlotWidget', # type: ignore # noqa
|
chart: 'ChartPlotWidget', # type: ignore # noqa
|
||||||
label: LevelLabel,
|
label: LevelLabel,
|
||||||
|
color: str = 'default',
|
||||||
highlight_color: str = 'default_light',
|
highlight_color: str = 'default_light',
|
||||||
hl_on_hover: bool = True,
|
hl_on_hover: bool = True,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
|
@ -213,12 +224,24 @@ class LevelLine(pg.InfiniteLine):
|
||||||
self._chart = chart
|
self._chart = chart
|
||||||
self._hoh = hl_on_hover
|
self._hoh = hl_on_hover
|
||||||
|
|
||||||
|
self._hcolor = None
|
||||||
|
self.color = color
|
||||||
|
|
||||||
# use slightly thicker highlight
|
# use slightly thicker highlight
|
||||||
pen = pg.mkPen(hcolor(highlight_color))
|
pen = pg.mkPen(hcolor(highlight_color))
|
||||||
pen.setWidth(2)
|
pen.setWidth(2)
|
||||||
self.setHoverPen(pen)
|
self.setHoverPen(pen)
|
||||||
self._track_cursor: bool = False
|
self._track_cursor: bool = False
|
||||||
|
|
||||||
|
@property
|
||||||
|
def color(self):
|
||||||
|
return self._hcolor
|
||||||
|
|
||||||
|
@color.setter
|
||||||
|
def color(self, color: str) -> None:
|
||||||
|
self._hcolor = color
|
||||||
|
self.setPen(pg.mkPen(hcolor(color)))
|
||||||
|
|
||||||
def set_level(self, value: float) -> None:
|
def set_level(self, value: float) -> None:
|
||||||
self.label.update_from_data(0, self.value())
|
self.label.update_from_data(0, self.value())
|
||||||
|
|
||||||
|
@ -351,6 +374,7 @@ def level_line(
|
||||||
line = LevelLine(
|
line = LevelLine(
|
||||||
chart,
|
chart,
|
||||||
label,
|
label,
|
||||||
|
color=color,
|
||||||
# lookup "highlight" equivalent
|
# lookup "highlight" equivalent
|
||||||
highlight_color=color + '_light',
|
highlight_color=color + '_light',
|
||||||
movable=True,
|
movable=True,
|
||||||
|
@ -358,7 +382,6 @@ def level_line(
|
||||||
hl_on_hover=hl_on_hover,
|
hl_on_hover=hl_on_hover,
|
||||||
)
|
)
|
||||||
line.setValue(level)
|
line.setValue(level)
|
||||||
line.setPen(pg.mkPen(hcolor(color)))
|
|
||||||
|
|
||||||
# activate/draw label
|
# activate/draw label
|
||||||
line.setValue(level)
|
line.setValue(level)
|
||||||
|
|
Loading…
Reference in New Issue