Draft: move DraftTrackers to another module.

Properly import the tracker classes. Avoid star imports,
and use the classes prefixed with the name of the module.
The BIM Workbench also has to be updated to use the new
module.
```
import draftguitools.gui_trackers as DraftTrackers
```
This commit is contained in:
vocx-fc
2020-02-11 02:07:18 -06:00
committed by Yorik van Havre
parent 9f766102f6
commit b38dcd9ff6
3 changed files with 39 additions and 41 deletions

View File

@@ -10,7 +10,6 @@ SET(Draft_SRCS_base
Draft.py
DraftTools.py
DraftGui.py
DraftTrackers.py
DraftVecUtils.py
DraftGeomUtils.py
DraftLayer.py
@@ -85,6 +84,7 @@ SET(Draft_GUI_tools
draftguitools/gui_arrays.py
draftguitools/gui_snaps.py
draftguitools/gui_snapper.py
draftguitools/gui_trackers.py
draftguitools/README.md
)

View File

@@ -42,8 +42,7 @@ from PySide import QtCore,QtGui
from DraftGui import todo, translate, utf8_decode
import draftguitools.gui_snapper as gui_snapper
import DraftGui
import DraftTrackers
from DraftTrackers import *
import draftguitools.gui_trackers as trackers
from pivy import coin
if not hasattr(FreeCADGui, "Snapper"):
@@ -271,7 +270,7 @@ class DraftTool:
self.ui.setTitle(name)
self.planetrack = None
if Draft.getParam("showPlaneTracker",False):
self.planetrack = PlaneTracker()
self.planetrack = trackers.PlaneTracker()
if hasattr(FreeCADGui,"Snapper"):
FreeCADGui.Snapper.setTrackers()
@@ -596,7 +595,7 @@ class BSpline(Line):
def Activated(self):
Line.Activated(self,name=translate("draft","BSpline"))
if self.doc:
self.bsplinetrack = bsplineTracker()
self.bsplinetrack = trackers.bsplineTracker()
def action(self,arg):
"""scene event handler"""
@@ -697,7 +696,7 @@ class BezCurve(Line):
def Activated(self):
Line.Activated(self,name=translate("draft","BezCurve"))
if self.doc:
self.bezcurvetrack = bezcurveTracker()
self.bezcurvetrack = trackers.bezcurveTracker()
def action(self,arg):
"""scene event handler"""
@@ -816,7 +815,7 @@ class CubicBezCurve(Line):
def Activated(self):
Line.Activated(self,name=translate("draft","CubicBezCurve"))
if self.doc:
self.bezcurvetrack = bezcurveTracker()
self.bezcurvetrack = trackers.bezcurveTracker()
def action(self,arg):
"""scene event handler"""
@@ -1045,7 +1044,7 @@ class Rectangle(Creator):
self.fillstate = self.ui.hasFill.isChecked()
self.ui.hasFill.setChecked(True)
self.call = self.view.addEventCallback("SoEvent",self.action)
self.rect = rectangleTracker()
self.rect = trackers.rectangleTracker()
FreeCAD.Console.PrintMessage(translate("draft", "Pick first point")+"\n")
def finish(self,closed=False,cont=False):
@@ -1172,8 +1171,8 @@ class Arc(Creator):
else: self.ui.circleUi()
self.altdown = False
self.ui.sourceCmd = self
self.linetrack = lineTracker(dotted=True)
self.arctrack = arcTracker()
self.linetrack = trackers.lineTracker(dotted=True)
self.arctrack = trackers.arcTracker()
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick center point")+"\n")
@@ -1510,7 +1509,7 @@ class Polygon(Creator):
self.ui.numFacesLabel.show()
self.altdown = False
self.ui.sourceCmd = self
self.arctrack = arcTracker()
self.arctrack = trackers.arcTracker()
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick center point")+"\n")
@@ -1688,7 +1687,7 @@ class Ellipse(Creator):
self.ui.pointUi(name)
self.ui.extUi()
self.call = self.view.addEventCallback("SoEvent",self.action)
self.rect = rectangleTracker()
self.rect = trackers.rectangleTracker()
FreeCAD.Console.PrintMessage(translate("draft", "Pick first point")+"\n")
def finish(self,closed=False,cont=False):
@@ -1890,8 +1889,8 @@ class Dimension(Creator):
self.finish()
elif self.hasMeasures():
Creator.Activated(self,name)
self.dimtrack = dimTracker()
self.arctrack = arcTracker()
self.dimtrack = trackers.dimTracker()
self.arctrack = trackers.arcTracker()
self.createOnMeasures()
self.finish()
else:
@@ -1902,8 +1901,8 @@ class Dimension(Creator):
self.ui.selectButton.show()
self.altdown = False
self.call = self.view.addEventCallback("SoEvent",self.action)
self.dimtrack = dimTracker()
self.arctrack = arcTracker()
self.dimtrack = trackers.dimTracker()
self.arctrack = trackers.arcTracker()
self.link = None
self.edges = []
self.pts = []
@@ -2460,7 +2459,7 @@ class Move(Modifier):
def set_ghosts(self):
if self.ui.isSubelementMode.isChecked():
return self.set_subelement_ghosts()
self.ghosts = [ghostTracker(self.selected_objects)]
self.ghosts = [trackers.ghostTracker(self.selected_objects)]
def set_subelement_ghosts(self):
import Part
@@ -2468,7 +2467,7 @@ class Move(Modifier):
for subelement in object.SubObjects:
if isinstance(subelement, Part.Vertex) \
or isinstance(subelement, Part.Edge):
self.ghosts.append(ghostTracker(subelement))
self.ghosts.append(trackers.ghostTracker(subelement))
def move(self):
if self.ui.isSubelementMode.isChecked():
@@ -2616,7 +2615,7 @@ class Rotate(Modifier):
self.ui.rotateSetCenterUi()
self.ui.modUi()
self.ui.setTitle(translate("draft","Rotate"))
self.arctrack = arcTracker()
self.arctrack = trackers.arcTracker()
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick rotation center")+"\n")
@@ -2730,7 +2729,7 @@ class Rotate(Modifier):
def set_ghosts(self):
if self.ui.isSubelementMode.isChecked():
return self.set_subelement_ghosts()
self.ghosts = [ghostTracker(self.selected_objects)]
self.ghosts = [trackers.ghostTracker(self.selected_objects)]
def set_subelement_ghosts(self):
import Part
@@ -2738,7 +2737,7 @@ class Rotate(Modifier):
for subelement in object.SubObjects:
if isinstance(subelement, Part.Vertex) \
or isinstance(subelement, Part.Edge):
self.ghosts.append(ghostTracker(subelement))
self.ghosts.append(trackers.ghostTracker(subelement))
def finish(self, closed=False, cont=False):
"""finishes the arc"""
@@ -2892,19 +2891,19 @@ class Offset(Modifier):
self.npts = None
self.constrainSeg = None
self.ui.offsetUi()
self.linetrack = lineTracker()
self.linetrack = trackers.lineTracker()
self.faces = False
self.shape = self.sel.Shape
self.mode = None
if Draft.getType(self.sel) in ["Circle","Arc"]:
self.ghost = arcTracker()
self.ghost = trackers.arcTracker()
self.mode = "Circle"
self.center = self.shape.Edges[0].Curve.Center
self.ghost.setCenter(self.center)
self.ghost.setStartAngle(math.radians(self.sel.FirstAngle))
self.ghost.setEndAngle(math.radians(self.sel.LastAngle))
elif Draft.getType(self.sel) == "BSpline":
self.ghost = bsplineTracker(points=self.sel.Points)
self.ghost = trackers.bsplineTracker(points=self.sel.Points)
self.mode = "BSpline"
elif Draft.getType(self.sel) == "BezCurve":
FreeCAD.Console.PrintWarning(translate("draft", "Sorry, offset of Bezier curves is currently still not supported")+"\n")
@@ -2914,7 +2913,7 @@ class Offset(Modifier):
if len(self.sel.Shape.Edges) == 1:
import Part
if isinstance(self.sel.Shape.Edges[0].Curve,Part.Circle):
self.ghost = arcTracker()
self.ghost = trackers.arcTracker()
self.mode = "Circle"
self.center = self.shape.Edges[0].Curve.Center
self.ghost.setCenter(self.center)
@@ -2922,7 +2921,7 @@ class Offset(Modifier):
self.ghost.setStartAngle(self.sel.Shape.Edges[0].FirstParameter)
self.ghost.setEndAngle(self.sel.Shape.Edges[0].LastParameter)
if not self.ghost:
self.ghost = wireTracker(self.shape)
self.ghost = trackers.wireTracker(self.shape)
self.mode = "Wire"
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick distance")+"\n")
@@ -3102,7 +3101,7 @@ class Stretch(Modifier):
self.ui.pointUi("Stretch")
self.ui.extUi()
self.call = self.view.addEventCallback("SoEvent",self.action)
self.rectracker = rectangleTracker(dotted=True,scolor=(0.0,0.0,1.0),swidth=2)
self.rectracker = trackers.rectangleTracker(dotted=True,scolor=(0.0,0.0,1.0),swidth=2)
self.nodetracker = []
self.displacement = None
FreeCAD.Console.PrintMessage(translate("draft", "Pick first point of selection rectangle")+"\n")
@@ -3195,7 +3194,7 @@ class Stretch(Modifier):
self.ops.append([o])
nodes.append(p)
for n in nodes:
nt = editTracker(n,inactive=True)
nt = trackers.editTracker(n,inactive=True)
nt.on()
self.nodetracker.append(nt)
self.step = 3
@@ -3538,7 +3537,7 @@ class Trimex(Modifier):
return
self.obj = sel[0]
self.ui.trimUi()
self.linetrack = lineTracker()
self.linetrack = trackers.lineTracker()
import DraftGeomUtils
@@ -3548,10 +3547,10 @@ class Trimex(Modifier):
if len(self.obj.Shape.Faces) == 1:
# simple extrude mode, the object itself is extruded
self.extrudeMode = True
self.ghost = [ghostTracker([self.obj])]
self.ghost = [trackers.ghostTracker([self.obj])]
self.normal = self.obj.Shape.Faces[0].normalAt(.5,.5)
for v in self.obj.Shape.Vertexes:
self.ghost.append(lineTracker())
self.ghost.append(trackers.lineTracker())
elif len(self.obj.Shape.Faces) > 1:
# face extrude mode, a new object is created
ss = FreeCADGui.Selection.getSelectionEx()[0]
@@ -3560,10 +3559,10 @@ class Trimex(Modifier):
self.obj = self.doc.addObject("Part::Feature","Face")
self.obj.Shape = ss.SubObjects[0]
self.extrudeMode = True
self.ghost = [ghostTracker([self.obj])]
self.ghost = [trackers.ghostTracker([self.obj])]
self.normal = self.obj.Shape.Faces[0].normalAt(.5,.5)
for v in self.obj.Shape.Vertexes:
self.ghost.append(lineTracker())
self.ghost.append(trackers.lineTracker())
else:
# normal wire trimex mode
self.color = self.obj.ViewObject.LineColor
@@ -3583,9 +3582,9 @@ class Trimex(Modifier):
sw = self.width
for e in self.edges:
if DraftGeomUtils.geomType(e) == "Line":
self.ghost.append(lineTracker(scolor=sc,swidth=sw))
self.ghost.append(trackers.lineTracker(scolor=sc,swidth=sw))
else:
self.ghost.append(arcTracker(scolor=sc,swidth=sw))
self.ghost.append(trackers.arcTracker(scolor=sc,swidth=sw))
if not self.ghost: self.finish()
for g in self.ghost: g.on()
self.activePoint = 0
@@ -3967,7 +3966,7 @@ class Scale(Modifier):
def set_ghosts(self):
if self.ui.isSubelementMode.isChecked():
return self.set_subelement_ghosts()
self.ghosts = [ghostTracker(self.selected_objects)]
self.ghosts = [trackers.ghostTracker(self.selected_objects)]
def set_subelement_ghosts(self):
import Part
@@ -3975,7 +3974,7 @@ class Scale(Modifier):
for subelement in object.SubObjects:
if isinstance(subelement, Part.Vertex) \
or isinstance(subelement, Part.Edge):
self.ghosts.append(ghostTracker(subelement))
self.ghosts.append(trackers.ghostTracker(subelement))
def pickRef(self):
self.pickmode = True
@@ -4972,7 +4971,7 @@ class Mirror(Modifier):
self.ui.modUi()
self.ui.xValue.setFocus()
self.ui.xValue.selectAll()
#self.ghost = ghostTracker(self.sel) TODO: solve this (see below)
# self.ghost = trackers.ghostTracker(self.sel) TODO: solve this (see below)
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick start point of mirror line")+"\n")
self.ui.isCopy.hide()
@@ -5199,7 +5198,7 @@ class Draft_Label(Creator):
self.ui.labelUi(self.name,callback=self.setmode)
self.ui.xValue.setFocus()
self.ui.xValue.selectAll()
self.ghost = DraftTrackers.lineTracker()
self.ghost = trackers.lineTracker()
self.call = self.view.addEventCallback("SoEvent",self.action)
FreeCAD.Console.PrintMessage(translate("draft", "Pick target point")+"\n")
self.ui.isCopy.hide()
@@ -5363,10 +5362,9 @@ class Draft_Arc_3Points:
def Activated(self):
import DraftTrackers
self.points = []
self.normal = None
self.tracker = DraftTrackers.arcTracker()
self.tracker = trackers.arcTracker()
self.tracker.autoinvert = False
if hasattr(FreeCAD,"DraftWorkingPlane"):
FreeCAD.DraftWorkingPlane.setup()