(self)
| 242 | self._mark_dirty() |
| 243 | |
| 244 | def _render(self) -> None: |
| 245 | from .latex_label import render_latex_raw |
| 246 | from .parameter_item import ParameterItem |
| 247 | params = self._current_params() |
| 248 | code = ParameterItem.build_latex(params) |
| 249 | preamble = self._preamble_edit.text() |
| 250 | self._prev_btn.setEnabled(False) |
| 251 | self._status_lbl.setText("Rendering…") |
| 252 | QApplication.processEvents() |
| 253 | svg_bytes, error = render_latex_raw(code, preamble) |
| 254 | self._prev_btn.setEnabled(True) |
| 255 | if svg_bytes: |
| 256 | self._svg_bytes = svg_bytes |
| 257 | self._status_lbl.setText("OK") |
| 258 | self._show_svg(svg_bytes) |
| 259 | self._compute_natural_size(svg_bytes) |
| 260 | self._update_size_labels() |
| 261 | self._ok_btn.setEnabled(True) |
| 262 | else: |
| 263 | self._svg_bytes = None |
| 264 | self._status_lbl.setText(f"Error: {error}") |
| 265 | self._preview_lbl.setText("(render failed)") |
| 266 | self._ok_btn.setEnabled(False) |
| 267 | |
| 268 | def _show_svg(self, svg_bytes: bytes) -> None: |
| 269 | from PySide6.QtSvg import QSvgRenderer |
nothing calls this directly
no test coverage detected