Commit Graph

22 Commits

Author SHA1 Message Date
paul
cb328a6ce7 [Draft Gui_Stretch] Improve Stretch Rectangle Behaviour (#18063)
* [Draft gui_stretch] Improve Stretch Rectangle Behaviour

Feature Improvement discussed at FreeCAD Forum :
- https://forum.freecad.org/viewtopic.php?t=92124#p792118  (Draft_Stretching the whole rectangle creates a new wire)

Currently, 3 cases in general, proposed PR improve Case 3 below :

1. The original object is a Rectangle, if after stretching it is no longer a rectangle, it makes a copy turning it into a Wire which reflect the result of stretching.
   - Current behanviour is good for user, no change.
2. If after stretching it is still a rectangle, the code just resize the original.
   - Current behanviour is good for user, no change.
3. Now, if the user 'stretch' the whole rectangle, the code creates a copy as DWire in the 'stretched location'.
** - Users find this not intuitive, better just move the whole rectangle.
2024-11-25 14:47:06 +01:00
Roy-043
0beda2c1bd Draft: fix wrong selection after commands (improved)
The previous fix was not correct. Some commands would cause a crash and several files were missed.

Forum topic reporting a crash:
https://forum.freecad.org/viewtopic.php?t=85243
2024-02-16 10:56:10 +01:00
Yorik van Havre
b54642bf93 Draft: Added a preference to turn on/off tool messages (off by default) - fixes #7078 2023-11-23 16:27:36 +01:00
Roy-043
99d23ee7f4 Draft: store more command modes in prefs
With this PR the following 5 command modes are automatically stored in the preferences:
* "ContinueMode"
* "RelativeMode"
* "GlobalMode"
* "fillmode" (existing preference, removed from the Preferences Editor)
* "SubelementMode"

Additionally:
Three commands (Draft_Ellipse, Draft_Rectangle and Draft_Stretch) call `setRelative` after the 1st point has been specified and would permanently switch on relativeMode. After this PR this switch is temporary.
2023-11-18 21:03:26 +01:00
Roy-043
ac7fba867c Draft: Remove unused arguments from gui_tool_utils.get_point (#10347) 2023-08-25 03:49:06 +02:00
Roy-043
9351bbe7bf Draft: Escape should not switch off continue mode 2022-10-15 12:14:51 +02:00
Roy
c7da560d39 Draft: fix task panel related issues
This PR fixes several task panel related issues for Draft modifier commands.
2022-01-15 18:23:05 +01:00
Yorik van Havre
cf4d2bd8d7 Draft: Allow to stretch more complex Arch objects 2021-08-03 16:45:43 +02:00
Roy-043
64ee9f335c Draft: Fix gui_stretch
If a wire is created to replace a rectangle, the MakeFace property of the wire should match that of the rectangle.
2021-06-02 14:28:56 +02:00
Yorik van Havre
c0c49ebffc Merge branch 'master' into draft-feature_name 2021-04-29 12:40:27 +02:00
marioalexis
05f290f119 Draft: Make featureName attribute translation-independent
The translation for the task panel title is done in the Ui method call
2021-03-29 10:51:53 -03:00
Yorik van Havre
4a8319d63e Merge branch 'master' into draft-close_button 2021-03-26 11:19:09 +01:00
Yorik van Havre
94b9374b37 Merge pull request #4348 from marioalexis84/draft-coordinate_input
[0.20] [Draft] Add global mode to enter points - Fixes #0004108
2021-03-26 11:18:23 +01:00
marioalexis
b5f9a80543 Draft: Clear tracker attributes when finish method is executed in gui_stretch 2021-03-20 17:12:58 -03:00
marioalexis
6795e0d7e6 Draft: Change selectUi and makeDumbTask argument named 'callback' to 'on_close_call'
Suggested by user @carlopav
2021-03-20 17:12:58 -03:00
marioalexis
7c00d19a28 Draft: Call finish method if pressed Close button in dumb taskdialog 2021-03-20 17:12:58 -03:00
Yorik van Havre
abee35f38a Draft: Fixed broken translations everywhere 2021-02-12 14:44:58 +01:00
marioalexis
6969be3881 Draft: Use function-specific icons in the taskbar 2021-02-01 01:26:15 -03:00
Roy-043
216afe9690 Update gui_stretch.py 2020-09-09 13:16:23 +02:00
vocx-fc
f4611f0a31 Draft: add modules of draftguitools to the proper Doxygen group
This includes `gui_annotationstyleeditor`, `gui_arcs`, `gui_array_simple`,
`gui_arrays`, `gui_base`, `gui_base_original`, `gui_beziers`,
`gui_circles`, `gui_circulararray`, `gui_clone`, `gui_circulararray`,
`gui_clone`, `gui_dimension_ops`, `gui_dimensions`, `gui_downgrade`,
`gui_draft2sketch`, `gui_drawing`, `gui_edit`, `gui_edit_arch_objects`,
`gui_edit_draft_objects`, `gui_edit_part_objects`, `gui_edit_sketcher_objects`,
`gui_ellipses`, `gui_facebinders`, `gui_fillets`, `gui_grid`,
`gui_groups`, `gui_heal`, `gui_join`, `gui_labels`, `gui_line_add_delete`,
`gui_lineops`, `gui_lines`, `gui_lineslope`, `gui_mirror`,
`gui_move`, `gui_offset`, `gui_orthoarray`, `gui_patharray`,
`gui_planeproxy`, `gui_pointarray`, `gui_points`, `gui_polararray`,
`gui_polygons`, `gui_rectangles`, `gui_rotate`, `gui_scale`,
`gui_selectplane`, `gui_shape2dview`, `gui_shapestrings`, `gui_snapper`,
`gui_snaps`, `gui_splines`, `gui_split`, `gui_stretch`, `gui_styles`,
`gui_subeleemnts`, `gui_texts`, `gui_togglemodes`, `gui_tools_utils`,
`gui_trackers`, `gui_trimex`, `gui_upgrade`, `gui_wire2spline`.

These are added to the `draftguitools` Doxygen group
so that the functions and classes contained in each module
are listed appropriately in the automatically generated
documentation.
2020-07-17 13:01:45 +02:00
vocx-fc
20db141c3a 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
58812ebbbf Draft: move Stretch GuiCommand to gui_stretch module 2020-04-24 13:49:13 +02:00