ccu.fancyplots._gui.mechanism

GUI elements for defining reaction mechanisms.

Specifically, this module defines the StepPanel, PathPanel, and MechanismSection classes.

class ccu.fancyplots._gui.mechanism.MechanismSection(parent: FancyPlotsGUI, *args, **kwargs)[source]

Bases: Labelframe, UpdatableFrame

GUI element for specifying mechanism free energies.

Variables:
  • parent – The running root.FancyPlotsGUI instance.

  • step_panel – A ttk.LabelFrame for defining the names of mechanism steps.

  • path_panel – A ttk.LabelFrame for defining the number of pathways.

  • gibbs_button – A ttk.Button for launching the EnergyWindow.

Create a subpanel for defining a reaction mechanism.

Parameters:
  • parent – The containing mechanism.MechanismSection.

  • *args – Positional arguments for ttk.LabelFrame.

  • **kwargs – Keyword arguments for ttk.LabelFrame.

_abc_impl = <_abc._abc_data object>
_is_protocol = False
_organize() None[source]

Update the values in the step and path panels.

launch_energy_window() None[source]

Launch a window for defining mechanism free energies.

property mechanism: list[str]

The names used to define mechanism steps.

property npaths: int

The number of pathways.

update_data() Literal[True][source]

Update the free energy diagram (meta)data.

Note that this method returns True in order for validation via tkinter to permit the value within StepPanel.entry to change.

update_frames() None[source]

Update the path and step panels.

class ccu.fancyplots._gui.mechanism.PathPanel(parent: MechanismSection, *args, **kwargs)[source]

Bases: Labelframe

Define the number of pathways.

Variables:

Create a subpanel for defining the number of mechanism pathways.

Parameters:
  • parent – The containing mechanism.MechanismSection.

  • *args – Positional arguments for ttk.LabelFrame.

  • **kwargs – Keyword arguments for ttk.LabelFrame.

property npaths: int

The number of pathways.

update_data() None[source]

Update the mechanism data.

Returns True so as to ensure that tkinter accepts the new input.

Note

No validation is performed on the mechanism steps.

class ccu.fancyplots._gui.mechanism.StepPanel(parent: MechanismSection, *args, **kwargs)[source]

Bases: Labelframe

Define the name and number of mechanism steps.

Note that step names are stripped of all surrounding whitespace.

Variables:

Create a subpanel for defining the mechanism steps.

Parameters:
  • parent – The containing mechanism.MechanismSection.

  • *args – Positional arguments for ttk.LabelFrame.

  • **kwargs – Keyword arguments for ttk.LabelFrame.

property mechanism: list[str]

The names used to define mechanism steps.

update_data() Literal[True][source]

Update the mechanism data.

Returns True so as to ensure that tkinter accepts the new input.

Note

No validation is performed on the mechanism steps.