- added possibility of changing the Axis color and created a new parameter for that in Preferences

- some refactoring
- in a FCColorEntry GUI element, setting a color in the Color dialog will trigger the editingFinished signal therefore propagating the changes
This commit is contained in:
Marius Stanciu
2021-02-27 02:08:17 +02:00
committed by Marius
parent f480bafb66
commit f85be8d095
45 changed files with 204 additions and 102 deletions

View File

@@ -231,8 +231,16 @@ class PlotCanvasLegacy(QtCore.QObject):
self.axes = self.figure.add_axes([0.05, 0.05, 0.9, 0.9], label="base", alpha=0.0)
self.axes.set_aspect(1)
self.axes.grid(True, color='gray')
self.h_line = self.axes.axhline(color=(0.70, 0.3, 0.3), linewidth=2)
self.v_line = self.axes.axvline(color=(0.70, 0.3, 0.3), linewidth=2)
axis_default_color = self.app.defaults['global_axis_color']
self.axis_transparency = 0.8
axis_color = self.color_hex2tuple(axis_default_color)
axis_color = axis_color[0], axis_color[1], axis_color[2]
# self.h_line = self.axes.axhline(color=(0.70, 0.3, 0.3), linewidth=2)
self.h_line = self.axes.axhline(color=axis_color, linewidth=2)
self.v_line = self.axes.axvline(color=axis_color, linewidth=2)
self.axes.tick_params(axis='x', color=tick_color, labelcolor=tick_color)
self.axes.tick_params(axis='y', color=tick_color, labelcolor=tick_color)
@@ -334,6 +342,30 @@ class PlotCanvasLegacy(QtCore.QObject):
# self.container.attach(self.canvas, 0, 0, 600, 400)
# self.container.addWidget(self.canvas) # Qt
@staticmethod
def color_hex2tuple(hex_color):
# strip the # from the beginning
color = hex_color[1:]
# convert color RGB components from range 0...255 to 0...1
r_color = int(color[:2], 16) / 255
g_color = int(color[2:4], 16) / 255
b_color = int(color[4:6], 16) / 255
return r_color, g_color, b_color
def apply_axis_color(self):
self.app.log.debug('PlotCanvasLegacy.apply_axis_color() -> axis color applied')
axis_default_color = self.app.defaults['global_axis_color']
axis_color = self.color_hex2tuple(axis_default_color)
axis_color = axis_color[0], axis_color[1], axis_color[2]
self.h_line.set_color(axis_color)
self.v_line.set_color(axis_color)
self.canvas.draw()
def on_toggle_axis(self, signal=None, state=None, silent=None):
if not state:
state = not self.axis_enabled