Commit Graph

2067 Commits

Author SHA1 Message Date
abdullahtahiriyo
08531bfec5 Merge branch 'master' into sketcherMoveColorsToPrefs 2021-10-13 10:01:30 +02:00
Abdullah Tahiri
8242c68509 Sketcher: Copy and Array tool Snap at 5 degrees using CTRL 2021-10-12 09:41:58 +02:00
Chris Hennes
3e8d84ce9b Merge branch 'master' into sketcherMoveColorsToPrefs 2021-10-11 12:31:08 -05:00
Abdullah Tahiri
156bd82f08 Sketcher: Constraint widget associated constraints filter
=========================================================

A new special filter, that filters the constraint list so as to show the constraints associated with the
currently selected geometries.
2021-10-11 16:40:48 +02:00
Abdullah Tahiri
f85a04a84f Sketcher: Redesign of Constraint settings
=========================================

=> The old controltab is substituted by: direct controls (buttons on the constraint widget) and a settings dialog that is independently fired via a button with a settings icon

This makes more space for the list of constraints and generates a lower amount of confussion regarding the old tab names and functions.

Direct control ensures that the most used operations are at hand, while other less changed settings are moved to the settings dialog.

=> Direct controls

One time visibility to match the list selection can be triggered from a new button "Visibility"

This button has drop selections for visibility selections, which are checkable items (currently only one option, but more are envisaged).
The one option currently is the "visibility tracking" functionality. This is a "shortcut" to the option in the settings panel to save unnecessary clicks
in typical operations.

=> Settings dialog

This dialog is live, in that changes to settings are immediatedly propagated to the list control and visibility.
2021-10-11 16:40:48 +02:00
Abdullah Tahiri
d428cd7938 Sketcher: Add preferences icon resource 2021-10-11 16:40:48 +02:00
luz paz
c83dea164b Added requested revisions 2021-10-10 14:57:39 -04:00
luz paz
a03e92da03 Fix various 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,inout,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-10-10 14:55:48 -04:00
wmayer
94516cb0a6 Sketcher: [skip ci] fix -Wunused-lambda-capture 2021-10-06 19:46:57 +02:00
Abdullah Tahiri
ca65026246 Sketcher: New constraint special filter, filter selection
=========================================================

It filters the constraint list to the selected constraints.

It observes selection changes and reacts to new selections.

Forum:
https://forum.freecadweb.org/viewtopic.php?p=537028#p537028
2021-10-06 13:44:06 +02:00
Abdullah Tahiri
eff309b591 Sketcher: use addSelections for group selecions in TaskSketcherElements 2021-10-06 13:44:06 +02:00
Abdullah Tahiri
e953c8e0e6 Sketcher: user addSelections for group selection in SketcherTools 2021-10-06 13:44:06 +02:00
Chris Hennes
ec6d4623d1 [Sketcher] Make status message styleable
Reduce the size and verbosity of the solver and constraint status
messages, and make them styleable both via stylesheets and user
preferences.
2021-10-05 23:24:09 -05:00
Abdullah Tahiri
a4192448a9 Sketcher: redefine filters and groups of filters
================================================

Filters redefined to match:
https://forum.freecadweb.org/viewtopic.php?p=537777#p537777

Group "Datum" stops comprising group "Reference"

Datums+References are now selectable as a multi-filter.

Fixes the akward behaviour of multiselection:
https://forum.freecadweb.org/viewtopic.php?p=537722#p537722

Now when a selection of a filter causes a group of filters comprising the selection to be fulfiled, this is also checked.
2021-10-04 16:30:40 +02:00
Abdullah Tahiri
5715ceb728 Sketcher: Reorder filter entries to match toolbar
================================================

https://forum.freecadweb.org/viewtopic.php?p=537777#p537777
2021-10-04 16:30:28 +02:00
donovaly
9cea75e9b8 adjust preferred size to contain also the ALL entry 2021-10-04 16:25:14 +02:00
donovaly
8a3f8cff48 [Sketch] Selection improvements
as described here: https://forum.freecadweb.org/viewtopic.php?f=17&t=60569&p=537615#p537615
2021-10-04 16:25:14 +02:00
Chris Hennes
3825316026 [Sketcher] Migrate constraint and solver status to StatefulLabel 2021-10-02 22:16:43 -05:00
Abdullah Tahiri
1539467631 Sketcher: Constraint widget Multi Filter feature
================================================

This feature adds a new filter entry "Multiple Filters" in the combobox of the filter.

This enables to define a "Multiple Filter" based on the aggregation of individual filters. So it basically provides for a user defined filter based on constraint types.

This "Multiple Filter" defaults to "All Constraints", and can be defined using the button "..." next to the filter combobox.

The "Multiple Filter" works on the list of constraints, as any other filter, limiting the elements shown in the list to match the multi filter definition.

The "Multiple Filter" interacts with the visibility options as any other filter. This is, in visibility non-tracking mode, it does not change the visibility. The Buttons "Hide Listed" and
"Show Listed" can be operated in this mode as any other filter.

In visibility tracking-mode, it will adapt the visibility of the constraints in the 3D view to the "Multi Filter" definition (exactly as it would to any other filter with its own definition).
2021-10-02 18:21:23 +02:00
Abdullah Tahiri
9d7c5e48b0 Sketcher: Improve text of the constraint widget 2021-09-29 19:39:20 +02:00
wmayer
6f20e3e4d8 Gui: remove QT_TR_NOOP from command group names and use "CommandGroup" as context string 2021-09-29 16:31:55 +02:00
wmayer
3edea9891f Sketcher: [skip ci] remove superfluous QT_TRANSLATE_NOOP from Sketcher commands 2021-09-29 15:46:06 +02:00
Yorik van Havre
140e03301e Updated ts files 2021-09-29 14:32:12 +02:00
Abdullah Tahiri
086b1d2aac Sketcher: Improve the performance of showing/hiding constraints
===============================================================

Forum test and comments:
https://forum.freecadweb.org/viewtopic.php?p=536445#p536390

What?

Showing/hidding a large amount of constraints is very time consuming

Why?

Because SketchObject Constraints property was being set for each individual constraint

Solution is to use the new setVirtualSpace overload taking a list or a tuple, so that all the
constraints are set in a single operation.

In a Debug system with the test of the forum the time taken by the operation is reduced
from 7 minutes to around 2-3 seconds.
2021-09-28 20:08:46 +02:00
Abdullah Tahiri
b9dcac559c Sketcher: Python - enable using the setVirtualSpace command individually or by group 2021-09-28 20:07:41 +02:00
Abdullah Tahiri
7872d0b3bc Sketcher: Overload setVirtualSpace to allow setting a group of constraints 2021-09-28 20:06:52 +02:00
FreeCAD-Tools
5971640e11 Update CommandSketcherVirtualSpace.cpp 2021-09-27 16:09:54 +03:00
FreeCAD-Tools
1d1c126407 Update CommandSketcherTools.cpp 2021-09-27 15:59:31 +03:00
FreeCAD-Tools
b9590a7260 Update CommandSketcherBSpline.cpp 2021-09-27 15:57:12 +03:00
FreeCAD-Tools
d884273eb4 Update CommandCreateGeo.cpp 2021-09-27 15:55:48 +03:00
FreeCAD-Tools
aa4918fa71 Update CommandConstraints.cpp 2021-09-27 15:47:23 +03:00
FreeCAD-Tools
0efabc3861 Update CommandConstraints.cpp 2021-09-27 15:44:55 +03:00
FreeCAD-Tools
bbd39a4e57 Update CommandAlterGeometry.cpp 2021-09-27 15:39:17 +03:00
FreeCAD-Tools
e22335ec2e Update Command.cpp 2021-09-27 15:38:41 +03:00
Abdullah Tahiri
4847d5cab3 Sketcher: Rectangular Array Snap mode
=====================================

Rectangular Array gets a snap mode every 10 degrees when pressing CTRL (for consistency with Multiline arc, which also snaps using CTRL).

Request:
https://forum.freecadweb.org/viewtopic.php?p=535691#p535691
2021-09-25 21:58:14 +02:00
Abdullah Tahiri
380e123626 Sketcher: fix warning unreferenced local variable 2021-09-25 21:06:50 +02:00
Abdullah Tahiri
e0405d377f Sketcher: Hide/show constraints according to filter
===================================================

Updates the visibility to the filter selection on the moment of checking the "track filter selection" checkbox.
2021-09-24 13:33:27 +02:00
Abdullah Tahiri
4cc6fbfc5d Sketcher: Minor fixes sketcher radius/diameter presentation
===========================================================

Some minor fixes:

https://forum.freecadweb.org/viewtopic.php?p=535406#p535406

https://forum.freecadweb.org/viewtopic.php?p=535511#p535511
2021-09-24 06:57:59 +02:00
0penBrain
7485c7d805 [Sketcher] Add an option to get randomness in radius/diameter display angle 2021-09-24 06:57:09 +02:00
0penBrain
e0ca4cf93c [Sketcher] Display radius/diameter constraints with some angle
So they are easily differentiated from distance constraints
 Default angle can be customized with 'BaseApp/Preferences/Mod/Sketcher/RaDiaAngle'
2021-09-24 06:57:09 +02:00
0penBrain
50623c73ee [Sketcher] Code simplification by systematically using 'finishDistance' to determine label distance 2021-09-24 06:57:09 +02:00
Yorik van Havre
6ad3530981 Merged crowdin translations 2021-09-23 17:14:48 +02:00
Yorik van Havre
3573c5b21f Updated ts files 2021-09-23 17:04:05 +02:00
Abdullah Tahiri
6b9545fb0a Sketcher: Fix hide/show operations on Constraint Widget taking too long
=======================================================================

Fixes delay reported here:
https://forum.freecadweb.org/viewtopic.php?f=17&t=60569#p519685
2021-09-22 18:30:03 +02:00
Abdullah Tahiri
a7dc075790 Sketcher: Show All and Hide All buttons on Constraint Widget 2021-09-22 18:29:41 +02:00
Abdullah Tahiri
4cb0e4125b Sketcher: Constraint hiding/showing not working properly for combined constraint icons
======================================================================================

Hiden constraint icons should not be grouped into combined icons. This may also improve selection of combined (stacked) icons.

fixes #4590
2021-09-22 18:29:21 +02:00
Abdullah Tahiri
0facbfc140 Sketcher: Tracking of constraint visibility via contraint widget filter
=======================================================================

Add new option so that the 3D view constraint visibility track the constraint widget filter selection.

It maintains internally two mutually exclusive virtual spaces and the ability to select one as visible (the other remaining hiden).
2021-09-22 18:29:10 +02:00
Abdullah Tahiri
113b78c1d8 Sketcher: Constraint Widget extended filter
===========================================

- Remove "Normal" as it did exactly the same as "All".
- Add "Geometric" to filter only Geometric (non datum) constraints
- Add all individual constraint types to filter.

As per request:
https://forum.freecadweb.org/viewtopic.php?p=534176#p534176
2021-09-22 18:28:59 +02:00
Chris Hennes
9afc4503ab [Sketcher] Refactor split code
LGTM complains about using continue statements inside a loop
whose condition is always false. In addition, the C++ core guidelines
recommend against using the do...while construct, and in this case it
was really serving as a goto, just hiding the actual goto keyword.
This commit replaces the loop and continue structure with simple
conditionals.
2021-09-17 23:43:12 +02:00
luz paz
c4d6bc1d9e Sketcher: fix mislabeled .ui cstring tag
Closes https://github.com/FreeCAD/FreeCAD-translations/issues/59  
Thanks @jakub-swierk for the patch!
2021-09-08 10:21:43 -04:00