Commit Graph

2511 Commits

Author SHA1 Message Date
vocx-fc
45bc9233c7 Draft: use snake case functions in draft_test_objects script 2020-05-15 14:44:48 +02:00
vocx-fc
da8380a8c8 Draft: small additions to the draft_test_object script
Move the docstring, set the frame as a private function,
and set `MakeFace` to `False`.

Use user's home directory to create the file. Move the order of
the parameters of the function.
2020-05-15 14:44:48 +02:00
carlopav
0e9d274bf4 Draft: various cleanup
Mainly added an empty line at the end of each file and changed docstrings.
2020-05-15 14:43:26 +02:00
carlopav
de96fe0658 Draft: moved ConvertDraftText to utils.py 2020-05-15 14:43:26 +02:00
carlopav
1733b6dc74 Draft: split DrawingView from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
a45d136f62 Draft: move get_DXF to utils.py 2020-05-15 14:43:26 +02:00
carlopav
704140e422 Draft: moved getrgb to utils.py 2020-05-15 14:43:26 +02:00
carlopav
767413997d Draft: cleanup of Array properties after splitting 2020-05-15 14:43:26 +02:00
carlopav
fe29205e60 Draft: split Array from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
06fb53a9ee Draft: cleanup of Draft.py 2020-05-15 14:43:26 +02:00
carlopav
a4b5fb2cd4 Draft: split PointArray from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
ebc84af368 Draft: split Path Array and viewprovider Array from Draft.Py
Draft: fix typo in PathArray
2020-05-15 14:43:26 +02:00
carlopav
d124bfce4a Draft: split array function from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
c53f447f58 Draft: Split DraftLink from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
85de732567 Draft: updated ocumentation of Draft Scale function 2020-05-15 14:43:26 +02:00
carlopav
920512692b Draft: split sub_object_move from Draft.py 2020-05-15 14:43:26 +02:00
carlopav
10efbcb207 Draft: split sub_object_move from Draft.py 2020-05-15 14:43:26 +02:00
vocx-fc
fc469186e7 Draft: migrate individual properties
Since we know how the old class looks like,
we can write code to save the value of the older properties,
and then remove them.

Then we can assign the new class, which will create new properties,
and then we can assign the old values to these.

This can be done for both the proxy object and
for the viewprovider.
2020-05-13 11:37:56 +02:00
vocx-fc
1779b261bf Draft: use onDocumentRestored to migrate the Fillet
Identify the previous object as `DraftFillet.Fillet`
and then use the new proxy class `draftobjects.fillet.Fillet`
and new viewprovider `view_fillet.ViewProviderFillet` on it.
2020-05-13 11:37:56 +02:00
vocx-fc
7ff41b51a9 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
103533de73 Draft: activate both Fillet commands to test
In this moment the old fillet tool is `Draft_Fillet`
and the new tool is `Draft_Fillet_new`. They are imported both,
so they can both be tested from the interface.
2020-05-13 11:37:56 +02:00
vocx-fc
09e47f43a9 Draft: add new Gui Command for Fillet 2020-05-13 11:37:56 +02:00
vocx-fc
785023d898 Draft: split Fillet code into various modules
The original code was in `DraftFillet.py` which is split
into a different modules like the rest of the workbench.

The object code is in `draftobjects`, the viewprovider
is in `draftviewproviders`, and the function to create it
is in `draftmake`.
2020-05-13 11:37:56 +02:00
carlopav
1379b541ea Draft: Bugfix to getCloneBase after objects splitting 2020-05-12 10:37:20 +02:00
carlopav
aa572290b7 Draft: bugfix in Snapper 2020-05-12 10:03:52 +02:00
vocx-fc
a79664d3e3 Draft: small updates to the Annotation class
This annotation class implements `onDocumentRestored`
in order to add the `ScaleMultiplier` property to older
`Dimension`, `Label`, and `Text` objects.
2020-05-12 10:02:21 +02:00
vocx-fc
31792151c7 Draft: update ViewProviderWire properties
The improvements are done to `ViewProviderWire` which propagates
to many objects like Line, Wire (polyline), BSpline, BezCurve,
Fillet, etc.

The initialization of the properties is moved to a method
`_set_properties`. The properties `EndArrow`, `ArrowSize`,
`ArrowType` are created only if they do not exist.

This allows calling `ViewProviderWire(obj.ViewObject)`
to migrate an older object to this viewprovider
but without adding duplicated properties.

In particular, this is done to support the migration of the older
`Fillet` object.
2020-05-12 10:02:21 +02:00
vocx-fc
87f9c45cae Draft: update ViewProviderDraft properties
The improvements are done to `ViewProviderDraft` which propagates
to the majority of the Draft objects by derived classes
like `ViewProviederWire`.

The initialization of the properties is moved to a method
`_set_properties`. The properties `Pattern` and `PatternSize`
are created only if they do not exist.

This allows calling `ViewProviderDraft(obj.ViewObject)`
to migrate an older object to this viewprovider
but without adding duplicated properties.

In particular, this is done to support the migration of the older
`Fillet` object.
2020-05-12 10:02:21 +02:00
vocx-fc
d3d52c57b4 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
9a2aa39538 Draft: remove repeated _DraftObject class in Draft.py 2020-05-12 10:00:41 +02:00
vocx-fc
08285a85ec Draft: import the missing Gui module in the mirror function
Otherwise the function will not work in a terminal only session
without the graphical user interface (GUI).

Also small changes for style, documentation,
and removing unused modules.
2020-05-06 12:48:02 +02:00
vocx-fc
909452dc9c Draft: add description of draftfunctions package
These modules provide supporting functions for dealing
with the scripted objects and Gui Commands defined
within the workbench.

If the functions do very basic tasks or are too generic,
they are more appropriate inside the `draftutils` package.

These function are imported in the main `Draft.py` module
so they form part of the public programming interface (API)
of the workbench.

Remove trailing spaces in CMakeLists.txt.
2020-05-06 12:46:24 +02:00
vocx-fc
d2c06281e3 Draft: add description of draftmake package
These modules provide the functions that are used to create
the scripted objects defined within the workbench.

The functions import and use the proxy classes
and viewprovider classes in `draftobjects`
and `draftviewproviders`.

These functions are imported in the main `Draft.py` module
so they form part of the public programming interface (API)
of the workbench.
2020-05-06 12:46:24 +02:00
vocx-fc
f4b3340042 Draft: update description of draftviewproviders package 2020-05-06 12:46:24 +02:00
vocx-fc
f1398c3207 Draft: update description of draftobjects package 2020-05-06 12:46:24 +02:00
vocx-fc
ef7e30c653 Draft: update description of drafttaskpanels package 2020-05-06 12:46:24 +02:00
vocx-fc
aa3b432ebd Draft: update description of draftguitools package 2020-05-06 12:46:24 +02:00
vocx-fc
2e11a3f788 Draft: update description of drafttests package 2020-05-06 12:46:24 +02:00
vocx-fc
4fc94d0254 Draft: correct description of draftutils package
These utilities are general in the entire workbench,
some of them can be used without a GUI, and some of them
absolutely require the GUI to function.
2020-05-06 12:46:24 +02:00
luz.paz
9f1ff8def1 AddonManager: [skip-ci] Change reference from "Addons Manager" to "Addon
...Manager"  
https://forum.freecadweb.org/viewtopic.php?f=3&t=45951&p=395355#p394147
2020-05-05 19:40:14 +02:00
vocx-fc
efcbbce28c Draft: small improvements to the todo module
Small ammeds to the docstrings and the use of `App` and `Gui`
namespaces, and the explicit use of the `ToDo` class
in `PascalCase`.
2020-05-04 10:55:18 +02:00
vocx-fc
bc44324be0 Draft: show the error message of the ToDo class in the terminal
The error is both sent to the log file and to the console
instead of only the log.

This is helpful to troubleshoot problems with the delayed
execution of commands, such as when testing a relatively
broken version like 1827eb17ae.
2020-05-04 10:55:18 +02:00
carlopav
c1696f20dc Draft: fixed edit for dimension objects 2020-05-04 10:53:54 +02:00
carlopav
81e5a3487b 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
carlopav
f27f038da4 Draft: split extrude from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
40e8eb7b84 Draft: split downgrade from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
f0136fd27d Draft: split cut from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
08448d198e Draft: split upgrade from Draft.py
.
2020-05-04 10:51:08 +02:00
carlopav
c9ce87b5fb Draft: split draftify from Draft.py 2020-05-04 10:51:08 +02:00
carlopav
c567ce10a1 Draft: split fuse from Draft.py
.
2020-05-04 10:51:08 +02:00