![]() |
Q2NSViz 0.1.0
Q2NS trace visualizer
|
Owns the simulation clock, playback timer, and all time-navigation logic. More...
Public Member Functions | |
| connect_signals (self) | |
Wire all ControlPanel signals to the appropriate playback methods. | |
| setup_for_file (self) | |
| Reset to time zero and configure the slider for a newly loaded file. | |
| reset (self) | |
| Stop playback, return to t = 0, and restore the slider to its default range. | |
| start (self) | |
| Begin timer-driven playback. | |
| pause (self) | |
| Suspend timer-driven playback. | |
| step_forward (self) | |
| Advance to the next keyframe and invoke the update callback. | |
| step_backward (self) | |
| Retreat to the previous keyframe and invoke the update callback. | |
| jump_to_start (self) | |
| Jump to t = 0 and invoke the update callback. | |
| jump_to_end (self) | |
| Jump to the last event timestamp and invoke the update callback. | |
Public Attributes | |
| state_manager | |
| control_panel | |
| start | |
| pause | |
| step_forward | |
| step_backward | |
| current_sim_time_ns | |
| is_playing | |
Owns the simulation clock, playback timer, and all time-navigation logic.
Decoupled from QuantumVisualizerWindow so that playback concerns are separated from widget construction. The controller reads state_manager.time_array and state_manager.t_max and drives the on_update callback after every time advance.
Call connect_signals() once after construction to wire ControlPanel signals, and setup_for_file() each time a new trace is loaded.
| state_manager | Shared SimulationStateManager instance. |
| control_panel | ControlPanel providing slider, speed, and loop widgets. |
| on_update | Callback invoked (with no arguments) after every time step. |
| q2nsviz.ui.window.PlaybackController.connect_signals | ( | self | ) |
Wire all ControlPanel signals to the appropriate playback methods.
Definition at line 104 of file window.py.
References q2nsviz.ui.window.PlaybackController.control_panel, and q2nsviz.ui.window.QuantumVisualizerWindow.control_panel.
| q2nsviz.ui.window.PlaybackController.jump_to_end | ( | self | ) |
Jump to the last event timestamp and invoke the update callback.
Definition at line 183 of file window.py.
References q2nsviz.ui.window.PlaybackController._on_update, q2nsviz.ui.window.PlaybackController._sync_slider(), q2nsviz.ui.window.PlaybackController.control_panel, q2nsviz.ui.window.QuantumVisualizerWindow.control_panel, q2nsviz.ui.window.PlaybackController.current_sim_time_ns, q2nsviz.ui.panels.ControlPanel.is_playing, q2nsviz.ui.window.PlaybackController.is_playing, q2nsviz.ui.window.PlaybackController.pause, q2nsviz.ui.window.PlaybackController.pause(), q2nsviz.ui.canvas.NetworkCanvas.state_manager, q2nsviz.ui.window.PlaybackController.state_manager, and q2nsviz.ui.window.QuantumVisualizerWindow.state_manager.
| q2nsviz.ui.window.PlaybackController.jump_to_start | ( | self | ) |
Jump to t = 0 and invoke the update callback.
Definition at line 175 of file window.py.
References q2nsviz.ui.window.PlaybackController._on_update, q2nsviz.ui.window.PlaybackController._sync_slider(), q2nsviz.ui.window.PlaybackController.current_sim_time_ns, q2nsviz.ui.canvas.NetworkCanvas.state_manager, q2nsviz.ui.window.PlaybackController.state_manager, and q2nsviz.ui.window.QuantumVisualizerWindow.state_manager.
| q2nsviz.ui.window.PlaybackController.pause | ( | self | ) |
Suspend timer-driven playback.
Definition at line 149 of file window.py.
References q2nsviz.ui.window.PlaybackController._timer, q2nsviz.ui.panels.ControlPanel.is_playing, and q2nsviz.ui.window.PlaybackController.is_playing.
Referenced by q2nsviz.ui.window.PlaybackController.jump_to_end().
| q2nsviz.ui.window.PlaybackController.reset | ( | self | ) |
Stop playback, return to t = 0, and restore the slider to its default range.
Definition at line 131 of file window.py.
References q2nsviz.ui.window.PlaybackController._timer, q2nsviz.ui.window.PlaybackController.control_panel, q2nsviz.ui.window.QuantumVisualizerWindow.control_panel, q2nsviz.ui.window.PlaybackController.current_sim_time_ns, q2nsviz.ui.panels.ControlPanel.is_playing, and q2nsviz.ui.window.PlaybackController.is_playing.
Referenced by q2nsviz.logic.SimulationStateManager.load_events().
| q2nsviz.ui.window.PlaybackController.setup_for_file | ( | self | ) |
| q2nsviz.ui.window.PlaybackController.start | ( | self | ) |
Begin timer-driven playback.
Definition at line 144 of file window.py.
References q2nsviz.ui.window.PlaybackController._timer, q2nsviz.ui.panels.ControlPanel.is_playing, q2nsviz.ui.window.PlaybackController.is_playing, and q2nsviz.ui.window.PlaybackController.start.
| q2nsviz.ui.window.PlaybackController.step_backward | ( | self | ) |
Retreat to the previous keyframe and invoke the update callback.
Definition at line 165 of file window.py.
References q2nsviz.ui.window.PlaybackController._on_update, q2nsviz.ui.window.PlaybackController._sync_slider(), q2nsviz.ui.window.PlaybackController.current_sim_time_ns, q2nsviz.ui.canvas.NetworkCanvas.state_manager, q2nsviz.ui.window.PlaybackController.state_manager, and q2nsviz.ui.window.QuantumVisualizerWindow.state_manager.
| q2nsviz.ui.window.PlaybackController.step_forward | ( | self | ) |
Advance to the next keyframe and invoke the update callback.
Definition at line 154 of file window.py.
References q2nsviz.ui.window.PlaybackController._on_update, q2nsviz.ui.window.PlaybackController._sync_slider(), q2nsviz.ui.window.PlaybackController.current_sim_time_ns, q2nsviz.ui.canvas.NetworkCanvas.state_manager, q2nsviz.ui.window.PlaybackController.state_manager, and q2nsviz.ui.window.QuantumVisualizerWindow.state_manager.
| q2nsviz.ui.window.PlaybackController.control_panel |
Definition at line 96 of file window.py.
Referenced by q2nsviz.ui.window.QuantumVisualizerWindow.apply_theme(), q2nsviz.ui.window.PlaybackController.connect_signals(), q2nsviz.ui.window.PlaybackController.jump_to_end(), q2nsviz.ui.window.QuantumVisualizerWindow.load_file(), and q2nsviz.ui.window.PlaybackController.reset().
| q2nsviz.ui.window.PlaybackController.current_sim_time_ns |
Definition at line 121 of file window.py.
Referenced by q2nsviz.ui.window.PlaybackController.jump_to_end(), q2nsviz.ui.window.PlaybackController.jump_to_start(), q2nsviz.ui.window.PlaybackController.reset(), q2nsviz.ui.window.PlaybackController.step_backward(), and q2nsviz.ui.window.PlaybackController.step_forward().
| q2nsviz.ui.window.PlaybackController.is_playing |
| q2nsviz.ui.window.PlaybackController.pause |
Definition at line 108 of file window.py.
Referenced by q2nsviz.ui.window.PlaybackController.jump_to_end().
| q2nsviz.ui.window.PlaybackController.start |
Definition at line 107 of file window.py.
Referenced by q2nsviz.ui.window.PlaybackController.start().
| q2nsviz.ui.window.PlaybackController.state_manager |
Definition at line 95 of file window.py.
Referenced by q2nsviz.ui.window.PlaybackController.jump_to_end(), q2nsviz.ui.window.PlaybackController.jump_to_start(), q2nsviz.ui.window.QuantumVisualizerWindow.load_file(), q2nsviz.ui.canvas.NetworkCanvas.paintEvent(), q2nsviz.ui.window.PlaybackController.step_backward(), and q2nsviz.ui.window.PlaybackController.step_forward().