problem with uipanel stack order

3 views (last 30 days)
Paul Mennen
Paul Mennen on 10 Oct 2019
Try this 3 liner:
a = uipanel('pos',[7 7 1 1]/8);
b = axis;
uistack(a,'bottom');
Note that the axis appears on top of the uipanel, despite explitely declaring the order to be the other way around. In older versions of matlab (before the new graphics engine) the stacking order was honored, including the uipanel objects. I can understand why this was not tested since it would be unusual to depend on the stacking order for this kind of object, but an old program of mine did depend on this. (Actually it was for children of the axis object instead of the axis itself, but essentially the same problem). I'm sure I could rewrite the program so it doesn't depend on the stacking order but it would be a lot simpler if I the axis could be moved to the top of the stacking order. I tried both renderers available and the result is the same. An axis, or any of its child objects does not appear on top of a uipanel object. Are there any hidden properties (or undocumented Java properties) of a uipanel object that will coerce them to the bottom of the stacking order?
Thanks
~Paul

Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!