Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions trace/widgets/control_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ def add_empty_axis(self, name: str = "") -> "AxisItem":

def add_axis_item(self, axis: BasePlotAxisItem) -> "AxisItem":
"""Add an existing AxisItem to the plot."""
self.match_axis_tick_font(axis)
axis_item = AxisItem(axis)
axis_item.curves_list_changed.connect(self.curve_list_changed.emit)
self.axis_list.insertWidget(self.axis_list.count() - 1, axis_item)
Expand All @@ -110,6 +111,18 @@ def add_axis_item(self, axis: BasePlotAxisItem) -> "AxisItem":

return axis_item

def match_axis_tick_font(self, axis: BasePlotAxisItem) -> None:
"""Matches the axis' tick font to the X-Axis of the plot. Only necessary
if the user has changed the tick font of the plot's axes.

Parameters
----------
axis : BasePlotAxisItem
The axis to match the tick font for."""
x_axis = self.plot.getAxis("bottom")
if x_axis is not None:
axis.setTickFont(x_axis.style["tickFont"])

def get_axis_item(self, axis_name: str) -> "AxisItem":
"""Get an AxisItem by its name."""
for index in range(self.axis_list.count()):
Expand Down
20 changes: 11 additions & 9 deletions trace/widgets/plot_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,12 @@ def __init__(self, parent: QWidget, plot: PyDMArchiverTimePlot):
background_row = SettingsRowItem(self, " Background Color", self.background_button)
main_layout.addLayout(background_row)

x_axis_font_size_spinbox = QSpinBox(self)
x_axis_font_size_spinbox.setValue(12)
x_axis_font_size_spinbox.setSuffix(" pt")
x_axis_font_size_spinbox.valueChanged.connect(self.set_x_axis_font_size)
x_axis_font_size_row = SettingsRowItem(self, " X Axis Font Size", x_axis_font_size_spinbox)
main_layout.addLayout(x_axis_font_size_row)
axis_tick_font_size_spinbox = QSpinBox(self)
axis_tick_font_size_spinbox.setValue(12)
axis_tick_font_size_spinbox.setSuffix(" pt")
axis_tick_font_size_spinbox.valueChanged.connect(self.set_axis_tick_font_size)
axis_tick_font_size_row = SettingsRowItem(self, " Axis Tick Font Size", axis_tick_font_size_spinbox)
main_layout.addLayout(axis_tick_font_size_row)

self.x_grid_checkbox = QCheckBox(self)
self.x_grid_checkbox.stateChanged.connect(self.show_x_grid)
Expand Down Expand Up @@ -145,11 +145,13 @@ def show(self):
super().show()

@Slot(int)
def set_x_axis_font_size(self, size: int) -> None:
def set_axis_tick_font_size(self, size: int) -> None:
font = QFont()
font.setPixelSize(size)
x_axis = self.plot.getAxis("bottom")
x_axis.setStyle(tickFont=font)

all_axes = self.plot.plotItem.getAxes()
for axis in all_axes:
axis.setStyle(tickFont=font)

@Slot(object)
def set_time_axis_range(self, raw_range: tuple[QDateTime, QDateTime] = (None, None)) -> None:
Expand Down