imrect object - delete notification
조회 수: 6 (최근 30일)
이전 댓글 표시
After creating an 'imrect' interactive object, in the context menu there is a delete option. Is there a callback to register when the 'imrect' object is deleted.
What I have so far:
im_rect = imrect(ax, draw_rect);
rectId = addNewPositionCallback(im_rect, @(pos)positionUpdateCallback(pos));
So I have access to the position update callback id. But I don't see how can I register any notifiers for the delete event. There is a 'removeNewPositionCallback', but I don't know whether this callback will be triggered on a delete. I checked both 'imrect' and 'imroi' help sections.
Maybe an alternative would be to add a custom delete command to the context menu, with a callback. Has anyone tried that ?
댓글 수: 2
채택된 답변
Adam
2016년 11월 4일
편집: Adam
2016년 11월 4일
Unfortunately imrect and its similar functions are rather arcaic and don't really conform to more modern Matlab graphics objects, but it does derive from 'handle' and the handle class includes the following event
ObjectBeingDestroyed
which you can listen to as e.g.
addlistener( im_rect , 'ObjectBeingDestroyed', @(src,evt) disp( 'Rectangle died' ) )
댓글 수: 6
Adam
2016년 11월 4일
편집: Adam
2016년 11월 4일
Can you not catch this under the image load button? If an imrect object is existing and valid when the user loads a new image then do something with the old image to keep it or set some variable so that when the imrect is deleted then you will know whether it was the user deleting it or it being deleted as a result of a new image being loaded.
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!