Update a text object's position used with a movable rectangle.

2 views (last 30 days)
Quick question,
Lets say i have created a rectangle using
h(i) = imrect(gca, [1,1,4,4]);
and then i add a text object with the rectangles name or some data
text(1,1,num2str(1),'BackgroundColor',[.7 .9 .7],'FontSize',7);
How can i make the text follow the rectangle at its final position after i move it?

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jul 2012
You might be able to do it by registering a listener on the imrect position, with the callback changing the rectangle position.
There is no standard mechanism for doing this. The closest would be linkprop() but that is for identical property names and meaning; I doubt you want the text() size to be as big as the rectangle.
  3 Comments
Raldi
Raldi on 19 Jul 2012
I think i made it work, i use
function numtagUpdate(rawdata,nt,draggedComp)
clmo(nt(draggedComp))
nt(draggedComp) = text(rawdata(draggedComp,1),rawdata(draggedComp,2),num2str(draggedComp),'BackgroundColor',[.7 .9 .7],'FontSize',7);
But after i move it for the second time it sais
Error in numtagUpdate (line 2)
clmo(nt(draggedComp))
Raldi
Raldi on 19 Jul 2012
I fixed that to, using
nt=function numtagUpdate(rawdata,nt,draggedComp)
Thanks for he help though.

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!