How do I move text objects in a stand-alone application created by MATLAB Compiler?

Illustration
Benjaminmichell - 2020-08-17T12:30:01+00:00
Question: How do I move text objects in a stand-alone application created by MATLAB Compiler?

How do I move text objects in a stand-alone application created by MATLAB Compiler? In MATLAB, figure windows have an edit plot button. If I use the plot editor, I can select text and move it around the figure. How do I do this for a stand-alone application?

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

Below is an example on how to get moving text for a stand-alone application.

 

function movingtext

% MOVINGTEXT example to show how to move text objects in a stand-alone

% application 

% This will always move the text when the user clicks on it

% create example text object to move

htext=text('string', {'line1', 'line2'});

% set figure callbacks that make the text move.

set (gcf, 'WindowButtonMotionFcn' , {@movetext, htext});

set (gcf, 'WindowButtonUpFcn' , {@stoptext, htext});

% this function moves the text and saves what the current object 

% was before we moved the text

function movetext (hObj, eventData, htext)

if gco == htext

      % set it to selected so the user knows they are moving it

      set(htext, 'selected', 'on');

      % get the current point of wehre the mouse it.  Set the text's position to 

      % that point.  This is what makes it look like the text is following the mouse

      pos=get(gca, 'currentpoint');

      set (htext, 'position' , [pos (1), pos (3)])

end

% this function executes when the user lets go of the mouse

function stoptext(hObj, eventData, htext, prev_obj)

%if the current object is the text object we want to move

if gco == htext

      % un select it so the user knows they are no longer moving the text

      set(htext, 'selected', 'off');

   % in order to get this to get this to work, set the current object back

   % to something that isn't the text object

   set(gcf, 'currentobject', gca);

end


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!