File Exchange

image thumbnail


version 1.2.1 (34.8 KB) by CallumP
Modify appdesigner component stacking order and callback order


Updated 18 Aug 2020

View Version History

View License

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.

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.

Cite As

CallumP (2021). HierarchyViewer (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (39)

David Pereira

Adrien Biencourt

Birk Junghanns

perfect! thanks for the help! (this should be part of the AppDesigner by default. (as should a few other things..)

Adam Danz

Kris Hoffman

Wow! Fabulously simple! Absolutely perfect. I agree though. WHY IS THIS NOT STANDARD ISSUE WITH APP DESIGNER???

Jakob Weis

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?



Matthew Anderson


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.

Donel Saji

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.

Adam Danz

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.

Michael Gebhard

Perfect, thanks CallumP!

John Partridge

Works beautifully for r2018b. Save me an incredible amount of time. Thank you!

Thamer Al-Zuriqat

thanks man it is grate

Afonso Ribeiro

Brilliant! Thank you!

Omar Alamoudi

Thank you Callum, you saved the day!

Peter Franz Zajac

Thanks a lot!

Bilal Bedi Semerci

This is wonderful! Thank you for the great work. This should be included in the app designer.

Lorenzo Codecasa

Is it possible to exclude a field from being tabbed in?

Jay Basingerja

Fantastic work! Thank you! This should be incorporated directly into the App Designer, because tab order functionality is sorely lacking without it.

Kat Young

Oh that's better - thank you!

Joris Koeners

Eric Delgado

Now I can live again. Thanks! :)

Alexis Loisy

Big thanks to you !

Ralph Oberle

Works perfekt! Thank you very much!

Pawel Matuszyk

Great work! It is very helpful! Thank you!


Super! It did the trick.
Thanks for providing the essential function the boneheads did not

Subhamoy Saha

Very helpful app. Thanks a lot.


Ali Zahavi


Ashwin Thombre

Joseph Sherratt


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!

James Lee

is it possible to do a quick sort based on alphabetical order? thanks

Camille Ferrière

Top, it's working properly, thanks a lot.

Marc Youcef

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.

julien lemasson

Impossible to open it or run it using Matlab R2017A

MATLAB Release Compatibility
Created with R2016b
Compatible with R2016b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!