I tested it, and I see it does work whilst a tool is active. This is good news!
I probably saw it failing (in the past) when trying to change tooltip outside of an active tool. But testing this also now works, although I swear (scout’s honor) that this was failing in the past at some version.
(I’ve discovered what the confusion is, … see below.)
Actually we both are confused, because the API documentation is poor, and does not explain well what happens when you use one of tooltip or status_bar_text and not the other. When only one is used, SketchUp makes assumptions that are not described in the documentation. This has likely led to the confusion.
If you use status_bar_text that is set before or after the command is added to the toolbar, it will always override the tooltip property and you cannot thereafter dynamically change the tooltip description. This is what led me to believe that tooltips became static from 2013 onward. (In fact, it is the implementation that has issues.)
Anytime you set the status_bar_text property it will override the tooltip property until the status_bar_text property is set to an empty string.
If you do not use status_bar_text but only tooltip you can dynamically change tooltip description text to your heart’s content, but you can never have any status bar text on v2013. (This I would characterize as a bug, as it is unwanted behavior.) This must have been fixed (although I cannot find it listed as being done in the API release notes,) as it does not occur on v2014 or newer, the tooltip property will appear on the status bar, IF status_bar_text property is not used.
So the two properties are intertwined in a weird way that is not intuitive.
Tooltip_Test.rb (1.5 KB)
It is also weird that the tool title is taken from the initial setting of the tooltip property, instead of the menu_text property setting. (This then requires a double call to the tooltip=()
method. One before adding the command to the toolbar, and one afterward.) The value set before is “set in stone” as the tooltip title when the command object is first added to the toolbar, but thereafter changes to the tooltip property will be used and rendered to the tooltip description area (instead of status_bar_text.)