[Draft] Cleanup of Annotation style branch

Further cleanup and guarded imports of Gui in modules.

.
This commit is contained in:
carlopav
2020-03-26 10:20:10 +01:00
committed by Yorik van Havre
parent cb4295fd8a
commit a4f7bc43f6
11 changed files with 113 additions and 109 deletions

View File

@@ -169,6 +169,80 @@ from draftutils.gui_utils import select
from draftutils.gui_utils import loadTexture
from draftutils.gui_utils import load_texture
#---------------------------------------------------------------------------
# Draft objects
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# Draft annotation objects
#---------------------------------------------------------------------------
from draftobjects.dimension import make_dimension, make_angular_dimension
from draftobjects.dimension import LinearDimension, AngularDimension
makeDimension = make_dimension
makeAngularDimension = make_angular_dimension
_Dimension = LinearDimension
_AngularDimension = AngularDimension
if gui:
from draftviewproviders.view_dimension import ViewProviderLinearDimension
from draftviewproviders.view_dimension import ViewProviderAngularDimension
_ViewProviderDimension = ViewProviderLinearDimension
_ViewProviderAngularDimension = ViewProviderAngularDimension
from draftobjects.label import make_label
from draftobjects.label import Label
makeLabel = make_label
DraftLabel = Label
if gui:
from draftviewproviders.view_label import ViewProviderLabel
ViewProviderDraftLabel = ViewProviderLabel
from draftobjects.text import make_text
from draftobjects.text import Text
makeText = make_text
DraftText = Text
if gui:
from draftviewproviders.view_text import ViewProviderText
ViewProviderDraftText = ViewProviderText
def convertDraftTexts(textslist=[]):
"""
converts the given Draft texts (or all that is found
in the active document) to the new object
This function was already present at splitting time during v 0.19
"""
if not isinstance(textslist,list):
textslist = [textslist]
if not textslist:
for o in FreeCAD.ActiveDocument.Objects:
if o.TypeId == "App::Annotation":
textslist.append(o)
todelete = []
for o in textslist:
l = o.Label
o.Label = l+".old"
obj = makeText(o.LabelText,point=o.Position)
obj.Label = l
todelete.append(o.Name)
for p in o.InList:
if p.isDerivedFrom("App::DocumentObjectGroup"):
if o in p.Group:
g = p.Group
g.append(obj)
p.Group = g
for n in todelete:
FreeCAD.ActiveDocument.removeObject(n)
def makeCircle(radius, placement=None, face=None, startangle=None, endangle=None, support=None):
"""makeCircle(radius,[placement,face,startangle,endangle])
@@ -251,69 +325,6 @@ def makeRectangle(length, height, placement=None, face=None, support=None):
return obj
# Backward compatibility for dimension objects.
from draftobjects.dimension import make_dimension, make_angular_dimension
from draftobjects.dimension import LinearDimension, AngularDimension
from draftviewproviders.view_dimension import ViewProviderLinearDimension
from draftviewproviders.view_dimension import ViewProviderAngularDimension
makeDimension = make_dimension
_Dimension = LinearDimension
_ViewProviderDimension = ViewProviderLinearDimension
makeAngularDimension = make_angular_dimension
_AngularDimension = AngularDimension
_ViewProviderAngularDimension = ViewProviderAngularDimension
# Backward compatibility for label object.
from draftobjects.label import make_label
from draftobjects.label import Label
from draftviewproviders.view_label import ViewProviderLabel
makeLabel = make_label
DraftLabel = Label
ViewProviderDraftLabel = ViewProviderLabel
# Backward compatibility for text object.
# introduced when splitted text module from Draft.py in v 0.19
from draftobjects.text import make_text
from draftobjects.text import Text
from draftviewproviders.view_text import ViewProviderText
makeText = make_text
DraftText = Text
ViewProviderDraftText = ViewProviderText
# already present at splitting time during v 0.19
def convertDraftTexts(textslist=[]):
"""
converts the given Draft texts (or all that is found
in the active document) to the new object
"""
if not isinstance(textslist,list):
textslist = [textslist]
if not textslist:
for o in FreeCAD.ActiveDocument.Objects:
if o.TypeId == "App::Annotation":
textslist.append(o)
todelete = []
for o in textslist:
l = o.Label
o.Label = l+".old"
obj = makeText(o.LabelText,point=o.Position)
obj.Label = l
todelete.append(o.Name)
for p in o.InList:
if p.isDerivedFrom("App::DocumentObjectGroup"):
if o in p.Group:
g = p.Group
g.append(obj)
p.Group = g
for n in todelete:
FreeCAD.ActiveDocument.removeObject(n)
def makeWire(pointslist,closed=False,placement=None,face=None,support=None,bs2wire=False):
"""makeWire(pointslist,[closed],[placement]): Creates a Wire object
from the given list of vectors. If closed is True or first

View File

@@ -25,7 +25,7 @@
"""This module provides the object code for Draft Dimension.
"""
## @package style_dimension
## @package dimension
# \ingroup DRAFT
# \brief This module provides the object code for Draft Dimension.
@@ -36,9 +36,11 @@ import DraftGeomUtils
import draftutils.gui_utils as gui_utils
import draftutils.utils as utils
from draftobjects.draft_annotation import DraftAnnotation
from draftviewproviders.view_dimension import ViewProviderDimensionBase
from draftviewproviders.view_dimension import ViewProviderLinearDimension
from draftviewproviders.view_dimension import ViewProviderAngularDimension
if App.GuiUp:
from draftviewproviders.view_dimension import ViewProviderDimensionBase
from draftviewproviders.view_dimension import ViewProviderLinearDimension
from draftviewproviders.view_dimension import ViewProviderAngularDimension
def make_dimension(p1,p2,p3=None,p4=None):
"""makeDimension(p1,p2,[p3]) or makeDimension(object,i1,i2,p3)

View File

@@ -22,19 +22,19 @@
"""This module provides the object code for Draft DimensionStyle.
"""
## @package style_dimension
## @package dimensionstyle
# \ingroup DRAFT
# \brief This module provides the object code for Draft DimensionStyle.
import FreeCAD as App
from draftobjects.draft_annotation import DraftAnnotation
from PySide.QtCore import QT_TRANSLATE_NOOP
from draftviewproviders.view_dimensionstyle import ViewProviderDraftDimensionStyle
from draftviewproviders.view_dimensionstyle import ViewProviderDimensionStylesContainer
from draftobjects.draft_annotation import AnnotationStylesContainer
if App.GuiUp:
import FreeCADGui as Gui
from draftviewproviders.view_dimensionstyle import ViewProviderDraftDimensionStyle
from draftviewproviders.view_dimensionstyle import ViewProviderDimensionStylesContainer
def make_dimension_style(existing_dimension = None):
"""

View File

@@ -21,11 +21,11 @@
# * *
# ***************************************************************************
"""This module provides the object code for Draft DimensionStyle.
"""This module provides the object code for Draft Annotation.
"""
## @package style_dimension
## @package annotation
# \ingroup DRAFT
# \brief This module provides the object code for Draft DimensionStyle.
# \brief This module provides the object code for Draft Annotation.
import FreeCAD as App
from PySide.QtCore import QT_TRANSLATE_NOOP

View File

@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
# ***************************************************************************
# * Copyright (c) 2009, 2010 Yorik van Havre <yorik@uncreated.net> *
# * Copyright (c) 2009, 2010 Ken Cline <cline@frii.com> *
@@ -35,7 +36,9 @@ import DraftGeomUtils
import draftutils.gui_utils as gui_utils
import draftutils.utils as utils
from draftobjects.draft_annotation import DraftAnnotation
from draftviewproviders.view_label import ViewProviderLabel
if App.GuiUp:
from draftviewproviders.view_label import ViewProviderLabel

View File

@@ -22,11 +22,11 @@
# * *
# ***************************************************************************
"""This module provides the object code for Draft Label.
"""This module provides the object code for Draft Text.
"""
## @package label
## @package text
# \ingroup DRAFT
# \brief This module provides the object code for Draft Label.
# \brief This module provides the object code for Draft Text.
import FreeCAD as App
import math
@@ -35,8 +35,9 @@ import DraftGeomUtils
import draftutils.gui_utils as gui_utils
import draftutils.utils as utils
from draftobjects.draft_annotation import DraftAnnotation
from draftviewproviders.view_text import ViewProviderText
if App.GuiUp:
from draftviewproviders.view_text import ViewProviderText

View File

@@ -23,7 +23,7 @@
# ***************************************************************************
"""This module provides the Draft Dimensions view provider classes
"""
## @package polararray
## @package dimension
# \ingroup DRAFT
# \brief This module provides the view provider code for Draft Dimensions.

View File

@@ -22,7 +22,7 @@
"""This module provides the view provider code for Draft DimensionStyle.
"""
## @package polararray
## @package dimensionstyle
# \ingroup DRAFT
# \brief This module provides the view provider code for Draft DimensionStyle.
@@ -31,7 +31,6 @@ from Draft import _ViewProviderDraft
from PySide.QtCore import QT_TRANSLATE_NOOP
import draftutils.utils as utils
from pivy import coin
from draftviewproviders.view_draft_annotation import ViewProviderDraftAnnotation
from draftviewproviders.view_draft_annotation import ViewProviderAnnotationStylesContainer
from draftviewproviders.view_dimension import ViewProviderDimensionBase

View File

@@ -21,16 +21,16 @@
# ***************************************************************************
"""This module provides the Draft Annotations view provider base class
"""
## @package polararray
## @package annotation
# \ingroup DRAFT
# \brief This module provides the Draft Annotations view provider base class
import FreeCAD as App
import FreeCADGui as Gui
from PySide.QtCore import QT_TRANSLATE_NOOP
if App.GuiUp:
import FreeCADGui as Gui
class ViewProviderAnnotationStylesContainer:
"""A View Provider for the Layer Container"""

View File

@@ -21,15 +21,14 @@
# * USA *
# * *
# ***************************************************************************
"""This module provides the Draft Dimensions view provider classes
"""This module provides the Draft Label view provider classes
"""
## @package polararray
## @package label
# \ingroup DRAFT
# \brief This module provides the view provider code for Draft Dimensions.
# \brief This module provides the view provider code for Draft Label.
import FreeCAD as App
import FreeCADGui as Gui
import DraftVecUtils, DraftGeomUtils
import math, sys
from pivy import coin
@@ -38,6 +37,10 @@ import draftutils.utils as utils
import draftutils.gui_utils as gui_utils
from draftviewproviders.view_draft_annotation import ViewProviderDraftAnnotation
if App.GuiUp:
import FreeCADGui as Gui
class ViewProviderLabel(ViewProviderDraftAnnotation):
"""A View Provider for the Label annotation object"""
@@ -111,7 +114,6 @@ class ViewProviderLabel(ViewProviderDraftAnnotation):
def getIcon(self):
import Draft_rc
return ":/icons/Draft_Label.svg"
def claimChildren(self):
@@ -212,7 +214,6 @@ class ViewProviderLabel(ViewProviderDraftAnnotation):
self.onChanged(obj.ViewObject,"TextAlignment")
def getTextSize(self,vobj):
from pivy import coin
if vobj.DisplayMode == "3D text":
text = self.text3d
else:
@@ -311,10 +312,4 @@ class ViewProviderLabel(ViewProviderDraftAnnotation):
v = vobj.Object.Placement.Rotation.multVec(v)
pos = vobj.Object.Placement.Base.add(v)
self.textpos.translation.setValue(pos)
self.textpos.rotation.setValue(vobj.Object.Placement.Rotation.Q)
def __getstate__(self):
return None
def __setstate__(self,state):
return None
self.textpos.rotation.setValue(vobj.Object.Placement.Rotation.Q)

View File

@@ -21,15 +21,14 @@
# * USA *
# * *
# ***************************************************************************
"""This module provides the Draft Dimensions view provider classes
"""This module provides the Draft Text view provider classes
"""
## @package polararray
## @package text
# \ingroup DRAFT
# \brief This module provides the view provider code for Draft Dimensions.
# \brief This module provides the view provider code for Draft Text.
import FreeCAD as App
import FreeCADGui as Gui
import DraftVecUtils, DraftGeomUtils
import math, sys
from pivy import coin
@@ -40,7 +39,7 @@ from draftviewproviders.view_draft_annotation import ViewProviderDraftAnnotation
class ViewProviderText(ViewProviderDraftAnnotation):
"""A View Provider for the Draft Label"""
"""A View Provider for the Draft Text annotation"""
def __init__(self,vobj):
@@ -161,10 +160,4 @@ class ViewProviderText(ViewProviderDraftAnnotation):
elif prop == "LineSpacing":
if "LineSpacing" in vobj.PropertiesList:
self.text2d.spacing = vobj.LineSpacing
self.text3d.spacing = vobj.LineSpacing
def __getstate__(self):
return None
def __setstate__(self,state):
return None
self.text3d.spacing = vobj.LineSpacing