Commit Graph

129 Commits

Author SHA1 Message Date
vocx-fc
4a765e12a5 Draft: check GUI in upgrade function before using viewprovider
Also make various improvements in style, PEP8, return value
is now a tuple of lists instead of a list of lists.

Delay the import of other modules like `Part` and `DraftGeomUtils`
using the `LazyLoader` class.

Update the Gui Command as well.
2020-05-18 12:17:59 +02:00
vocx-fc
07245dbf00 Draft: check GUI in downgrade before using viewprovider
Also make various improvements in style, PEP8, return value
is now a tuple of lists instead of a list of lists.

Update the Gui Command as well.
2020-05-18 12:17:59 +02:00
vocx-fc
0d9ae239af Draft: cleanup code of AnnotationStyleEditor
Introduced in 1b887fa0f5, 4555a77663, 5b3fea59e0.

Make it PEP8 compliant, and shorten line lengths.

It is based on `GuiCommandSimplest` to inherit basic behavior
such as `IsActive` returning `True` when a document exists.
2020-05-18 12:16:33 +02:00
vocx-fc
d438aec821 Draft: remove old DraftFillet class, and make it a redirect
Remove the make function that creates the old object,
its corresponding Gui Command, and the old `DraftFillet.Fillet`
proxy class, which now is a redirection to the new `Fillet`
class defined in `draftobjects.fillet`.

Also change the unit test, and the `draft_test_object` script
to run `Draft.make_fillet`.
2020-05-13 11:37:56 +02:00
vocx-fc
c17546557d Draft: add new Gui Command for Fillet 2020-05-13 11:37:56 +02:00
carlopav
f433d7f63d Draft: bugfix in Snapper 2020-05-12 10:03:52 +02:00
vocx-fc
de9c9a6be2 Draft: move arc_3points to the make package
Also import it in the `Draft` namespace so that is available
as `Draft.make_arc_3points`.

Use this new function in the unit test `drafttests.test_creation`,
in the GuiCommand `draftguitools.gui_arcs`, and in the
`draft_test_objects` script.
2020-05-12 10:00:41 +02:00
vocx-fc
3a14908c4a Draft: update description of draftguitools package 2020-05-06 12:46:24 +02:00
carlopav
ad92c99664 Draft: fixed edit for dimension objects 2020-05-04 10:53:54 +02:00
carlopav
cbeca1b4a6 Draft: fix ScaleMultiplier on annotation objects
Object auto create the property when opening an old Draft annotation
.
2020-05-04 10:53:54 +02:00
luz.paz
d8b41f70d6 [skip-ci] Fix typos in Draft, Mesh, and src/Tools
Found via codespell v1.17.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-04-30 11:40:38 +02:00
luz.paz
06a1099e2b [skip-ci] Fix typos
Found via codespell v1.17.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-04-27 11:29:32 +02:00
vocx-fc
cc75bf91d7 Draft: change super() so it is compatible with Python 2
In Python 3 `super()` can be used without an argument
in order to get the parent class, `super()`.
In Python 2 the present class must be used as an argument,
`super(ThisClass, self)`.

This commit is done to support Python 2,
as without it all Gui Command tools will be broken
and will fail to launch, even if the unit tests pass.

Also, set the `__metaclass__` variable to `type`.
This is done to turn all classes into "new style" classes
in Python 2. This is required so `super()` works correctly
in this version of Pyton.

This commit can be reverted once Python 2 support
is completely dropped, and only Python 3 compatible code
is used.
2020-04-27 11:05:51 +02:00
vocx-fc
e6652aaac1 Draft: move Mirror GuiCommand to gui_mirror module 2020-04-24 13:49:13 +02:00
vocx-fc
b259d94125 Draft: move Draft_Clone GuiCommand to gui_clone module
Rename the Gui Command to `Clone`, and provide an alias
for the older name `Draft_Clone`, just in case.
2020-04-24 13:49:13 +02:00
vocx-fc
dc2c103fe6 Draft: rename Circular, Ortho, and Polar arrays
The internal GuiCommand classes are renamed to `CircularArray`,
`OrthoArray`, and `PolarArray`. This is a shorter name than the
previous `GuiCommandCircularArray`, `GuiCommandOrthoArray`,
and `GuiCommandPolarArray`.

These classes are not part of the scripting interface of Draft
so we don't risk breaking previous files.
2020-04-24 13:49:13 +02:00
vocx-fc
0fb2d9cf78 Draft: small changes to the loading of the array modules 2020-04-24 13:49:13 +02:00
vocx-fc
cc26565b3a Draft: move PointArray GuiCommand to gui_pointarray module 2020-04-24 13:49:13 +02:00
vocx-fc
720dc919c3 Draft: move PathLinkArray GuiCommand to gui_patharray module 2020-04-24 13:49:13 +02:00
vocx-fc
f58212c07d Draft: move PathArray GuiCommand to gui_patharray module 2020-04-24 13:49:13 +02:00
vocx-fc
4b8dda1555 Draft: move LinkArray GuiCommand to gui_array_simple module
The code is kept for historical reasons, but the tool
is no longer accessible from the toolbars or menus,
as it was superseded by the three commands `Draft_OrthoArray`,
`Draft_PolarArray` and `Draft_CircularArray`.
2020-04-24 13:49:13 +02:00
vocx-fc
82efd33581 Draft: move Array GuiCommand to gui_array_simple module
The code is kept for historical reasons, but the tool
is no longer accessible from the toolbars or menus,
as it was superseded by the three commands `Draft_OrthoArray`,
`Draft_PolarArray` and `Draft_CircularArray`.
2020-04-24 13:49:13 +02:00
vocx-fc
d4c699c844 Draft: move Draft2Sketch GuiCommand to gui_draft2sketch module 2020-04-24 13:49:13 +02:00
vocx-fc
6f060d513d Draft: move Shape2DView GuiCommand to gui_shape2dview module 2020-04-24 13:49:13 +02:00
vocx-fc
8643025d49 Draft: move WireToBSpline GuiCommand to gui_wire2spline module 2020-04-24 13:49:13 +02:00
vocx-fc
4ed80cdf83 Draft: move Drawing GuiCommand to gui_drawing module
Also, finally the command is removed from the toolbar
as the Drawing Workbench is obsolete since v0.17.

The command is still loaded and defined by the workbench
but it is no longer presented to the user interface in the menu
or toolbar.
2020-04-24 13:49:13 +02:00
vocx-fc
868435bfd9 Draft: move Scale GuiCommand to gui_scale module
The scale operation can be used with subelements, vertices
and edges, but in this case this only works with polylines
(wires) because internally the functions `scaleVertex`
and `scaleEdges` only work with polylines that have a `Points`
property.

When doing a copy and scale, it also calls `copyScaledEdges`
which calls `joinWires`, so problems with joining wires
may also be present when performing this operation.
2020-04-24 13:49:13 +02:00
vocx-fc
81d77e2ca1 Draft: move Trimex GuiCommand to gui_trimex module 2020-04-24 13:49:13 +02:00
vocx-fc
418bafe6ee Draft: move Downgrade GuiCommand to gui_downgrade module 2020-04-24 13:49:13 +02:00
vocx-fc
c3221222b3 Draft: move Upgrade GuiCommand to gui_upgrade module 2020-04-24 13:49:13 +02:00
vocx-fc
a9688f7d00 Draft: move Split GuiCommand to gui_split module 2020-04-24 13:49:13 +02:00
vocx-fc
cb5aa765fb Draft: move Join GuiCommand to gui_join module
Occasionally it fails to join lines even if the lines
visually share a point.

This is a rounding error in the comparison of the shared point;
a small distance will result in the points being considered
different and thus the lines not joining.

The solution is to test properly the two points using
`DraftVecUtils.equals` which considers the value of
the `precision` set in the Draft preferences.
2020-04-24 13:49:13 +02:00
vocx-fc
8ea1358dcb Draft: move Stretch GuiCommand to gui_stretch module 2020-04-24 13:49:13 +02:00
vocx-fc
eb21502d0f Draft: move Offset GuiCommand to gui_offset module
Include Yorik's commit 97c8eff825.
2020-04-24 13:49:13 +02:00
vocx-fc
5cf9dadd68 Draft: move Rotate GuiCommand to gui_rotate module 2020-04-24 13:49:13 +02:00
vocx-fc
bad30329d7 Draft: move ApplyStyle GuiCommand to gui_styles module
Also fix an error in determining the objects of type group.

Also call `finish` to properly terminate the command,
otherwise it stays active and behaves incorrectly.
2020-04-24 13:49:13 +02:00
vocx-fc
5f11802bc0 Draft: move Move GuiCommand to gui_move module 2020-04-24 13:49:13 +02:00
vocx-fc
3370e870fe Draft: move SubelementHighlight to its own module 2020-04-24 13:49:13 +02:00
Yorik van Havre
3802e07f54 Draft: fixed regression in snapper 2020-04-23 12:05:59 +02:00
Yorik van Havre
5b3fea59e0 Draft: Annotation editor 2020-04-22 13:38:17 +02:00
luz.paz
9489776462 LGTM: Fix 'testing equality to None'
Testing whether an object is `None` using the `==` operator is inefficient and potentially incorrect.
2020-04-22 12:18:33 +02:00
carlopav
18cfafeed8 Draft: reintroduced grid button in snap toolbar 2020-04-22 12:14:23 +02:00
vocx-fc
ace8c98aa8 Draft: move Label GuiCommand to gui_labels module
Also include carlopav's commit ff3bdf86bc for the Draft_Label tool,
which runs the autogroup function on the created label.
2020-04-22 12:07:25 +02:00
vocx-fc
d3646b0577 Draft: move Facebinder GuiCommand to gui_facebinders module 2020-04-22 12:07:25 +02:00
vocx-fc
4c297587c4 Draft: move Point GuiCommand to gui_points module 2020-04-22 12:07:25 +02:00
vocx-fc
afd941b66d Draft: move ShapeString GuiCommand to gui_shapestrings module 2020-04-22 12:07:25 +02:00
vocx-fc
44be767583 Draft: move Dimension GuiCommand to gui_dimensions module 2020-04-22 12:07:25 +02:00
vocx-fc
bec9d01058 Draft: move Text GuiCommand to gui_texts module 2020-04-22 12:07:25 +02:00
vocx-fc
66055ebf14 Draft: move Ellipse GuiCommand to gui_ellipses module 2020-04-22 12:07:25 +02:00
vocx-fc
0e089e998d Draft: move Polygon GuiCommand to gui_polygons module 2020-04-22 12:07:25 +02:00