Matlab - app designer - component name and callback

Hi,
In App Designer
How can we know the name of a modified component when his callback is also connected to other component ?
Thks

2 Comments

Are you asking how to idenitify which component invoked a callback function in the case where multiple components are assigned the same callback function?

Sign in to comment.

Answers (1)

Adam Danz
Adam Danz on 21 Aug 2019
Edited: Adam Danz on 22 Aug 2019
The 2nd input to a callback function in App Designer is "event'. event.Source is the handle to the object that invoked the callback function. event.EventName is the name of the event (a string).
objHandle = event.Source;
objName = event.EventName;

4 Comments

I am sorry but it doesn't work
event.EventName give 'ValueChanged'
Yes, EventName is the name of the event, and it's useful if the same callback is used to catch different types of events. It has nothing to do with what object triggered the callback,
However, as Adam said, the Source property is the handle to the object that triggered the callback so that's what you should use.
Objects don't really have names. However, you can assign most (all?) objects a name by assigning a string to their Tag property. Then you can identify the object by its tag like this
objHandle = event.Source;
objHandle.Tag
If you haven't assigned a Tag, the tag property will be empty.
Hy Guillaume,
could you please explain in detail what you mean with " it's useful if the same callback is used to catch different types of events. " I dont get the point out of this phrase. Do you have a minimal example fot this?

Sign in to comment.

Categories

Find more on Develop Apps Programmatically in Help Center and File Exchange

Asked:

on 21 Aug 2019

Commented:

on 27 Jan 2022

Community Treasure Hunt

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

Start Hunting!