MATLAB: Dragging a selected point within uiaxes

draggableuiaxes

Hello,
wihin standard figure and axes, I can easely move point.
These points are the graphical representation of complex numbers, so when I move a point I must move its conjugate accordingly.
All works fine with classical figure. I currently use gco to obtain the current point handle. What would be the equivalent with uiaxes within an uifigure?
Best Regards

Best Answer

HandleVisibility is set to off by default with uifigures and this prevents gcf/gca/gco from accessing the figure handle or anything within the figure.
Just before using gco, set the HandleVisibility to "on" and then set it off again at the end of the function.
Example
% uifig is the handle to the figure
uifig.HandleVisibility = 'on';
h = gco();
uifig.HandleVisibility = 'off';
% You could leave it on but that risks other plotting functions
% having unintended access to the figure.
Alternatively you can set the handle visibility to "callback" so that it's accessible from callback functions.
You may need to make the figure & axes active after doing this; if so, see these instructions to a similar question.