3
$\begingroup$

I am creating an interactive graphics that plots points on the canvas, and allows the user to move around the points:

DynamicModule[ {pt1 = {-2, 1}, pt2 = {2, 2}, pt3 = {2, -2}} , Framed@Graphics[ {Locator[Dynamic[pt1]], Locator[Dynamic[pt2]], Locator[Dynamic[pt3]], Dynamic[BezierCurve[{pt1, pt2, pt3}]] } , PlotRange -> 3] ] 

It works fine, but I noticed that if one misses a bit the click with the mouse to move one of the points, Mathematica mistakenly suggests to edit the Graphics object. It happens during the point movement in the following screenshot (Note the tooltip "Double Click to edit"):

enter image description here

Is there any way to disable editing for Graphics?

$\endgroup$

1 Answer 1

5
$\begingroup$
  • Deploy seems work.
DynamicModule[{pt1 = {-2, 1}, pt2 = {2, 2}, pt3 = {2, -2}}, Deploy@Dynamic@ Framed@Graphics[{Locator[Dynamic@pt1], Locator[Dynamic@pt2], Locator[Dynamic@pt3], Dynamic@BezierCurve[{pt1, pt2, pt3}]}, PlotRange -> 3]] 
  • Another way is use LocatorPane.
DynamicModule[{pts = {{-2, 1}, {2, 2}, {2, -2}}}, LocatorPane[Dynamic@pts, Dynamic@Graphics[BezierCurve@pts, PlotRange -> 3, Frame -> True, FrameTicks -> None]]] 
$\endgroup$
3
  • $\begingroup$ Thank you very much indeed. Deloy does just that. But, now the user doesn't have the change of mouse appearance when hovering over the dynamic object. Is there anyway to retain the "default" behaviour? $\endgroup$ Commented Jun 3, 2022 at 9:59
  • $\begingroup$ @tush that seems like an interesting question that you should make into a new question post entirely! $\endgroup$ Commented Jun 4, 2022 at 19:53
  • $\begingroup$ All right then! $\endgroup$ Commented Jun 4, 2022 at 20:42

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.