Commit Graph

1983 Commits

Author SHA1 Message Date
vocx-fc
1970b6c3c9 Draft: GuiCommandSimplest to serve as base of simple Gui Commands
This class defines the `command_name` of the command,
so that it is output to the report view, and is also recorded
in the log file.

It also stores the current document so it can be used inside the
command.

The class implements with `IsActive` method so that the command
is only active when an active document exists.

Also `GuiCommandNeedsSelection`, which subclasses the former
class. It reimplements `IsActive` in order to be available
only when there is a selection.
2020-04-16 11:40:58 +02:00
vocx-fc
b3abe7efe9 Draft: update InitGui with context commands
The `ContextMenu` method defines commands that will be listed
when right clicking and opening the context menu in the 3D view
or the tree view.

This sets up the line GUI commands when either a line, wire,
polyline, spline, or bezier curve is active.

However, this currently doesn't work at all for unknown reasons.
Maybe some other functionality in the internal C++ code
needs to be changed first.
2020-04-16 11:40:58 +02:00
carlopav
db9134630a [Draft] Cleanup splitted annotatation objects
- corrected super() methods to be Py2 compatible
- further cleanup of the code.
further cleanup


changed again to avoid super method


updated super() functions


updated to correct the parent classess targeted by super()
2020-04-16 11:37:10 +02:00
carlopav
00c0de6871 [Draft] Removed annotation styles objects
Removed Annotation styles current implementation.
As pointed out by yorik, in https://forum.freecadweb.org/viewtopic.php?f=23&t=44051&p=385710#p385179, this feature will be added using document Meta property.
2020-04-16 11:37:10 +02:00
carlopav
78f740807c [Draft] Dimension styles improvements
Dimension style property is auto-set on dimension creation.
Further improvementes in DimensionStyleContainer.
.
2020-04-16 11:37:10 +02:00
carlopav
a4f7bc43f6 [Draft] Cleanup of Annotation style branch
Further cleanup and guarded imports of Gui in modules.

.
2020-04-16 11:37:10 +02:00
carlopav
cb4295fd8a [Draft] Splitted object Text and Label from Draft.py
And based them on Draft Annotation object
2020-04-16 11:37:10 +02:00
carlopav
19928b7347 [Draft] Updated cmake with splitted annotation objects
.


.
2020-04-16 11:37:10 +02:00
carlopav
5b4815f807 [Draft] Dimension Style cleanup 2020-04-16 11:37:10 +02:00
carlopav
749f614313 [Draft] Group object for dimension styles 2020-04-16 11:37:10 +02:00
carlopav
9c4c16c7bb [Draft] Split angular dimension
and made it derived from 
DimensionBase <- Draft Annotation
2020-04-16 11:37:10 +02:00
carlopav
9f1405df0e [Draft] Annotation refactor and Cleanup
.


.
2020-04-16 11:37:10 +02:00
carlopav
637c45733e [Draft] Split Dimension object and reorganize of annotation objects
part 1
2020-04-16 11:37:10 +02:00
carlopav
0bc6e4cddc [Draft] New Icons for Annotation Style 2020-04-16 11:37:10 +02:00
carlopav
5bbf3ad6cf [Draft] Dimension style object
still have to split viewprovider from object.
[Draft] Dimension Style code cleanup

thx @vocx-fc for reviewing
further cleanup


[Draft] Dimension Style improvements

Added a property to the dimension object to link the dimension style.
Improved the update of dimensions when style changes. This can be done in 2 different ways: by setting AutoUpdate property to True or by activating Update function from the viewprovider context menu.
2020-04-16 11:37:10 +02:00
vocx-fc
097d828fb5 Draft: add init_draft_statusbar to CMakeLists 2020-04-16 11:37:10 +02:00
carlopav
655852bda6 [Draft] Annotation scale, support for imperial custom scale input
Added support for different scale list
2020-04-16 11:37:10 +02:00
carlopav
9e7fb35761 [Draft] Rearrange annotation properties groups
ref. https://forum.freecadweb.org/viewtopic.php?f=23&t=43795&p=373731#p373731
bugfix
2020-04-16 11:37:10 +02:00
carlopav
7d8847a2a2 [Draft] Annotation Scale bugfix
Now property ScaleMultiplier is checked for existence before the use.
2020-04-16 11:37:10 +02:00
carlopav
f90921ef03 [Draft] Improved Autogroup to handle Draft Annotations
Draft Dimension, Label and Text are now correctly auto-added to Part container
2020-04-16 11:37:10 +02:00
carlopav
ba71f3de75 [Draft] First implementation of annotation scale
The changes are minimal, mainly is just cleanup of existing code and documentation.
[Draft] Annotation scale for ViewProviderDraftText

Adding support for scale factor according to changes in dimensions.
[Draft] Annotation scale for ViewProviderDraftLabel

completed annotations scale
[Draft] Annotation scale for ViewProviderAngularDimension
2020-04-16 11:37:10 +02:00
carlopav
9fcb4f94a0 [Draft] Annotation scale support and statusbar widget
Initial commit
Preliminary support for Draft Dimensions


[Draft] Statusbar Widget code cleanup
2020-04-16 11:37:10 +02:00
Yorik van Havre
0ea99fd22e Draft: Fixed div by zero error in snapping 2020-04-14 16:01:29 +02:00
Yorik van Havre
23fe7ba1c9 Draft: warn the user if offset direction is not set 2020-04-14 15:35:46 +02:00
donovaly
ef099df0a1 [Arch] split IFC dialog 2020-04-14 11:37:36 +02:00
lorenz
e6266e2716 Draft: dwg-export: allow overwriting of files 2020-04-13 11:38:25 +02:00
vocx-fc
587781221c Draft: new ShapeString icon for the tree view 2020-04-13 11:36:47 +02:00
wandererfan
093b6d9901 [Draft]support BSplineCurve in getNormal 2020-04-10 12:52:52 -04:00
vocx-fc
9574c5698b Draft: parameters to control array options in the task panel
Use the value of the parameters `Draft_array_fuse`
and `Draft_array_Link` to set the default value
of the `Fuse` and `Link array` checkboxes in the task panels.
These default to `False` and `True`, respectively.

Whenever the user toggles a checkbox
the new value of the parameter is stored so that when
the command is used again the last state of the checkbox
is remembered.
2020-04-10 13:19:22 +02:00
vocx-fc
cd7f9c960d Draft: polararray .ui file, Link array by default 2020-04-10 13:19:22 +02:00
vocx-fc
a24f86ef75 Draft: gui_ and task_polararray cleanup 2020-04-10 13:19:22 +02:00
vocx-fc
81fc0e3089 Draft: orthoarray .ui file, Link array by default 2020-04-10 13:19:22 +02:00
vocx-fc
b43612787d Draft: gui_ and task_orthoarray cleanup 2020-04-10 13:19:22 +02:00
vocx-fc
7fe3281023 Draft: circulararray .ui file, Link array by default
Also small additions to the tooltips.
2020-04-10 13:19:22 +02:00
vocx-fc
68e3ab8dd1 Draft: gui_ and task_circulararray cleanup 2020-04-10 13:19:22 +02:00
Yorik van Havre
2175eb0939 Draft: Added convenience methods to the Draft Working Plane to set top, front and side positions 2020-04-09 16:59:01 +02:00
vocx-fc
a1e8f97be2 Draft: move WorkingPlaneProxy to separate module
Previously it was in the `gui_selectplane` module
but we prefer to place it in its own module
so that the files are as small as possible.
2020-04-09 11:41:45 +02:00
vocx-fc
fd00904b9e Draft: add WorkingPlaneProxy button to the toolbar
We also rename it from `Draft_SetWorkingPlaneProxy`
to `Draft_WorkingPlaneProxy` as we want to indicate a new object
is created.
2020-04-09 11:41:45 +02:00
vocx-fc
824199c9b8 Draft: move SelectPlane task panel to a separate module 2020-04-09 11:41:45 +02:00
vocx-fc
27be059164 Draft: polararray, clean up imports, docstrings, and checks 2020-04-08 11:08:29 +02:00
vocx-fc
a749c94196 Draft: orthoarray, add strictly rectangular arrays 2020-04-08 11:08:29 +02:00
vocx-fc
af46040e68 Draft: orthoarray, clean up imports, docstrings, and checks 2020-04-08 11:08:29 +02:00
vocx-fc
65acf43391 Draft: circulararray, clean up imports, docstrings, and checks 2020-04-08 11:08:29 +02:00
vocx-fc
144ecfce89 Draft: arc_3points, clean up imports and checks 2020-04-08 11:08:29 +02:00
vocx-fc
c6743999ec Draft: utils, add function to log calls 2020-04-08 11:08:29 +02:00
vocx-fc
d40bf0d5e8 Draft: moved some unit tests to TestDraftGui
Those unit tests that are registered in `Init.py` will always run,
while those that are registerd in `InitGui.py` will only run
when the graphical interface is available.

This allows us to more clearly distinguish functions that
should be able to run always, from those that may run only
when the interfce is available.
2020-04-08 11:07:51 +02:00
vocx-fc
b74841a5b1 Draft: Coin (Pivy) tests only when the graphical interface is up 2020-04-08 11:07:51 +02:00
vocx-fc
4ed4e2d496 Draft: unit tests registered in Init.py
This means that now the unit tests will run from
the console mode when using
```
FreeCADCmd -t 0
FreeCAD --console -t 0
```

This will allow us to catch errors more easily,
as we separate better the behavior of non-GUI
and GUI-required modules.

Also small spacing fixes and position of the license.
2020-04-08 11:07:51 +02:00
vocx-fc
a76a438fda Draft: gui_utils, add small stylistic changes
These changes are added by carlopav in pull request #3102.
We add them in this commit already so that this branch and
that branch are easier to rebase and merge.
2020-04-07 18:12:06 +02:00
vocx-fc
536e0ad133 Draft: move ShapeString to the creation tools
Previously it was placed in the `annotation` category
but since it creates a group of shapes, it is better
in the `creation` category.

Also small fixes in the menu text and tooltip.
2020-04-07 18:12:06 +02:00