Where is a list of eventtypes for listeners?

10 visualizaciones (últimos 30 días)
Matt Fig
Matt Fig el 11 de Dic. de 2012
Respondida: Jim Hokanson el 11 de Feb. de 2015
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
Vishal Rane
Vishal Rane el 27 de Ag. de 2013
Matt, did you find any list or documentation for this?

Iniciar sesión para comentar.

Respuestas (2)

Jim Hokanson
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;
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.

Malcolm Lidierth
Malcolm Lidierth el 26 de Mayo de 2013
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
Malcolm Lidierth el 26 de Mayo de 2013
Oops. I meant the OPs first link. Probably best to break this LOop.

Iniciar sesión para comentar.


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!

Translated by