diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index d0d6ca6beb..9fd870b6f2 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -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 diff --git a/src/Mod/Draft/draftobjects/dimension.py b/src/Mod/Draft/draftobjects/dimension.py index b91ef8d456..73d7159607 100644 --- a/src/Mod/Draft/draftobjects/dimension.py +++ b/src/Mod/Draft/draftobjects/dimension.py @@ -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) diff --git a/src/Mod/Draft/draftobjects/dimensionstyle.py b/src/Mod/Draft/draftobjects/dimensionstyle.py index dff2b6250d..c61d628fa9 100644 --- a/src/Mod/Draft/draftobjects/dimensionstyle.py +++ b/src/Mod/Draft/draftobjects/dimensionstyle.py @@ -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): """ diff --git a/src/Mod/Draft/draftobjects/draft_annotation.py b/src/Mod/Draft/draftobjects/draft_annotation.py index 65c781dedc..133bfb5658 100644 --- a/src/Mod/Draft/draftobjects/draft_annotation.py +++ b/src/Mod/Draft/draftobjects/draft_annotation.py @@ -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 diff --git a/src/Mod/Draft/draftobjects/label.py b/src/Mod/Draft/draftobjects/label.py index 9180f24d73..31181cc4cd 100644 --- a/src/Mod/Draft/draftobjects/label.py +++ b/src/Mod/Draft/draftobjects/label.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2009, 2010 Yorik van Havre * # * Copyright (c) 2009, 2010 Ken Cline * @@ -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 diff --git a/src/Mod/Draft/draftobjects/text.py b/src/Mod/Draft/draftobjects/text.py index a26cf3378a..ef5278144f 100644 --- a/src/Mod/Draft/draftobjects/text.py +++ b/src/Mod/Draft/draftobjects/text.py @@ -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 diff --git a/src/Mod/Draft/draftviewproviders/view_dimension.py b/src/Mod/Draft/draftviewproviders/view_dimension.py index eac7a6d046..5f89a0dff9 100644 --- a/src/Mod/Draft/draftviewproviders/view_dimension.py +++ b/src/Mod/Draft/draftviewproviders/view_dimension.py @@ -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. diff --git a/src/Mod/Draft/draftviewproviders/view_dimensionstyle.py b/src/Mod/Draft/draftviewproviders/view_dimensionstyle.py index 2dd20198ee..03ed8d647d 100644 --- a/src/Mod/Draft/draftviewproviders/view_dimensionstyle.py +++ b/src/Mod/Draft/draftviewproviders/view_dimensionstyle.py @@ -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 diff --git a/src/Mod/Draft/draftviewproviders/view_draft_annotation.py b/src/Mod/Draft/draftviewproviders/view_draft_annotation.py index 2cc0f38d8c..9685541970 100644 --- a/src/Mod/Draft/draftviewproviders/view_draft_annotation.py +++ b/src/Mod/Draft/draftviewproviders/view_draft_annotation.py @@ -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""" diff --git a/src/Mod/Draft/draftviewproviders/view_label.py b/src/Mod/Draft/draftviewproviders/view_label.py index a4a2f611a1..1d131b946b 100644 --- a/src/Mod/Draft/draftviewproviders/view_label.py +++ b/src/Mod/Draft/draftviewproviders/view_label.py @@ -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 \ No newline at end of file + self.textpos.rotation.setValue(vobj.Object.Placement.Rotation.Q) \ No newline at end of file diff --git a/src/Mod/Draft/draftviewproviders/view_text.py b/src/Mod/Draft/draftviewproviders/view_text.py index 15622be54e..8f08fd7f8b 100644 --- a/src/Mod/Draft/draftviewproviders/view_text.py +++ b/src/Mod/Draft/draftviewproviders/view_text.py @@ -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 \ No newline at end of file + self.text3d.spacing = vobj.LineSpacing \ No newline at end of file