Commit Graph

508 Commits

Author SHA1 Message Date
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
Roy-043
3f2e8cf0a0 Draft: gui_line_add_delete.py is obsolete 2024-02-15 22:20:53 +01:00
Roy-043
2bd0a06991 Draft: fix wrong selection after commands
Fixes #10469

The code of the `end_all_events()` function is by Chris Hennes (chennes).
See https://forum.freecadweb.org/viewtopic.php?p=656362#p656362.
2024-02-12 11:32:58 -06:00
Roy-043
51f7ee09a2 Draft: Draft_Edit: restore Relative checkbox
The relative checkbox was hidden by mistake.
2024-02-07 10:26:16 +01:00
Syres916
e1f01b2c05 [Arch] [Draft] Add guard for RootNode specific child 2024-02-05 11:00:38 +00:00
Roy-043
eb4feef5ab Draft: Fix messages for Draft_Fillet
There were still too many messages.
2024-02-03 19:46:20 +01:00
Roy-043
f6e1287be8 Draft: Fix Draft_Wire conversion function
The Draft_Wire command can combine selected Draft_Wires and Draft_Lines into a single wire. This function did not always behave properly.
* Edges were not sorted, the result could have a different shape (with the correct vertexes).
* If edges formed  a closed shape the resultant wire was not closed.
2024-02-02 22:54:34 +01:00
Roy-043
174938a52a Merge pull request #12234 from Roy-043/Draft-Draft_Arc_3Points-minor-consistency-update
Draft: Draft_Arc_3Points minor consistency update
2024-02-02 18:07:37 +01:00
Roy-043
aa421a60f1 Merge pull request #12230 from kpemartin/Issue11876
Remove excessive output from Draft object creation and editing
2024-02-02 18:06:02 +01:00
Roy-043
0bd6f0d6c7 minor edit 2024-02-02 15:17:13 +01:00
Kevin Martin
78eba96f1c Replace deprecated escapes with valid ones 2024-02-02 08:58:49 -05:00
Kevin Martin
2b9fa18b68 Eliminate many "doing what you told me to" messages
These messages were perhaps originally intended as a debuggin aid but now add clutter to the output panes. Remaining messges are mostly the result of methods to display attributes of an object (which one could call from the Python console) or actually provide some information which would not be obvious from the circumstances
2024-02-02 08:58:45 -05:00
Roy-043
285c655834 Draft: Draft_Point minor consistency update 2024-02-02 14:12:57 +01:00
Roy-043
ac46a1ecf4 Draft: Draft_Arc_3Points minor consistency update 2024-02-02 14:11:55 +01:00
Roy-043
0fbe5f75bf Draft: Draft_Fillet minor consistency update 2024-02-02 11:29:43 +01:00
Roy-043
51035731e7 Draft: Avoid draftToolBar.getDefaultColor outside DraftGui.py
The draftToolBar.getDefaultColor() function is an indirect way of retreiving a parameter. It is better to avoid it where possible.
2024-02-01 18:02:10 +01:00
Ladislav Michl
839fb17649 Draft: Use widgets from QtWidgets 2024-01-25 14:27:38 +01:00
Roy-043
6e0112d5f8 Draft: Inform user that objects without a Shape cannot be cloned
Fixes #11923.
2024-01-22 12:31:02 -05:00
Roy-043
7a85dd07e1 Draft: Improve layer functions
The current make_layer function has a `None` default for the shape color and the line color. With that value the current preference is used. This, and how the function is called, results in some confusing behaviors:
* Newly created layers will only use 2 values from the preferences when they might use 5. The latter makes more sense for the end-user IMO.
* Layers created during DXF import (for example) will have a different shape color depending on the current preferences.
* The make_layer function may reapply colors that have already been set by the view provider.

To solve this all view property related function parameter have been changed to a not None value. If a None value is supplied the view property as set by the view provider is not changed. The Layer Manager has been updated accordingly.
I realize that calling a function with 6 None values is not very convenient, but think it is the solution that is least likely to break other exiting code.

Additionally:
* Removed the makeLayer function. Layers were introduced in V0.19 when the naming scheme was changed to "make_*". Maybe it was created by mistake, or before the actual renaming operation started, but it is safe to remove it now.
* Removed overly verbose messages.
* gui_layers.py had a missing import (result of a previous V0.22 PR): `from draftutils import utils`.
2024-01-22 11:29:13 -06:00
Roy-043
8ea799bd61 Draft: gui_snapper: setTrackers can be called if there is no 3D view 2024-01-05 10:50:46 +01:00
Roy-043
20f32c4bf1 Draft: implement new get_param functions (step 5)
See #11677

Last bits...
2023-12-14 15:53:45 +01:00
Roy-043
b0aa33f92a Draft: implement new get_param functions (step 2)
See #11677
2023-12-12 14:48:09 +01:00
Roy-043
79eaa01032 Draft: Introduce DefaultAnnoScaleMultiplier parameter
This parameter replaces DraftAnnotationScale.

The parameter can be changed in the preferences and with the Draft_SetStyle command.
2023-12-09 19:17:36 +01:00
Roy-043
6e86e9efa2 Draft: use MarkerSize for snap and tracker markers 2023-12-08 21:17:34 +01:00
Roy-043
770eb5e64a Draft: remove maxSnap parameter
It is superfluous. The maxSnapEdges parameter can be set to zero.
2023-12-08 12:06:36 +01:00
Roy-043
26adc417a9 Draft: remove the Draft_ToggleContinueMode command
Rarely used as Continue mode can also be checked in the task panel of Draft commands.
2023-12-05 22:31:44 +01:00
Roy-043
652c0fb752 Draft: menu texts to sentence case 2023-12-04 10:44:59 +01:00
Roy-043
6db658255f Draft: update Draft_ApplyStyle
The command now applies all style properties from `utils.get_default_annotation_style()` and `utils.get_default_shape_style()`.

Additionally: minor improvements to gui_setstyle.py.
2023-12-02 13:11:08 +01:00
Roy-043
e64bb9f499 Draft: update Draft_SetStyle
* Added handling of DefaultShapeVertexColor, DefaultShapePointSize, DefaultAnnoLineColor and DefaultAnnoLineWidth preferences.
* Rearranged the task panel.

Additionally the DefaultDrawStyle and DefaultDisplayMode preferences are now applied by format_object in gui_utils.py.
2023-11-30 21:19:48 +01:00
Roy-043
35993c79ca Draft: implement DefaultAnnoLineWidth and DefaultAnnoLineColor prefs
The format_object function in gui_utils.py still requires some work (in connection with the Draft_SetStyle command). This will be done later.
2023-11-30 09:45:19 +01:00
Roy-043
904b37b47d Draft: implement DefaultAnnoLineWidth and DefaultAnnoLineColor prefs
The format_object function in gui_utils.py still requires some work (in connection with the Draft_SetStyle command). This will be done later.
2023-11-29 23:06:17 +01:00
Roy-043
4bcdb7cb1c Draft: use param observer to update tray 2023-11-27 23:56:00 +01:00
Roy-043
a462e8e616 Draft: improve handling of anno DisplayMode and LineSpacing
* DisplayMode controlled by new pref DefaultAnnoDisplayMode. This replaces the old dimstyle pref.
* LineSpacing pref is now used when creating annotations. Will be added to prefs ui later.
* format_object no longer changes FontSize as this conflicted with the height parameter in the make_text function.
* make_text function updated.
2023-11-27 15:45:56 +01:00
Roy-043
9f235c281e Draft: use clearer snap marker names 2023-11-25 19:29:12 +01:00
Roy-043
a3f285cb46 Draft: improve Snap bar show-hide preference
This PR replaces the showSnapBar and hideSnapBar preferences with a single new preference: SnapBarShowOnlyDuringCommands.

Additonally:
Improved some param observer callbacks.
2023-11-24 13:30:03 +01:00
Roy-043
0973eb6b6f Draft: gui_selectplane can rely on ParamObserver for grid changes 2023-11-24 12:18:57 +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
8944c79ebe Draft: make default anno style non-global
Additionally:
* Added the DimShowLine preference. Layout of the tab will be updated later.
* Improved handling of DraftAnnotationScale preference: catch division by zero and use it for the default anno style.
2023-11-23 09:45:12 +01:00
Roy-043
0734b518b4 Merge pull request #11477 from Roy-043/Draft-improved-handling-of-snap-prefs
Draft: improved handling of snap prefs
2023-11-21 18:40:42 +01:00
Roy-043
59ba9146b8 Draft: improved handling of snap prefs
* Some trackers had 2 color nodes.
* Added a setColor function to some trackers.
* Added a set_snap_style function to the Snapper class.
2023-11-21 17:14:17 +01:00
Roy-043
84deb09f0b Draft: make mod key prefs non-global 2023-11-20 21:17:18 +01:00
Roy-043
1193491f40 Draft: gridShowHuman did not work
* The gridBorder pref was ignored.
* BimProject has been renamed to BimProjectManager.
2023-11-20 19:54:24 +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
9511ef6fb7 Merge pull request #11440 from Roy-043/Draft-make-Draft_Edit-prefs-non-global
Draft: make Draft_Edit prefs non-global
2023-11-18 19:45:00 +01:00
Roy-043
6e6be51bf0 Draft: make Draft_Edit prefs non-global 2023-11-18 19:18:23 +01:00
Roy-043
05f064d35b Draft: constraining did not respect global mode
Fixes #10496.
2023-11-18 13:36:35 +01:00
Roy-043
acac040b6e Draft: Draft_Join should call join_wires
Also removed an obsolete comment.
2023-11-16 21:02:19 +01:00
Roy-043
cb94603731 Draft: menu texts of snaps to sentence case 2023-11-15 14:59:38 +01:00
Roy-043
50e5130060 Draft: cleanup related to PR11336
See #11336
2023-11-14 11:51:34 +01:00
Roy-043
7521751f79 Typos 2023-11-14 00:04:33 +01:00