Commit Graph

267 Commits

Author SHA1 Message Date
Roy-043
d72f90d972 Draft: Fix misplaced Draft_Edit nodes for BezCurve 2nd version
The poles in the resetTrackersBezier function are in the CS of the geometric parent of the curve. Before using `p = obj.getGlobalPlacement().multVec(p)` the nodes have to be translated to the CS of the curve. Otherwise the effects of the curve's Placement would be added twice. See discussion: https://github.com/FreeCAD/FreeCAD/pull/4889



 the global coordinate system. They should therefore not be translated from the LCS to the GCS.
2021-06-26 09:42:56 +02:00
Yorik van Havre
54139caff9 Draft: Fixed construction group name 2021-06-22 12:38:22 +02:00
luz paz
0db5d84a7e Fix source comment typos
Found via `codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,bottome,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,ontop,orgin,orginx,orginy,ot,pard,parms,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml,./build/doc/SourceDocu`
2021-06-10 17:33:40 -04:00
Yorik van Havre
c50bbd263d Merge pull request #4833 from carlopav/draft-fix-autogroup
Draft: fix Autogroup to fix Draft_OrthoArray crash when using active Std_Part.
2021-06-09 12:44:42 +02:00
marioalexis
1c918e9d9e Draft: Improve alignToSelection method on WorkingPlane 2021-06-06 21:30:20 -03:00
carlopav
d115db2cbb Draft: Autogroup, insert guard to prevent cyclic references
ref. Forum discussion: Draft_OrthoArray: Crash when using active Std_Part. https://forum.freecadweb.org/viewtopic.php?f=23&t=59155&p=508132#p508132

Autogroup try to add new created Draft Objects into the active Part, but if the Part is used as a Base for the new object this could create a cyclic reference. 
This behaviour is prevented by adding a check for " obj in active_part.InListRecursive"
2021-06-06 11:21:21 +02:00
Yorik van Havre
7b58a46ab7 Merge pull request #4827 from Roy-043/Draft_Fix_gui_stretch
Draft: Fix gui_stretch
2021-06-04 13:18:05 +02:00
Yorik van Havre
f9c0455385 Merge pull request #4816 from luzpaz/typos
Fix misc. typos
2021-06-04 13:16:21 +02:00
luz paz
097bb0769c Arch: fix typo in translate() 2021-06-03 14:36:21 -04:00
Roy-043
6cbd0cb9b4 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
carlopav
267291567f Draft: Edit, cleanup of new GuiTools.addPoint methods
In new splitted addPoint methods, getObjectsInfo and the consequent checks have been removed and moved to main DraftEdit module in a new get_specific_object_info method.
This method returns the info for the selected object at a given position and the 3d Vector of the point clicked on the object.
2021-06-01 23:21:12 +02:00
carlopav
5841b737e1 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
0ea4c5d2fe 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
28ced10d50 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
cc87ab4913 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
bd02136f9d 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
b108f66780 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
d363f10edf Draft: Add shortcut to fillet command 2021-05-31 16:18:36 -03:00
Matthijs Kooijman
738bcbe357 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 507c40669d
(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 68119de02f (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
089b2ae478 Draft: Fixed use of double quotes in Draft Texts 2021-05-21 15:35:29 +02:00
Yorik van Havre
2f3bb4050e Draft: Added 'apply to texts/dims' button to SetStyle dialog 2021-05-11 16:24:06 +02:00
Yorik van Havre
28c51d4a43 Draft: Allow to use dimension tool with predefined direction 2021-05-11 13:27:41 +02:00
Yorik van Havre
8c4f4e6895 Draft: Added load/save functionality to SetStyle dialog 2021-05-06 18:36:41 +02:00
Yorik van Havre
131cdd1e4e 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
9d8c51ccd7 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
737f4b387d 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
16cfcf51c3 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
dca216e761 Merge branch 'master' into draft-feature_name 2021-04-29 12:40:27 +02:00
Yorik van Havre
a25d7cd2ec 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
1388db3c0a Crowdin: represent whitespace in code instead of string 2021-04-19 06:23:07 -04:00
luz paz
f2b93a7af3 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
b42994fbc4 Draft: Fix regression in trimex command 2021-04-11 16:24:02 -03:00
Yorik van Havre
37ef8ee24f 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
7573e54d16 Merge pull request #4546 from chennes/lgtmDraftUnusedLoopVariables
[DRAFT] Remove unused loop variable
2021-03-30 13:04:08 +02:00
Yorik van Havre
d8fc51dcf5 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
d428b30635 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
55cb6e58eb Merge branch 'master' into draft-snap 2021-03-26 11:21:08 +01:00
Yorik van Havre
8f02f8c8f3 Merge branch 'master' into draft-close_button 2021-03-26 11:19:09 +01:00
Yorik van Havre
c4a49a5575 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
efbdc2ec9e Draft: Clear tracker attributes when finish method is executed in gui_stretch 2021-03-20 17:12:58 -03:00
marioalexis
96d1516abe 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
122a3dad59 Draft: Set reject method for working plane task dialog 2021-03-20 17:12:58 -03:00
marioalexis
a57b323e00 Draft: Call finish method if pressed Close button in dumb taskdialog 2021-03-20 17:12:58 -03:00
marioalexis
4ef6bde9a3 Draft: Make Edit closed wires consistent with open wires and tracker 2021-03-20 01:58:10 -03:00
marioalexis
bc60c93266 Draft: Fix regression in sync_snap_toolbar_button function 2021-03-14 17:14:58 -03:00
Yorik van Havre
d0eb13be15 Merge pull request #4544 from chennes/draftSnapSyncRefactor
[DRAFT] Refactor sync_snap_toolbar_button
2021-03-10 16:24:16 +01:00
Chris Hennes
752cb73d24 [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
f018b1dedb [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
d78017f2e0 [Draft] Return once the button is found 2021-02-28 21:48:31 -06:00
Chris Hennes
58a6f05956 [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