Opened 17 months ago
Closed 17 months ago
#15449 closed defect (fixed)
Spurious execution for solvent selectors
| Reported by: | Tony Schaefer | Owned by: | Eric Pettersen |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | UI | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.19045
ChimeraX Version: 1.8rc202405150320 (2024-05-15 03:20:26 UTC)
Description
I'm not 100% sure this is a bug because I don't have much experience with adding menu options. I'm working on adding some selectors for common solvents to the select menu, but when I click on the menu entry it seems to trigger two selects (e.g. `select TMSCN` and `select tmscn`). The first is just the text on the menu action, and the second is the lowercase text of the menu action. I pretty much copy-pasted the code I wrote to add the substituent selectors, but those only trigger one select (exact same text that appears on the menu).
For reference, this is the code I use to add substitents to the menu
```
add_submenu = session.ui.main_window.add_select_submenu
add_selector = session.ui.main_window.add_menu_selector
substituent_menu = add_submenu(['Che&mistry'], 'Substituents')
for sub in Substituent.list():
if sub in ELEMENTS:
continue
if not sub[0].isalpha():
continue
if len(sub) > 1 and any(not (c.isalnum() or c in "+-") for c in sub[1:]):
continue
add_selector(substituent_menu, sub)
```
and this is the code I'm trying to use to add these solvents
```
solvent_menu = add_submenu(['&Structure'], 'Solvents')
for solvent in Geometry.list_solvents():
if solvent in ELEMENTS:
continue
if not solvent[0].isalpha():
continue
if len(solvent) > 1 and any(not (c.isalnum() or c in "+-") for c in solvent[1:]):
continue
add_selector(solvent_menu, solvent)
```
attached are screen shots of select menu options for substituents and solvents
Log:
Startup Messages
---
notes | available bundle cache has not been initialized yet
Database-fetch provider 'redo' in bundle Map specified unknown data format
'MTZ'
['File'] Open DICOM Folder... <function create_menu_entry.<locals>.<lambda> at
0x0000015F0326DB20>
['File'] &Fetch By ID... <function create_menu_entry.<locals>.<lambda> at
0x0000015F0326DC60>
['File'] &Open... <function create_menu_entry.<locals>.<lambda> at
0x0000015F0326DD00>
['File'] &Save... <function create_menu_entry.<locals>.<lambda> at
0x0000015F0326DDA0>
['Che&mistry'] Substituents <PyQt6.QtWidgets.QMenu object at
0x0000015F032775B0>
insertion_point None C6F5
insertion_point None p-F-Ph
insertion_point None PtBu2
insertion_point None SMe
insertion_point None test
insertion_point None tri-iPr-Ph
insertion_point None Ad
insertion_point None BF2
insertion_point None CCH
insertion_point None CF3
insertion_point None CH2Cl
insertion_point None CH2F
insertion_point None CH2OH
insertion_point None CH3
insertion_point None CHCH2
insertion_point None CHCl2
insertion_point None CHF2
insertion_point None CHO
insertion_point None CN
insertion_point None COCH3
insertion_point None CONH2
insertion_point None COOCH3
insertion_point None COOH
insertion_point None Cy
insertion_point None Et
insertion_point None guanidino
insertion_point None iPr
insertion_point None Me
insertion_point None Mes
insertion_point None NH2
insertion_point None NHCH3
insertion_point None NHOH
insertion_point None NO
insertion_point None NO2
insertion_point None OCF3
insertion_point None OH
insertion_point None OMe
insertion_point None OPO3H2
insertion_point None Ph
insertion_point None PO3H2
insertion_point None SCH3
insertion_point None SH
insertion_point None SiF3
insertion_point None SiH3
insertion_point None SuperMes
insertion_point None tBu
['&Structure'] Solvents <PyQt6.QtWidgets.QMenu object at 0x0000015F08D91120>
insertion_point None TMSCN
insertion_point None acetone
insertion_point None acetonitrile
insertion_point None benzene
insertion_point None CCl4
insertion_point None chloroform
insertion_point None tBuOH
insertion_point None water
[] &Structure <PyQt6.QtWidgets.QMenu object at 0x0000015F08D911B0>
['Che&mistry'] Shape <PyQt6.QtWidgets.QMenu object at 0x0000015F08D91A20>
insertion_point None linear
insertion_point None bent
insertion_point None planar
insertion_point None t-shaped
insertion_point None trigonal planar
insertion_point None tetrahedral
insertion_point None sawhorse
insertion_point None seesaw
insertion_point None square planar
insertion_point None trigonal pyramidal
insertion_point None trigonal bipyramidal
insertion_point None square pyramidal
insertion_point None pentagonal
insertion_point None octahedral
insertion_point None hexagonal
insertion_point None trigonal prismatic
insertion_point None pentagonal pyramidal
insertion_point None capped octahedral
insertion_point None capped trigonal prismatic
insertion_point None heptagonal
insertion_point None hexagonal pyramidal
insertion_point None pentagonal bipyramidal
insertion_point None biaugmented trigonal prismatic
insertion_point None cubic
insertion_point None elongated trigonal bipyramidal
insertion_point None hexagonal bipyramidal
insertion_point None heptagonal pyramidal
insertion_point None octagonal
insertion_point None square antiprismatic
insertion_point None trigonal dodecahedral
insertion_point None capped cube
insertion_point None capped square antiprismatic
insertion_point None enneagonal
insertion_point None hula-hoop
insertion_point None tridiminished icosahedral
insertion_point None muffin
insertion_point None octagonal pyramidal
insertion_point None tricapped trigonal prismatic
[] &Chains <PyQt6.QtWidgets.QMenu object at 0x0000015F08D93370>
['Che&mistry'] &Element <PyQt6.QtWidgets.QMenu object at 0x0000015F08D936D0>
['Che&mistry', '&Element'] Other <PyQt6.QtWidgets.QMenu object at
0x0000015F08D93AC0>
['Che&mistry', '&Element', 'Other'] Ac-Be <PyQt6.QtWidgets.QMenu object at
0x0000015F08D93B50>
['Che&mistry', '&Element', 'Other'] Bh-Cm <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB0280>
['Che&mistry', '&Element', 'Other'] Cn-Es <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB0940>
['Che&mistry', '&Element', 'Other'] Eu-H <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB0F70>
['Che&mistry', '&Element', 'Other'] He-Kr <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB15A0>
['Che&mistry', '&Element', 'Other'] La-Na <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB1BD0>
['Che&mistry', '&Element', 'Other'] Nb-Pa <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB2290>
['Che&mistry', '&Element', 'Other'] Pb-Re <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB28C0>
['Che&mistry', '&Element', 'Other'] Rf-Sg <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB2EF0>
['Che&mistry', '&Element', 'Other'] Si-Tl <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB3520>
['Che&mistry', '&Element', 'Other'] Tm-Zr <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB3BE0>
['Che&mistry'] &IDATM Type <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB81F0>
[] &Residues <PyQt6.QtWidgets.QMenu object at 0x0000015F08DB97E0>
[] &Structure <PyQt6.QtWidgets.QMenu object at 0x0000015F08D911B0>
['&Structure'] &Secondary Structure <PyQt6.QtWidgets.QMenu object at
0x0000015F08DB9AB0>
['Help'] Report a Bug <function
add_help_menu_entry.<locals>.main_window_created.<locals>.<lambda> at
0x0000015F08DC0D60>
['Che&mistry'] &Functional Group <PyQt6.QtWidgets.QMenu object at
0x0000015F08DBA7A0>
insertion_point None Acyl Halide
insertion_point None Aldehyde
insertion_point None Amide
['Che&mistry', '&Functional Group'] &Amine <PyQt6.QtWidgets.QMenu object at
0x0000015F08DBA9E0>
insertion_point None All
insertion_point None Aliphatic
insertion_point None Aliphatic Primary
insertion_point None Aliphatic Secondary
insertion_point None Aliphatic Tertiary
insertion_point None Aliphatic Quaternary
insertion_point None Aromatic
insertion_point None Aromatic Primary
insertion_point None Aromatic Secondary
insertion_point None Aromatic Tertiary
insertion_point None Aromatic Quaternary
insertion_point None Aromatic Ring
insertion_point None Carbonyl
insertion_point None Carboxylate
insertion_point None Disulfide
insertion_point None Ester
insertion_point None Ether O
insertion_point None Halide
insertion_point None Hydroxyl
insertion_point None Imine
insertion_point None Ketone
insertion_point None Methyl
insertion_point None Nitrile
insertion_point None Nitro
['Che&mistry', '&Functional Group'] &Nucleoside Base <PyQt6.QtWidgets.QMenu
object at 0x0000015F08DBB7F0>
insertion_point None Adenine
insertion_point None Cytosine
insertion_point None Guanine
insertion_point None Thymine
insertion_point None Uracil
insertion_point None All the Above
insertion_point None Phosphate
insertion_point None Phosphinyl
insertion_point None Phosphonate
insertion_point None Purines
insertion_point None Pyrimidines
insertion_point None Ribose
insertion_point None Sulfate
insertion_point None Sulfonamide
insertion_point None Sulfonate
insertion_point None Sulfone
insertion_point None Sulfonyl
insertion_point None Thiocarbonyl
insertion_point None Thioether
insertion_point None Thiol
[] Che&mistry <PyQt6.QtWidgets.QMenu object at 0x0000015F03277640>
insertion_point None Protein
insertion_point None Nucleic Acid
> cd C:\Users\normn/Desktop
Current working directory is: C:\Users\normn\Desktop
> graphics selection width 2
UCSF ChimeraX version: 1.8rc202405150320 (2024-05-15)
© 2016-2024 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> ui tool show Shell
0.00s - Debugger warning: It seems that frozen modules are being used, which
may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to
disable this validation.
OBJECT QAction::unnamed
SIGNALS OUT
signal: destroyed(QObject*)
\--> PyQtSlotProxy::unnamed disable()
signal: triggered(bool)
\--> PyQtSlotProxy::unnamed unislot()
\--> QMenu::Substituents _q_actionTriggered()
signal: hovered()
\--> QMenu::Substituents _q_actionHovered()
SIGNALS IN
<None>
OBJECT QAction::unnamed
SIGNALS OUT
signal: destroyed(QObject*)
\--> PyQtSlotProxy::unnamed disable()
signal: triggered(bool)
\--> PyQtSlotProxy::unnamed unislot()
\--> QMenu::Solvents _q_actionTriggered()
signal: hovered()
\--> QMenu::Solvents _q_actionHovered()
SIGNALS IN
<None>
> open C:\Users\normn\Downloads\angle_data\traj_65710259.xyz format xyz
opened traj_65710259.xyz as an XYZ coordinate file movie
> select TMSCN
2250 atoms, 2100 bonds, 1 residue, 1 model selected
> select tmscn
Expected an objects specifier or a keyword
> select clear
> select CN
300 atoms, 150 bonds, 1 residue, 1 model selected
> ui tool show Shell
OBJECT QAction::unnamed
SIGNALS OUT
signal: destroyed(QObject*)
\--> PyQtMonitor::unnamed on_destroyed(QObject*)
signal: changed()
<functor or function pointer>
signal: triggered(bool)
\--> QMenu::Select _q_actionTriggered()
signal: hovered()
\--> QMenu::Select _q_actionHovered()
SIGNALS IN
<\-- QAction::unnamed <unknown>
OpenGL version: 3.3.0 NVIDIA 551.61
OpenGL renderer: NVIDIA GeForce RTX 2070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation
Python: 3.11.4
Locale: en_US.cp1252
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.3
Qt platform: windows
Installed Packages:
alabaster: 0.7.16
appdirs: 1.4.4
argcomplete: 3.3.0
asttokens: 2.4.1
attrs: 23.2.0
Babel: 2.15.0
basis-set-exchange: 0.10
beautifulsoup4: 4.12.3
blockdiag: 3.0.0
blosc2: 2.0.0
build: 1.2.1
certifi: 2024.2.2
cftime: 1.6.3
charset-normalizer: 3.3.2
ChimeraX-AddCharge: 1.5.17
ChimeraX-AddH: 2.2.6
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.5
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.12.7
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.57
ChimeraX-AtomicLibrary: 14.0.4
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.4.6
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.12.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.4
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.4
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.2.4
ChimeraX-clix: 0.1.5
ChimeraX-ColorActions: 1.0.4
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.6
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.8rc202405150320
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.3
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2.1
ChimeraX-DiffPlot: 1.0
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.3
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-Label: 1.1.10
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.1.6
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
ChimeraX-Map: 1.2
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchMaker: 2.1.3
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.7
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.14.1
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.16
ChimeraX-ModelPanel: 1.5
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.13.4
ChimeraX-PDB: 2.7.5
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.4
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.1
ChimeraX-PubChem: 2.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.4.1
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.2
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.2
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 1.3.4
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.11.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.16.4
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.39
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.1
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.4
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.2
comtypes: 1.4.1
contourpy: 1.2.1
cxservices: 1.2.2
cycler: 0.12.1
Cython: 3.0.10
debugpy: 1.8.1
decorator: 5.1.1
docutils: 0.20.1
executing: 2.0.1
filelock: 3.13.4
fonttools: 4.51.0
funcparserlib: 2.0.0a0
glfw: 2.7.0
grako: 3.16.5
h5py: 3.11.0
html2text: 2024.2.26
idna: 3.7
ihm: 1.0
imagecodecs: 2024.1.1
imagesize: 1.4.1
ipykernel: 6.29.2
ipython: 8.21.0
ipywidgets: 8.1.2
jedi: 0.19.1
jinja2: 3.1.4
jsonschema: 4.22.0
jsonschema-specifications: 2023.12.1
jupyter-client: 8.6.0
jupyter-core: 5.7.2
jupyterlab-widgets: 3.0.10
kiwisolver: 1.4.5
line-profiler: 4.1.2
lxml: 5.2.1
lz4: 4.3.3
MarkupSafe: 2.1.5
matplotlib: 3.8.4
matplotlib-inline: 0.1.7
msgpack: 1.0.8
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.10.0
numpy: 1.26.4
openvr: 1.26.701
packaging: 24.0
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pillow: 10.3.0
pip: 24.0
pkginfo: 1.10.0
platformdirs: 4.2.2
prompt-toolkit: 3.0.43
psutil: 5.9.8
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
pygments: 2.17.2
pynmrstar: 3.3.4
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.3401
pyparsing: 3.1.2
pyproject-hooks: 1.1.0
PyQt6-commercial: 6.6.1
PyQt6-Qt6: 6.6.3
PyQt6-sip: 13.6.0
PyQt6-WebEngine-commercial: 6.6.0
PyQt6-WebEngine-Qt6: 6.6.3
python-dateutil: 2.9.0.post0
pytz: 2024.1
pywin32: 306
pyzmq: 26.0.3
qtconsole: 5.5.1
QtPy: 2.4.1
RandomWords: 0.4.0
referencing: 0.35.1
regex: 2024.5.15
requests: 2.31.0
rpds-py: 0.18.1
scipy: 1.13.0
Send2Trash: 1.8.3
SEQCROW: 1.8.9a2
setuptools: 69.5.1
sfftk-rw: 0.8.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.5
sphinx: 7.2.6
sphinx-autodoc-typehints: 2.0.1
sphinxcontrib-applehelp: 1.0.8
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.6
sphinxcontrib-htmlhelp: 2.0.5
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.7
sphinxcontrib-serializinghtml: 1.1.10
stack-data: 0.6.3
superqt: 0.6.3
tables: 3.8.0
tcia-utils: 1.5.1
tifffile: 2024.1.30
tinyarray: 1.2.4
tornado: 6.4
traitlets: 5.14.2
typing-extensions: 4.11.0
tzdata: 2024.1
Unidecode: 1.3.8
urllib3: 2.2.1
wcwidth: 0.2.13
webcolors: 1.13
wheel: 0.43.0
wheel-filename: 1.4.1
widgetsnbextension: 4.0.10
WMI: 1.5.1
File attachment: select menus.zip
Attachments (1)
Change History (6)
by , 17 months ago
| Attachment: | select menus.zip added |
|---|
comment:1 by , 17 months ago
| Component: | Unassigned → UI |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → accepted |
| Summary: | ChimeraX bug report submission → Spurious execution for solvent selectors |
comment:3 by , 17 months ago
It happens for all the solvents in the menu. I did test moving them to
"Chemistry" instead of "Structure" and it only fires one select command. I
also found some potentially relevant code in chimerax.atomic.selectors
```
parent_menus = ["&Structure"]
select_structure_menu = mw.add_select_submenu(parent_menus[:-1],
parent_menus[-1])
...code adding stuff to the structure menu...
select_structure_menu.triggered.connect(lambda act, mw=mw:
mw.select_by_mode(sel_text_remapping.get(act.text(),
act.text()).lower().replace(' ', '-')))
```
Would the triggered signal there apply to all submenus?
Best,
Tony
On Thu, Jun 20, 2024 at 8:20 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:
>
>
comment:4 by , 17 months ago
I see. I need to modify atomic to itself use add_menu_selector so that outside additions to the Structure submenu don't get this "double selection" behavior.
comment:5 by , 17 months ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Have updated the atomic code to use add_menu_selector(). Change will be in tomorrow's daily build, and in the 1.8.1 release if we wind up making one.
Fix: https://github.com/RBVI/ChimeraX/commit/d0b58f81854cd17f29f9e4cd5be7117fcd711aab
Note:
See TracTickets
for help on using tickets.
Added by email2trac