Set uifigure defaults doesn't work the same as figures

5 views (last 30 days)
with figures I can set the defaults using
set(groot, 'defaultFigurePosition', [1 1 1 1])
but I can not do the same for uifigures
set(groot, 'defaultuiFigurePosition', [1 1 1 1])
Error using matlab.ui.Root/set
uifigureposition is an invalid class name
This is also an issue with the new components i want to use uifigures for, like uilabel, or uieditfield.
Is there something i am doing wrong with the new uifigures when trying to set the defaults?

Accepted Answer

Steve Zissou
Steve Zissou on 23 Jan 2023
In Summary:
Both UIFigures and Figures are matlab.ui.Figure and so both use the defaults defined similar to
set(groot, 'defaultFigureUnits', 'normalized')
However there seems to be a bug and UIFigures are not currently use these defaults and a ticket has been submitted.
The new ui comonents like uilabel (which is a matlab.ui.label) do not have a units property like the uicontrol('style', 'text') do.
When setting defaults, use
class(uilabel)
class(uifigure)
to figure out the class name for use in the set(groot) command

More Answers (1)

Matt Butts
Matt Butts on 18 Jan 2023
Moved: Adam Danz on 18 Jan 2023
I believe both figure and uifigure use the same default. Are you seeing thet uifigures are not utilizing your default that you set in DefaultFigurePosition?
  7 Comments
Adam Danz
Adam Danz on 18 Jan 2023
matlab.ui.control.Label objects do not have a public units property. This prevents you from setting uilabel units.
Steve Zissou
Steve Zissou on 18 Jan 2023
Ah okay, yes i see that matlab.ui.control.Label does not have a public units property. However it does have a public position property, and i get the same error when trying to set its default. Should this be possible?
set(groot, 'defaultLabelPosition', [1 1 1 1])
Error using matlab.ui.Root/set
labelposition is an invalid class name

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!