Where is a list of eventtypes for listeners?
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Jan
il 12 Dic 2012
The addlistener command works for many years now, so it is not connected to HG2. The M-file contains some documentation, but you do not find it in the docs, as far as I remember.
Risposte (2)
Jim Hokanson
il 11 Feb 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 Commenti
Malcolm Lidierth
il 26 Mag 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 Commenti
Image Analyst
il 26 Mag 2013
I only saw one link that you listed - the one at docs.oracle.com, and clicking on it brings up a page that says
"Listener API Table
In the table that follows, the first column gives...."
Malcolm Lidierth
il 26 Mag 2013
IA
Oops. I meant the OPs first link. Probably best to break this LOop.
Vedere anche
Categorie
Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!