Allows for the component order to be changed of a .mlapp file. Callback order may also be changed.
Load your app into HierarchyViewer where the components all callbacks in your app are displayed. Once ordering has been determined, press save to apply the changes. Your app will then automatically be opened in appdesigner where it needs to be saved again in order for changes to persist.
Notes:
HierarchyViewer uses uitrees which were not formally introduced into Matlab until 2017b. However, some functionality may have existed beforehand so it may work but there is no guarantee.
Do not open the .mlapp file in pre-2018 versions. The uitrees will result in the app breaking. Use the included .m file which is the same code if you need to edit functionality.
CallumP (2021). HierarchyViewer (https://www.mathworks.com/matlabcentral/fileexchange/71838-hierarchyviewer), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
perfect! thanks for the help! (this should be part of the AppDesigner by default. (as should a few other things..)
@Kris, the ability to reorder app components is supported in Matlab r2020b and later. See release notes: https://www.mathworks.com/help/matlab/release-notes.html?category=app-building&rntext=Change+the+stacking+order+of+UI+components&startrelease=R2019b&endrelease=R2020b
Wow! Fabulously simple! Absolutely perfect. I agree though. WHY IS THIS NOT STANDARD ISSUE WITH APP DESIGNER???
Error loading xxx.mlapp after rearranging. Luckily I saved a copy before saving the file. Judging from the consistent 5-star ratings this was not an issue until recently. Who knows, maybe I screwed up. But then again, there is not much room for user errors it seems. Anyone facing the same issue?
Working as advertised. I can't believe we still need this even after all these years with the app designer. So many features are lacking in the platform.
Hi, I am getting an error trying to run this. If I understand right, the HierarchyViewer.mlapp should be opened in apdesigner and run, after which the required .mlapp for changing the component order to be loaded. It shows error for me in R2016b.
This is an impressive, well-written app that uses undocumented methods of reordering the component structure and callback functions within an AppDesigner app which is not possible to do from within AppDesigner (as of r2020a). It should be stressed within this app that users should back up their existing mlapp file prior to making any changes. An 'undo' option from within the sorting interface would also be a nice feature. Otherwise, the HierarchyViewer app is solid work.
Perfect, thanks CallumP!
Works beautifully for r2018b. Save me an incredible amount of time. Thank you!
thanks man it is grate
Brilliant! Thank you!
Thank you Callum, you saved the day!
Thanks a lot!
This is wonderful! Thank you for the great work. This should be included in the app designer.
Is it possible to exclude a field from being tabbed in?
Fantastic work! Thank you! This should be incorporated directly into the App Designer, because tab order functionality is sorely lacking without it.
Oh that's better - thank you!
Now I can live again. Thanks! :)
Big thanks to you !
Works perfekt! Thank you very much!
Great work! It is very helpful! Thank you!
Super! It did the trick.
Thanks for providing the essential function the boneheads did not
Very helpful app. Thanks a lot.
In order to get it running on a Mac I had to change the backslashes to slashes: It would be great to make the paths universal e.g. with fullfile.
Great utility!
is it possible to do a quick sort based on alphabetical order? thanks
Top, it's working properly, thanks a lot.
I commented too fast - You have to open the App on the Designer App first so that MATLAB modifies it with new function names and then save it and run it. Works good and makes the job.
Impossible to open it or run it using Matlab R2017A