committed by
Max Wilfinger
parent
61a11a5e41
commit
ce8679df59
@@ -489,7 +489,14 @@ void SoTransformDragger::setUpAutoScale(SoCamera* cameraIn)
|
||||
cameraSensor.attach(&localCamera->height);
|
||||
SoScale* localScaleNode = SO_GET_ANY_PART(this, "scaleNode", SoScale);
|
||||
localScaleNode->scaleFactor.disconnect();
|
||||
autoScaleResult.disconnect(&draggerSize);
|
||||
// This check shouldn't be needed but since CAM has its own
|
||||
// ViewProvider classes that implement setEdit but doesn't inherit from
|
||||
// ViewProviderDragger, we need to call Std_TransformManip twice.
|
||||
// This causes setEditViewer to be called twice and Coin throws an error
|
||||
// for trying to disconnect twice.
|
||||
if (autoScaleResult.isConnectedFromField()) {
|
||||
autoScaleResult.disconnect(&draggerSize);
|
||||
}
|
||||
cameraCB(this, nullptr);
|
||||
}
|
||||
else if (cameraIn->getTypeId() == SoPerspectiveCamera::getClassTypeId()) {
|
||||
@@ -498,7 +505,9 @@ void SoTransformDragger::setUpAutoScale(SoCamera* cameraIn)
|
||||
cameraSensor.attach(&localCamera->position);
|
||||
SoScale* localScaleNode = SO_GET_ANY_PART(this, "scaleNode", SoScale);
|
||||
localScaleNode->scaleFactor.disconnect();
|
||||
autoScaleResult.disconnect(&draggerSize);
|
||||
if (autoScaleResult.isConnectedFromField()) {
|
||||
autoScaleResult.disconnect(&draggerSize);
|
||||
}
|
||||
cameraCB(this, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
# ***************************************************************************
|
||||
|
||||
import FreeCAD
|
||||
import FreeCADGui
|
||||
import Path
|
||||
import importlib
|
||||
|
||||
@@ -83,10 +84,14 @@ class ViewProvider(object):
|
||||
def setEdit(self, vobj=None, mode=0):
|
||||
if 0 == mode:
|
||||
self._onEditCallback(True)
|
||||
elif 1 == mode:
|
||||
FreeCADGui.runCommand("Std_TransformManip")
|
||||
return True
|
||||
return False
|
||||
|
||||
def unsetEdit(self, arg1, arg2):
|
||||
self._onEditCallback(False)
|
||||
def unsetEdit(self, vobj, mode):
|
||||
if 0 == mode:
|
||||
self._onEditCallback(False)
|
||||
|
||||
def setupContextMenu(self, vobj, menu):
|
||||
Path.Log.track()
|
||||
|
||||
Reference in New Issue
Block a user