diff --git a/b_asic/gui_utils/plot_window.py b/b_asic/gui_utils/plot_window.py index 77babe1f7e732386b199581507e1ee88c50b5645..44a673129849f830a45e4beebc70e21e894d881f 100644 --- a/b_asic/gui_utils/plot_window.py +++ b/b_asic/gui_utils/plot_window.py @@ -100,8 +100,13 @@ class PlotWindow(QDialog): self._plot_axes = self._plot_fig.add_subplot(111) self._plot_axes.xaxis.set_major_locator(MaxNLocator(integer=True)) + ordered_for_plotting = {} + ordered_for_plotting.update(sim_res_others) + ordered_for_plotting.update(sim_res_delays) + ordered_for_plotting.update(sim_res_ins) + ordered_for_plotting.update(sim_res_outs) self._lines = {} - for key in sim_res_others | sim_res_delays | sim_res_ins | sim_res_outs: + for key, result in ordered_for_plotting.items(): line = self._plot_axes.plot(sim_result[key], label=key) self._lines[key] = line[0] @@ -127,7 +132,12 @@ class PlotWindow(QDialog): self.checklist.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) self.checklist.itemChanged.connect(self._item_change) listitems = {} - for key in sim_res_ins | sim_res_outs | sim_res_delays | sim_res_others: + ordered_for_checklist = {} + ordered_for_checklist.update(sim_res_ins) + ordered_for_checklist.update(sim_res_outs) + ordered_for_checklist.update(sim_res_delays) + ordered_for_checklist.update(sim_res_others) + for key in ordered_for_checklist: listitem = QListWidgetItem(key) listitems[key] = listitem self.checklist.addItem(listitem) diff --git a/test/test_simulation_gui.py b/test/test_simulation_gui.py new file mode 100644 index 0000000000000000000000000000000000000000..753f093cb802f7fbf0bd759796435094ddc483bb --- /dev/null +++ b/test/test_simulation_gui.py @@ -0,0 +1,11 @@ +import pytest + +try: + from b_asic.gui_utils.plot_window import PlotWindow +except ImportError: + pytestmark = pytest.mark.skip("Qt not setup") + + +def test_start(qtbot): + widget = PlotWindow({}) + qtbot.addWidget(widget)