Commit Graph

442 Commits

Author SHA1 Message Date
vocx-fc
56f2885cb3 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
58812ebbbf Draft: move Stretch GuiCommand to gui_stretch module 2020-04-24 13:49:13 +02:00
vocx-fc
c7ca282e85 Draft: move Offset GuiCommand to gui_offset module
Include Yorik's commit e8b216dd42.
2020-04-24 13:49:13 +02:00
vocx-fc
98f9db5053 Draft: move Rotate GuiCommand to gui_rotate module 2020-04-24 13:49:13 +02:00
vocx-fc
73e1027445 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
a2a3cd18c2 Draft: move Move GuiCommand to gui_move module 2020-04-24 13:49:13 +02:00
vocx-fc
3348b91717 Draft: move SubelementHighlight to its own module 2020-04-24 13:49:13 +02:00
Yorik van Havre
9343223525 Draft: Annotation editor 2020-04-22 13:38:17 +02:00
vocx-fc
572d7f5757 Draft: move Label GuiCommand to gui_labels module
Also include carlopav's commit 225404c648 for the Draft_Label tool,
which runs the autogroup function on the created label.
2020-04-22 12:07:25 +02:00
vocx-fc
ea894c3f60 Draft: move Facebinder GuiCommand to gui_facebinders module 2020-04-22 12:07:25 +02:00
vocx-fc
e450a8bee3 Draft: move Point GuiCommand to gui_points module 2020-04-22 12:07:25 +02:00
vocx-fc
d4dbdf1695 Draft: move ShapeString GuiCommand to gui_shapestrings module 2020-04-22 12:07:25 +02:00
vocx-fc
fc8903ccba Draft: move Dimension GuiCommand to gui_dimensions module 2020-04-22 12:07:25 +02:00
vocx-fc
b928823768 Draft: move Text GuiCommand to gui_texts module 2020-04-22 12:07:25 +02:00
vocx-fc
99f885ee9b Draft: move Ellipse GuiCommand to gui_ellipses module 2020-04-22 12:07:25 +02:00
vocx-fc
feeb9b4245 Draft: move Polygon GuiCommand to gui_polygons module 2020-04-22 12:07:25 +02:00
vocx-fc
6398e749d5 Draft: move Circle GuiCommand to gui_circles module 2020-04-22 12:07:25 +02:00
vocx-fc
aa894ddc07 Draft: move Arc GuiCommand to gui_arcs module
Also move the `ArcGroup` that containst the two arc tools.
2020-04-22 12:07:25 +02:00
vocx-fc
42932b19a3 Draft: move Rectangle GuiCommand to gui_rectangles module 2020-04-22 12:07:25 +02:00
vocx-fc
5fbf6f8055 Draft: move CubicBezCurve GuiCommand to gui_beziers module
Also move the `BezierGroup` that contains the two Bezier tools.
2020-04-22 12:07:25 +02:00
vocx-fc
e2e9a17dd0 Draft: move BezCurve GuiCommand to gui_beziers module 2020-04-22 12:07:25 +02:00
vocx-fc
cd72ba253b Draft: move BSpline GuiCommand to gui_splines module 2020-04-22 12:07:25 +02:00
vocx-fc
3df6dab640 Draft: move Wire GuiCommand to gui_lines module 2020-04-22 12:07:25 +02:00
vocx-fc
96795ddadc Draft: move Line GuiCommand to gui_lines module 2020-04-22 12:07:25 +02:00
vocx-fc
f5bfb56e82 Draft: move Modifier class to gui_base_original module 2020-04-21 12:53:30 +02:00
vocx-fc
8b3bac1d73 Draft: move Creator class to gui_base_original module 2020-04-21 12:53:30 +02:00
vocx-fc
cb545c7fa8 Draft: import Part module where necessary for the tools
Also import `DraftGeomUtils` where necessary.

These modules were previously imported globaly when the base
`DraftTool` class was first called by the individual tools
through the `Creator` and `Modifier` classes.

However, since `DraftTool` was moved to a separate module,
these `Part` and `DraftGeomUtils` modules are no longer
in the `DraftTools` namespace, and therefore they
cannot be imported globally anymore.

Now the `Part` and `DraftGeomUtils` modules are imported
in the specific functions where they are actually needed.
2020-04-21 12:53:30 +02:00
vocx-fc
180544edbb Draft: move the base DraftTool class to its own module
This is the base class of most Draft Gui Commands,
particularly those which were developed a long time ago.
It is inherited by `Creator` and `Modifier`
to set some specific options for some tools.

Newer Gui Commands do not use these classes and thus
are independent of `DraftTool`.

Nevertheless, in the future we expect to organize further
the commands so that they all derive from a few classes,
so that they all share some common properties and behaviors.
2020-04-21 12:53:30 +02:00
vocx-fc
23e324280f Draft: move DraftTools utilities to another module
These small functions and utilities are placed in another
module, so they can be imported and called
by the individual Gui Command classes as necessary.

When these Gui Command classes are moved to their respective
modules, they will be able to import this auxiliary module as well.
2020-04-21 12:53:30 +02:00
vocx-fc
5b677151e6 Draft: move array commands to DraftTools
Previously they were imported directly in `InitGui.py`,
now they are collected in `DraftTools.py`, so that they
are imported at the same time as other modules.

Also provide an icon so this icon appears in the menu.
2020-04-16 11:40:58 +02:00
vocx-fc
b5aa88fdbc Draft: move Draft_Arc_3Points to gui_arcs module 2020-04-16 11:40:58 +02:00
vocx-fc
31ca5dd812 Draft: move Draft_AddConstruction to gui_groups module
Also add a new icon for adding to the construction group.
2020-04-16 11:40:58 +02:00
vocx-fc
8640697107 Draft: move Draft_AutoGroup to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
125008c5e8 Draft: move Draft_Slope to gui_lineslope module
The class name was renamed to `LineSlope` as it is fundamentally
inteded to control slopes of lines.
2020-04-16 11:40:58 +02:00
vocx-fc
91c75b03f7 Draft: move Draft_FlipDimension to gui_dimension_ops module 2020-04-16 11:40:58 +02:00
vocx-fc
28e2e20a00 Draft: move Draft_Heal to gui_heal module 2020-04-16 11:40:58 +02:00
vocx-fc
df3a06399b Draft: move Draft_ToggleGrid to gui_grid module 2020-04-16 11:40:58 +02:00
vocx-fc
78c276e2a2 Draft: add base class for Snap commands 2020-04-16 11:40:58 +02:00
vocx-fc
a1f6a7f6e0 Draft: move Draft_ShowSnapBar to gui_snaps module 2020-04-16 11:40:58 +02:00
vocx-fc
eca1c75056 Draft: add correct docstring to old Array tools
Previously they mentioned incorrectly the Shape2DView tool.
2020-04-16 11:40:58 +02:00
vocx-fc
631f74d8fc Draft: move SelectGroup command to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
a0f9df523a Draft: move AddToGroup command to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
5acb94984f Draft: move DisplayMode command to gui_togglemodes module 2020-04-16 11:40:58 +02:00
vocx-fc
e3154fccb2 Draft: move mode commands to gui_togglemodes module
`Draft_ToggleConstructionMode` and `Draft_ToggleContinueMode`.
They call a base class `BaseMode` which also uses the base
`gui_base.GuiCommandSimplest` class.

Also add a new icon for continue mode.
2020-04-16 11:40:58 +02:00
vocx-fc
1b8e9d5cb8 Draft: move line GuiCommands to gui_lineops module
The commands `FinishLine`, `CloseLine`, and `UndoLine`
are moved from the huge `DraftTools.py` to `gui_lineops.py`
to reduce the complexity of the former file.

These GuiCommands aren't actually used presently
in the Draft Workbench. They were used in the past
particularly from the context menu when editing a Line object.
2020-04-16 11:40:58 +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
Yorik van Havre
23fe7ba1c9 Draft: warn the user if offset direction is not set 2020-04-14 15:35:46 +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
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
vocx-fc
7f99cead72 Draft: DraftTools.py clean up header and imports
Small spacing fixes like imports in separate lines for
more clarity, and the position of the license.
Also use the class name `ToDo` in `CamelCase`,
as it is indicated in Python guidelines for classes.
2020-04-07 18:12:06 +02:00