Opened 9 years ago

Closed 8 years ago

#517 closed defect (fixed)

toolshed hide "Model Panel" does not hide model panel

Reported by: Tom Goddard Owned by: Greg Couch
Priority: major Milestone: Alpha2
Component: Tool Shed Version:
Keywords: Cc: conrad@…
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The command

toolshed hide "Model Panel"

does not hide model panel. The reason is that it tries to hide the tool instances with display_name == "Model Panel", but the display_name of the model panel instance is "Models" which is set in the ModelPanel constructor (bundles/model_panel/tool.py). Also toolshed hide Models does not work giving an error that Models is not the name of any tool.

I'm not sure what the right fix is here. Maybe the display_name (shown in the tool title bar) should be required to match the tool_name. If so then it should probably be a read-only property. But maybe we want to allow the display name to be different from the tool name. For instance the display name might include info about the data be shown (e.g. "Contacts for 5cd4" where the tool name is just Contacts). So I think the display name (title bar text) should be allowed to be different. The toolshed command should be fixed to work when the display name differs from the tool name. It might be nice if the toolshed show/hide commands could work with either the display name or the tool name, since the same tool may have multiple instances shown that have different display names, and this would allow naming and hiding exactly one instance.

Change History (2)

comment:1 by Tom Goddard, 8 years ago

Milestone: Alpha2

This still doesn't work, reported 4 months ago. Causes problems with VR demos where Model Panel needs to be hidden so that updates to model panel shown buttons when playing volume series don't slow down rendering.

A related problem is that command

toolshed list

lists tool names without spaces like

ModelPanel

and then "toolshed hide ModelPanel" gives an error saying there is no such tool. The tool names shown by "toolshed list" should of course work with "toolshed hide".

comment:2 by Conrad Huang, 8 years ago

Resolution: fixed
Status: assignedclosed

Fixed in 49ca5ec52.

The way the "toolshed show/hide" commands convert a name into a tool instance was confusing the tool instance display name, tool name, and bundle name. The new rule is to look for tool instances whose display_name matches the user input. If there are no matches, ChimeraX will look for tool instances whose tool name matches user input. If there are still no matches, ChimeraX will look for tool instances whose bundle name matches user input. If there are any matches at this point, those are the tool instances affected. If not AND the operation is "show", the user input is interpreted as a tool name and the tool is started. Otherwise, an error is reported.

Note: See TracTickets for help on using tickets.