Update to R2011b breaks call to addlistener

2 Ansichten (letzte 30 Tage)
David Goldsmith
David Goldsmith am 11 Okt. 2011
Just updated from R2010a to R2011b. In a custom "brush on" handler, I have the following call to addlistener that works fine in R2010a:
addlistener(figureHandle, 'windowButtonUp', @obj.BrushEnd);
but causes R2011b to return the following error:
"The specified event is not supported by the object"
when it tries to call save__listener__.
I've searched the Release Notes of every version from 2010a through 2011b, the bug reports, the entire MathWorks site, and Googled--nada. Any ideas? Thanks!

Akzeptierte Antwort

Jan
Jan am 11 Okt. 2011
Please try this:
addlistener(figureHandle, 'WindowButtonUpFcn', 'PostSet', @obj.BrushEnd);
[EDITED]: I assume, the above will not do what you need. Try this:
addlistener(gcf, 'WindowMouseRelease', @obj.BrushEnd)
  2 Kommentare
David Goldsmith
David Goldsmith am 12 Okt. 2011
WindowMouseRelease worked, thanks. Subsequently, I searched the entire site for WindowMouseRelease, and received nothing but a "Check your spelling" warning--"very undocumented" indeed! (I'm going to report this as a bug.)
David Goldsmith
David Goldsmith am 12 Okt. 2011
Here's the reply I got to my service request:
"Thank you for bringing this issue to our attention. It is indeed true that the events ‘WindowButtonUp’, ‘WindowButtonDown’ and ‘WindowButtonMotion’ have been renamed to ‘WindowMouseRelease’, ‘WindowMousePress’ and ‘WindowMouseMotion’ (respectively)...
The current documentation for MATLAB 7.13 (R2011b) has no indication of these name changes. I have made a request to update the documentation. Once again, thank you very much for helping us."
Hopefully that's the extent of that (but see my other post about the new database toolbox update function breaking my code).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jonas Reber
Jonas Reber am 11 Okt. 2011
does the event exist on the "figureHandle"?
get(get(classhandle(handle(figureHandle)),'Events'),'Name')
what if you try writing it "WindowButtonUpEvent"? I think its just a spelling error.
  3 Kommentare
Jan
Jan am 11 Okt. 2011
>> addlistener(gcf, 'WindowButtonUpEvent', @why);
"Warning: The specified event will be removed in a future release.
Please use the following event instead: WindowMouseRelease"
But the WindowMouseRelease does not appear in the list shown by: get(get(classhandle(handle(gcf)),'Events'),'Name')
I think the non-trivial ineraction with GUIs is very undocumented and clumsy.
David Goldsmith
David Goldsmith am 11 Okt. 2011
Thanks, all.
@ Walter: is there a "one-stop-shop" list of such events?
@ Jan: no scheisse! ;-(

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by