}
@Override
public boolean mouseDragged(Point pt) {
if (dragState == DragState.NONE) return false;
Point cp = (Point) getValue(translateName);
double dx = pt.x - px;
double dy = pt.y - py;
if (dx == 0 && dy == 0) return false;
startCombiningEdits("Set Value");
if (dragState == DragState.CENTER) {
silentSet(translateName, new Point(ox + dx, oy + dy));
} else if (dragState == DragState.HORIZONTAL)
silentSet(translateName, new Point(ox + dx, cp.y));
else if (dragState == DragState.VERTICAL)
silentSet(translateName, new Point(cp.x, oy + dy));
return true;
}