gui module

Implement the graphical user interface for the Logic Simulator.

Used in the Logic Simulator project to enable the user to run the simulation or adjust the network properties.

class gui.Gui(*args: Any, **kwargs: Any)

Bases: wx.Frame

Configure the main window and all the widgets.

This class provides a graphical user interface for the Logic Simulator and enables the user to change the circuit properties and run simulations.

Parameters
  • title (str) – Title of the window.

  • path (Union[None, str]) – The path to the loaded file, is None if no file is loaded

  • names (Names) –

  • devices (Devices) –

  • network (Network) –

  • monitors (Monitors) –

handle_cont_btn_click(event)

Handle event when user presses continue button.

handle_file_load(path: str)

Handle file load, parse and build the network.

handle_run_btn_click(event)

Handle event when user presses run button.

run_network(cycles)

Run the network for the specified number of simulation cycles.

Return True if successful.