App Builder uses class definitions that are not backwards compatible to 2018b. Is there a way to force it to use older class definitions?

2 views (last 30 days)
I'm building an app with Matlab 2022a that needs to be backwards compatible at least back to 2018b. In the uneditable section of the code that sets up the appearance of the app, there is a section that defines the object "app.GridLayout" which is an instance of the "matlab.ui.container.GridLayout" class. So far, so good since the class is defined in the 2018b release.
However, the uneditable code later tries to set
app.GridLayout.Scrollable = 'on'
(it is 'off' by default), and unfortunately the "Scrollable" property isn't defined in the 2018b release. This of course results in an error when I run the app with 2018b.
The thing is, I don't need the scrollable functionality. So if I could just remove that line, the property would never be referenced at all, and I think the app would work in 2018b. My issue is that the app.GridLayout object does not appear to be an object you can physically interact with in the "Design View", so there's no "Scrollable" check box I can untick to delete the line of code.
Any ideas how I could work around this?
  4 Comments
Matt J
Matt J on 12 Sep 2022
Hmmm. Well, can you copy paste the app layout from the component viewer of 2022a to the component viewer of 2018b? If so, then copy-pasting all the callbacks should be simple enough.
Rik
Rik on 13 Sep 2022
If you need to rebuild, you can also write it in code yourself.
GUIDE has an option to generate code. Does AppDesigner have something similar?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 13 Sep 2022
Edited: Matt J on 13 Sep 2022
GUIDE has an option to generate code. Does AppDesigner have something similar?
I hadn't thought so, but apparently, it does.

More Answers (0)

Categories

Find more on Develop Apps Using App Designer 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!