Skip to content

results_periodic.py


Constants

Name Value
ELEMENT_CATEGORY_COLORS {'alkali': '#FF7043', 'alkaline': '#BA68C8', 'transition'…

Classes

CompactAnimatedButton (extends QPushButton)

Custom animated button for periodic table elements with isotope selection support.

Method Signature Description
__init__ (self, parent=None) Initialize the compact animated button.
set_isotope_display (self, display) Set the isotope display panel for this button.
paintEvent (self, event) Custom paint event to draw gradient highlight overlay.
set_highlight (self, percentage, accumulate=True) Set or accumulate highlight percentage for isotope abundance visualization.
remove_highlight (self, percentage) Remove a specific abundance percentage from the highlight.
clear_highlights (self) Clear all highlight percentages and reset visual state.
mousePressEvent (self, event) Handle mouse press events for isotope selection.

CompactSelectableIsotopeLabel (extends QLabel)

Selectable label widget for individual isotopes with visual feedback.

Method Signature Description
__init__ (self, text, isotope_mass, is_available=False, parent=None) Initialize the selectable isotope label.
setSelected (self, selected) Set the selection state of this isotope label.
updateStyle (self)
mousePressEvent (self, event) Handle mouse press events to emit clicked signal.
enterEvent (self, event)
leaveEvent (self, event) Handle mouse leave event to restore normal styling.

CompactIsotopeDisplay (extends QFrame)

Popup panel displaying available isotopes for an element with selection capability.

Method Signature Description
__init__ (self, parent=None) Initialize the isotope display panel.
_disconnect_theme (self)
_safe_apply_theme (self)
_apply_theme_style (self)
get_selected_isotopes_data (self) Get list of selected isotopes as tuples.
load_selected_isotopes (self, isotopes_data)
set_isotopes (self, element, available_element_masses=None) Populate the display with isotopes for the given element.
set_parent_button (self, button) Set the parent button that owns this isotope display.
toggle_at_position (self, pos) Toggle display visibility at the specified position.
hide_with_animation (self) Hide the display with a collapsing animation.
_on_hide_finished (self) Callback when hide animation completes.
show_at_position (self, pos) Show the display at the specified position with an expanding animation.
mousePressEvent (self, event) Handle mouse press events to close display when clicking outside.
get_selected_isotopes (self) Get list of currently selected isotopes.
select_next_available_isotope (self) Progressive isotope selection - add the next available isotope.
select_all_available_isotopes (self) Select all available isotopes for this element at once.
select_preferred_isotope (self, mass) Select a specific isotope by mass, clearing other selections.
on_isotope_clicked (self, label, isotope_mass) Handle isotope label click events to toggle selection.
clear_selection (self) Clear all isotope selections for this element.

CompactPeriodicTableWidget (extends QWidget)

Interactive periodic table widget with isotope selection capabilities.

Method Signature Description
__init__ (self, parent=None) Initialize the periodic table widget.
initUI (self)
_pt_disconnect_theme (self)
_safe_apply_theme_bg (self)
_apply_theme_bg (self)
create_element_button (self, element) Create an element button with isotope display and styling.
on_element_button_clicked (self, element) Handle element button click event.
on_isotope_selected (self, element, mass, abundance) Handle isotope selection event.
get_element_style (self, element, highlighted=False) Get CSS stylesheet for element button based on category and state.
update_available_masses (self, available_element_masses) Update which elements are available based on detected element-mass pairs.
_update_by_element_mass_pairs (self, element_mass_pairs) Update availability based on exact element-mass pairs.
_update_by_mass_tolerance (self, available_masses) Update availability based on mass tolerance for backward compatibility.
get_element_by_symbol (self, symbol) Get element data dictionary by symbol.
close_all_isotope_displays_except (self, current_button) Close all isotope display panels except the one for the current button.
clear_all_highlights (self) Clear highlighting from all element buttons.
clear_all_selections (self) Clear all isotope selections from all elements.
get_selected_isotopes (self) Get all currently selected isotopes from all elements.
get_elements (self) Get the periodic table elements data.

IsotopeChipSelector (extends QWidget)

Compact chip-based isotope selector.

Method Signature Description
__init__ (self, parent=None)
_chip_disconnect_theme (self)
_safe_restyle (self)
_setup (self)
_restyle_all (self)
_style_chip (self, sym, mass)
set_available_isotopes (self, element_data_list, isotope_pairs) isotope_pairs: list of (symbol, mass) tuples
_rebuild_chips (self)
_toggle (self, sym, mass)
set_selected (self, isotope_list) isotope_list: list of {'symbol':..., 'mass':...} dicts
get_selected (self) Returns list of (symbol, mass) tuples
select_all (self)
clear_selection (self)