FigureCanvasWx/Agg fixed size#10153
FigureCanvasWx/Agg fixed size#10153DietmarSchwertberger wants to merge 5 commits intomatplotlib:masterfrom
Conversation
…Agg into separate classes NavigationController2Wx/Agg to be used separately bug fix: add missing 'import six'
…rtberger/matplotlib into BACKENDWX_FIXEDSIZE
|
Somehow re-basing to get rid of the unwanted commits failed; will re-do... |
|
@DietmarSchwertberger in general you can force-push to branches to update PR and discard commits you don't want (github PRs track a branch on your repo, not a particular commit). |
|
Thanks. I'm still struggling with git and the available frontends (I'm a GUI guy and just switching from Hg). Google did not give me a good answer. But I will check the documentation for force-push and try again tomorrow. |
|
Worst-case scenario:
|
|
I have heard good things about the github application (but have not used it). I do most of my git work through emacs + magit (which is effectively an awesome git GUI, but I recognize the issue with saying "use emacs!"). If you are on windows, everything I have heard about visualstudio + python + git has been positive. |
|
Unfortunately, it's not possible to re-open a PR after re-creating the tracked branch (isaacs/github#361) @jklymak: Thanks for the link. It's a better starting point than other documents. |
PR Summary
(sorry, it seems that I should have checked out master before creating the new branch; now the two commits from PR #10145 are visible as well)
The embedded FigureCanvasWx currently can't be set to a fixed size.
When it is added to a sizer with
proportion=0andwx.EXPANDnot set, then it will not expand over it's defined size, as expected. But when the visible area is reduced below the defined size, it will re-scale itself to fit the visible area because 'self.GetClientSize()' is used to read the size.This could happen if the window size is reduced or a splitter is used.
When placed on a scrolled window, the problem does not occur, as then the VirtualSize will not change, even when the widget is not 100% visible.
This is not a big issue as the behaviour can easily be modified in a derived class. It would be nice though, to have the correct behaviour by default.
See attached file embedding_in_wx4_fixed.py for an example. With the modification from the pull request the size will stay fixed.
The only change is the
sizer.Addcall withproportion=0and withoutEXPAND:embedding_in_wx4_fixed.py.txt
I could commit the example file, but that's probably not worth it.
If there is consensus to change the behaviour, then I would ask Robin to review the implementation to check whether this is the best way to check for fixed size.
If the canvas is directly used as single child of a frame (i.e. instead of a Panel), the behaviour is not modified by the pull request. This could be changed, but I don't see a use case for this.
Btw.: I just noticed that the
embedding_in_wx4.pyexample includes a EVT_PAINT handler. I don't think that this is required, as the plot is static.PR Checklist