Commit Graph

256 Commits

Author SHA1 Message Date
carlopav
d2d570f875 Draft: Edit, moved resetTrackers for context menu actions to main module
The wrapper allows to call resetTrackers in the main module after the callback to the GuiTools is executed.

This is the last commit, many thanks to @matthijskooijman for having menthored me :)

I think it's helpful to have @matthijskooijman explanation on this use of the wrapper:

This defines a new wrapper function, that calls the original callback and then calls resetTrackers. Note that this creates a new function for every loop iteration, so each of these wrapper functions captures potentially different callback, self and obj values so things work as expected. Note I did something weird with the callback value there: Since functions like these capture a variable, not its value at the time of function definition, and loop variables like label and callback are a single variable shared between all loop iterations, capturing callback directly ends up with all wrappers calling the last callback (i.e. they all capture the same variable and by the time the wrappers are called, that variable will contain the last of the callbacks). This is commonly solved by using a default value in the function definition, since such a default value uses the value of the (in this case) callback variable, not capturing the variable.
2021-06-01 23:20:41 +02:00
carlopav
4db4d1c34f Draft: Edit, Added reverse wire option to context menu
Now Draft Edit can reverse the order of the points of a Draft_Wire
2021-06-01 22:53:24 +02:00
carlopav
d3b524704f Draft: Edit, rewriting context menu system
get_edit_point_context_menu(self, edit_command, obj, node_idx)
get_edit_obj_context_menu(self, edit_command, obj, position)
that are called depending if the user is over an editpoint or over another part of the object.
2021-06-01 22:53:01 +02:00
carlopav
50a596f687 Draft: Edit, Split out addPoint in multiple methods in the GuiTools
Now Draft_Wire, Draft_BSpline, Draft_Bezcurve have their own methods to add points.
2021-06-01 21:57:38 +02:00
carlopav
2e36f8a832 Draft: Edit, change startEditing method to accept (obj, node_idx)
This enable to start editing also without an user click event, by just calling the method and specifying the object and the edit point index.
It is used for alternative edit mode (alt_edit_mode) by arc context menu
2021-06-01 21:47:37 +02:00
carlopav
aa7dddeecc Draft: Edit, Remove all the empty pass functions
Remove unused functions. Since GuiTools objects inherit from the GuiTools class, they do not need those placeholders.
2021-06-01 21:47:37 +02:00
marioalexis
86d5cd0cfe Draft: Add shortcut to fillet command 2021-05-31 16:18:36 -03:00
Matthijs Kooijman
d928f37761 Draft: Fix "Show groups in layer list drop-down button" preference
The code that was intended to handle this preference looked inside
Mod/BIM instad of Mod/Draft for the preference. This seems to have been
broken since the preference was first introduced in commit 9976a5ece0
(Draft: Turned autogroup button into layers selector (added pref option
to restore old groups-based system)).

This also removes a stray "-" that was probably a leftover from a merge
conflict, introduced in commit 0547d23660 (Draft: move Draft_AutoGroup to
gui_groups module). Since -True is still true and -False is still false,
this did not actually break the code, though.

See https://forum.freecadweb.org/viewtopic.php?t=42018 for related
discussion.
2021-05-22 18:33:15 +02:00
Yorik van Havre
dbd7dbd332 Draft: Fixed use of double quotes in Draft Texts 2021-05-21 15:35:29 +02:00
Yorik van Havre
fd9c075411 Draft: Added 'apply to texts/dims' button to SetStyle dialog 2021-05-11 16:24:06 +02:00
Yorik van Havre
489f7441af Draft: Allow to use dimension tool with predefined direction 2021-05-11 13:27:41 +02:00
Yorik van Havre
dd3f723465 Draft: Added load/save functionality to SetStyle dialog 2021-05-06 18:36:41 +02:00
Yorik van Havre
966906da96 Merge pull request #4557 from luzpaz/crowdin/whitespaces-substituted-into-code
Crowdin: represent whitespace in code instead of in string
2021-05-05 17:18:35 +02:00
Roy-043
e13bf0fac7 Update gui_points.py
Gui.addModule("Draft") should be executed before committing _cmd_list irrespective of the UsePartPrimitives setting.
2021-04-29 21:07:07 +02:00
Roy-043
a3778eacd4 Update gui_arcs.py
Gui.addModule("Draft") should be executed before committing _cmd_list irrespective of the UsePartPrimitives setting.
2021-04-29 21:05:52 +02:00
Roy-043
7fa3869116 Update gui_ellipses.py
Gui.addModule("Draft") should be executed before committing _cmd_list irrespective of the UsePartPrimitives setting.
2021-04-29 21:03:44 +02:00
Yorik van Havre
c0c49ebffc Merge branch 'master' into draft-feature_name 2021-04-29 12:40:27 +02:00
Yorik van Havre
d366c38922 Merge pull request #4389 from marioalexis84/draft-close_button
[0.20] [Draft] Call finish method if Close button is pressed in dumb taskdialog
2021-04-20 11:36:03 +02:00
luz paz
6f83a4a815 Crowdin: represent whitespace in code instead of string 2021-04-19 06:23:07 -04:00
luz paz
b94ee8b275 Crowdin: represent whitespace in code instead of in string [skip ci]
Removing possible whitespace from strings lead to more accurate translations
2021-04-19 06:16:09 -04:00
marioalexis
d0c1935cbf Draft: Fix regression in trimex command 2021-04-11 16:24:02 -03:00
Yorik van Havre
433441298c Merge pull request #4410 from marioalexis84/draft-snap
Draft: Fixes #0004278: Working Plane Proxy origin hijack nearby object
2021-03-30 13:16:14 +02:00
Yorik van Havre
ac8f611fc7 Merge pull request #4546 from chennes/lgtmDraftUnusedLoopVariables
[DRAFT] Remove unused loop variable
2021-03-30 13:04:08 +02:00
Yorik van Havre
d30ecd96bd Merge pull request #4625 from marioalexis84/draft-edit
Draft: Make Edit closed wires consistent with open wires and tracker
2021-03-30 12:50:06 +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
7c6c0ea7bd Merge branch 'master' into draft-snap 2021-03-26 11:21:08 +01: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
7a54edb33a Draft: Set reject method for working plane task dialog 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
marioalexis
b9421e2747 Draft: Make Edit closed wires consistent with open wires and tracker 2021-03-20 01:58:10 -03:00
marioalexis
4bbd75686c Draft: Fix regression in sync_snap_toolbar_button function 2021-03-14 17:14:58 -03:00
Yorik van Havre
5c30dc8ce2 Merge pull request #4544 from chennes/draftSnapSyncRefactor
[DRAFT] Refactor sync_snap_toolbar_button
2021-03-10 16:24:16 +01:00
Chris Hennes
4ebdff9d9c [Draft] Fix localize_vectors double definition
LGTM identified an instance where a function was defined twice: in this
case, one version was intended to take a list of items and the second
version just a single item. Because they share the same name and number
of arguments, the second definition overrode the first. This causes no
problems in the current code because the version that takes a list is
never used. However, for consistency with the analogous
"globalize_vectors" and "globalize_vector" functions, the "localize*"
versions are changed to match that pattern. All calls in are
converted to the singular use.
2021-03-01 09:36:21 -06:00
Chris Hennes
2d9c9accda [DRAFT] Remove unused loop variable
LGTM is concerned about the unused loop variable in this algorithm.
While there was nothing wrong here, to eliminate the alarm the loop was
removed entirely, since Python allows the use of the multiplication
operator here to achieve the same effect.
2021-02-28 23:18:53 -06:00
Chris Hennes
59ecfbe508 [Draft] Return once the button is found 2021-02-28 21:48:31 -06:00
Chris Hennes
747dc8b81a [DRAFT] Refactor sync_snap_toolbar_button
LGTM objected to the re-use of the loop variable a in the algorithm.
Upon closer inspection, the algorithm in this function could be modified
to match the algorithm in sync_snap_statusbar_button (which does the
same thing to the statusbar that this does to the toolbar). This
eliminates the double-use. This change does not affect the functionality
of the routine.
2021-02-28 21:42:46 -06:00
Chris Hennes
26ce308cf1 [DRAFT] Add call to super().__init__ where missing
Identified by LGTM. The toplevel superclass does initialize one data
member to an empty array, but this didn't appear to cause any problems.
2021-02-27 18:21:54 +01:00
marioalexis
b8dee20115 Draft: Fix snap to proxy WP and BuildingParts - fixes #0004278 2021-02-23 21:40:06 -03:00
Yorik van Havre
335cc13d48 Draft: Applied patch from nahshon - fixes misc errors from translation fixes 2021-02-15 15:50:45 +01:00
David Osterberg
9dd96ed107 Draft: Fix regressions in Draft array 2021-02-14 01:20:06 +01:00
wmayer
ac6d06dd84 Draft: fix syntax errors 2021-02-13 12:14:12 +01:00
Yorik van Havre
abee35f38a Draft: Fixed broken translations everywhere 2021-02-12 14:44:58 +01:00
Chris Hennes
a7522c384e [DRAFT] Catch only Exception, not BaseException 2021-02-11 11:52:45 +01:00
marioalexis
ae4ef332ff Draft: Correct the placement in scale_with_clone - fixes #0004113 2021-02-06 23:42:22 -03:00
marioalexis
6969be3881 Draft: Use function-specific icons in the taskbar 2021-02-01 01:26:15 -03:00
Roy-043
b6976b3b23 [Draft] Fix snap to center of faces of solids
The code would only find a center snap on the face with index=0 of solids.

In V0.19 Part.getShape was introduced (line 399). But not all consequences were not fully implemented.

In the '# we are snapping to an edge' section (line 411) the code could be cleaned up. There is no need to check if the index of the edge is correct for the parent object since we are no longer dealing with a parent object. That portion was effectively dead code.

The '# we are snapping to a face' section (line 429 in the revised code) has been modified accordingly, which fixes the bug.

Forum discussion:
https://forum.freecadweb.org/viewtopic.php?f=23&t=54747
2021-01-25 15:33:36 +01:00
marioalexis
875c0d8612 Draft: Prevent Draft_Wire from setting a single-edge wire as closed 2021-01-22 01:16:40 -03:00