Where is a list of eventtypes for listeners?
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Usually I think MATLAB has excellent documentation, but there are occasions when I have to pull my hair out looking for something. So when referring to this example solution posted by TMW, it seems we can add an eventlistener to a uicontrol with an eventtype of 'ActionEvent'. But when I use this example I get the following warning message in r2011b:
Warning: The specified event will be removed in a future release.
Please use the following event instead: ContinuousValueChange
So the obvious question is:
What are all of the choices when setting eventtypes for listeners?
I have searched everywhere I can think of for a list of such events but found nothing. Is this yet another instance of non-documentation in MATLAB or have I just not been able to find it?
Does anyone know of such a list in the doc? I want to find something like this list of axes properties but for events or listeners. On that list would be 'ActionEvent' and 'ContinuousValueChange' at least.
3 comentarios
Respuestas (2)
Jim Hokanson
el 11 de Feb. de 2015
For hg1, events can be found tin the schema.class object
h = uicontrol('style','slider')
class_info = classhandle(handle(h))
events = class_info.Events;
event_names_local = cell(1,length(events));
for iEvent = 1:length(events)
event_names_local{iEvent} = events(iEvent).Name;
end
For hg2, things are much easier, just reference the metaclass
class_info = metaclass(graphics_handle);
event_names_local = {class_info.EventList.Name};
'ActionEvent' is an event in the schema.class (UDD)
'ContinuousValueChange' is an event in hg2
I have no idea where to find a list of newer events (i.e. ContinuousValueChange when using hg1)
To be a bit more thorough, one could also examine the accompanying Java object using findjobj (FEX). Then you would need to search for properties with a 'Callback' with an accompanying 'CallbackData'
Note, one would also want to examine the properties for ones that are observable. This should be fairly straightforward using a similar approach as was used for events.
Jim
0 comentarios
Malcolm Lidierth
el 26 de Mayo de 2013
@Matt
As the uicontrols use Java under the hood, see the available Java listeners at
The link above is now broken but I'll guess the UI was a slider or something of that sort which calls a stateChange rather than event listener.
MATLAB collapse these into their 'Callback'. I have always preferred to stick with documented components - so I use Java for GUIs in MATLAB not MATLAB uicontrols. TMW may not document them, but Sun/Oracle do of course.
4 comentarios
Malcolm Lidierth
el 26 de Mayo de 2013
IA
Oops. I meant the OPs first link. Probably best to break this LOop.
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!