Partial fix for plot title not updating when plot is open #36839
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of work
I think this was introduced with some combination of #36393 and mpl updating. If you never set up the call back on the title then it works, but I also had to alter the function to update the axes title (called after changing the plot title in the plot list) which isn't affected by the call back at all.
This PR introduces a couple of
draw_idle()
calls to try and keep the title rendering up to date. It also adds an override ofset_title
in theMantidAxes
class so that it copies the current font properties to the new text.The fix is partial because while the text updates, the font properties are not updated until the title is set again (you can even just double-click the title and click okay).
Summary of work
Some (potential useful) other things I found / tried
get_window_title()
and just hard-coding the title as"ws-1"
solve the problem, strangely. I tried putting the qt function calls inget_window_title
andset_window_title
on their own thread usingQAppThreadCall
but that didn't produce any different results. This makes me think there is some underlying thread issue, possibly also responsible for plotSpectrum() hang #36727.Axes.set_title
, two calls toupdate()
are made, first setting the text and default font properties, second setting any specified font properties (i.efontsize
).update()
is the function which calls ends up calling the callbacks. I thought if I could notice font property changes in my call back as well as text changes, then I could force adraw_idle
for those too. I could never quite get this to work; it began more and more to feel like something I shouldn't be having to do. The two separate calls would point quite nicely to why this fix is only a partial one, with the text updating but not the font properties.Fixes #36771
To test:
This does not require release notes because it was introduced during 6.9 development.
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.