Commit Graph

782 Commits

Author SHA1 Message Date
Chris Hennes
533814dd0f Silence Qt/Windows setGeometry Warning
Add the optional Qt::MSWindowsFixedSizeDialogHint parameter to all uses of the QInputDialog::getX static functions to silence a Qt/Windows debug mode warning about QWindowsWindow::setGeometry: Unable to set geometry. Increase the size of the unit calculator to eliminate the same warning. Finally, call adjustSize() on the "Unsaved Changes" dialog to silence the warning.
2020-12-11 09:58:09 +01:00
luz paz
fb5ca272b1 Part: Issue #0004473: Expose openCommand() to translation
Continuing the work to expose the undo/redo functionality to translation. This commit does so for the Part Wb.  
Ticket: https://tracker.freecadweb.org/view.php?id=4473
2020-12-01 14:53:35 +01:00
wmayer
86f3f55aa5 Gui: [skip ci] add method to ignore to merge icon of an extension that is e.g. used for Part primitives 2020-11-21 16:49:08 +01:00
wmayer
55e3aad3c7 Part: allow to open attachment editor via context-menu 2020-11-15 19:16:22 +01:00
wmayer
178ee5b94e Part: move ViewProviderPrimitive to its own source files 2020-11-15 18:44:27 +01:00
wmayer
d8a36bc1b2 Part: [skip ci] include generated ui files from within source file 2020-11-15 13:17:52 +01:00
donovaly
bfa2ac9d31 [Part] show location dialog when creating a Primitive
- there is no reason to hide it and even a bit tiring to open it manually since most no new primitives should be at the origin
- give the combobox to select the primitive type a reasonable name, this helps to understand the code better
2020-11-15 12:56:16 +01:00
wmayer
64152be6f3 Part: [skip ci] rearrange line page to save some vertical space 2020-11-13 15:35:07 +01:00
donovaly
6498795b50 [Part] remove unnecessary vertical whitespace in dialogs
on smaller screens it is very annoying that the Part dialogs have too much vertical whitespace.

This PR gets rid of some unnecessary whitespace.
2020-11-13 13:52:31 +01:00
wmayer
9b88bdcc9b Part: [skip ci] make sure to open a transaction when starting edit mode of primitives via context-menu 2020-11-12 16:35:58 +01:00
wmayer
56c608932f Win: [skip ci] check if NOMINMAX is already defined before setting it 2020-11-11 13:34:42 +01:00
wmayer
ed5fbb876b Part: [skip ci] simplifications in primitives location dialog
- do not use a QSignalMapper if the slot doesn't take care of the emitting widget
- to set the placement only check for the base class GeoFeature, i.e. no need to step through all primitive types
- fix compiler warning of unused variable
2020-11-10 20:20:33 +01:00
donovaly
f7bb206d63 [Part] add preview for changes to primitives location
- unset keyboardTracking for the dialog edits
- don't hide the location dialog on creation
2020-11-10 20:03:08 +01:00
Yorik van Havre
ae2c707892 Merged crowdin translations 2020-11-10 14:58:06 +01:00
wmayer
4a5698375b Part: [skip ci] correctly show control points of a B-spline/Bezier curve/surface if a placement is set 2020-11-09 13:14:31 +01:00
wmayer
7d72ea1c1a Part: [skip ci] implement live preview for primitives 2020-11-08 15:40:59 +01:00
wmayer
ac0e4011cc Part: override extensionSetupContextMenu in ViewProviderSplineExtension 2020-11-08 13:37:17 +01:00
wmayer
b9e373b9b2 Part: make view provider for helix and spiral inherit from primitive and use spline extension 2020-11-08 12:19:57 +01:00
wmayer
e5c63bc3d0 Part: [skip ci] implement extension ViewProviderSplineExtension 2020-11-08 12:18:44 +01:00
wmayer
f49ae11976 Part: [skip ci] properly handle transactions when editing primitives 2020-11-08 10:43:04 +01:00
wmayer
dbd14fe2b9 Part: [skip ci] implement live preview for box and cylinder 2020-11-08 10:26:07 +01:00
donovaly
7460cd5ebc [part] remove a now misleading comment
I added this comment when I read the dialog state fro the index of the type combobox, now we read the primitive's TypeID so the comment is misleading
2020-11-08 06:43:16 +01:00
wmayer
266ca1ad28 Part: allow to edit primitives via dialog 2020-11-06 23:12:40 +01:00
wmayer
677ce69873 [Part] allow to edit helices via a dialog
+ add class ViewProviderPrimitive to avoid to re-implement setEdit/unsetEdit methods for each sub-class separately
+ avoid using global variables
+ when editing a feature directly pass it to the dialogs
+ when editing a feature then do not use active document as this could point to the wrong object
+ fix undo/redo message
+ re-add '3D View' button to location dialog
2020-11-06 19:59:14 +01:00
wmayer
ca5d4d5f72 Part: [skip ci] fix build failure due to missing class declarations 2020-11-06 13:46:38 +01:00
donovaly
18c1364d1d [Part] allow to edit helices via a dialog
fixes https://tracker.freecadweb.org/view.php?id=3857

Currently primitives of the Part WB can only be created suing a dialog. Editing is not possible that way.

This PR makes the first step in achieving this:

- Helices can now be edited using the same dialog ans when created

- New location dialog. The Gui::LocationWidget used there is not aware of the rotation angle and it treats the rotation axis as direction. To fix this, I set changed the dialog so that one can define every parameter as in the PartDesign attacher dialog (Placement, rotation axis and rotation angle separately). Another reason for this change was that one could not use the location dialog, fill it with the placement properties of the object, and close the dialog without any change. Because of the missing angle info the objects was then always rotated despite nothing was changed.

If this PR goes in, I will extend it for the other primitives.

Todo for the future: allow a preview of the changes made in the dialog. (I could not find out how this is done.)
2020-11-06 13:27:03 +01:00
Yorik van Havre
43596a68af Merged crowdin translations 2020-10-28 12:04:37 +01:00
Yorik van Havre
57fbb63b8d Updated ts files 2020-10-28 10:46:51 +01:00
vocx-fc
ae33d9eb91 Part: update the Part_Thickness icon
This is the same as the `PartDesign_Thickness` but without
the red highlights in order to match the rest of the Part icons.
2020-10-22 15:12:59 +02:00
vocx-fc
f945b4c6ae Part: rename the basic Part 2D and 3D icons
The basic icons for the basic features are renamed,
`Tree_Part` to `Part_3D_object`, `Tree_Part2D` to `Part_2D_object`.
2020-10-22 15:11:45 +02:00
wmayer
30455b5861 Part: [skip ci] use the correct icon for helix and sprial view providers 2020-10-22 12:43:39 +02:00
vocx-fc
7ca2d7dd03 Part: add viewprovider icon for the Part::Spline object
The `Part::Spline` object is the parent of the parametric
Surface Workbench objects.

For example, the `Part::Spline` object is created by the
`Surface_CurveOnMesh` tool, which in reality just calls
the `MeshPart_CurveOnMesh` tool.
2020-10-13 15:54:04 +02:00
wmayer
165feeba53 Part: make changing face colors independent of edit-mode implementation of a view provider 2020-10-13 14:16:01 +02:00
vocx-fc
e369d79feb Part: activate Part_ColorPerFace in the menu and toolbar
According to the source this command was deactivated until issue #0477
and hence #1954 could be solved. However, since those issues
haven't been addressed the command has remained hidden for a long time.
This command does not work with objects that reimplement
their edit modes, meaning that it may work with Part and PartDesign
created objects but not with Draft and Arch objects.

The command is added to the standard `View` menu,
and to one `Part tools` toolbar so that it is no longer hidden.
The limitations of the command can be described in the documentation,
and then somebody else can help solve the problem
with the edit modes.

A new icon for the command is also provided.
2020-10-13 12:59:16 +02:00
vocx-fc
8cf9eabb11 Part: fix the mixed newlines of DlgPrimitives.h
My editor, Spyder, detected a mix of Windows and Unix newlines,
and offered to fix the file.
2020-10-13 12:51:51 +02:00
vocx-fc
716c2d67eb Part: improve tooltip of measure commands
Also update the text of the buttons in the `TaskDimension` task panel.

Remove tabs in the source code, as there was a mix of tabs
and spaces. Further cleaning is necessary as the indentation
is inconsistent and mostly 2 spaces instead of 4 spaces.
2020-10-13 12:50:50 +02:00
vocx-fc
39c9e2a451 Part: update icon, object and command for CompoundFilter
The previous icon did not follow the general style and colors
of other icons in the workbench.

If there is no `Stencil` in the `CompoundFilter` object, raise
a `ValueError` exception when the `FilterType` is `'collision-pass'`
or `'window-distance'`.

Raise an exception when `items` is empty, or has a malformed string,
when `Filtertype` is `'specific items'`.

Fix the `getNullShapeShape` function to return a simple
`Part.Shape`, so that there is no error raised if `_nullShapeShape`
doesn't exist. This function doesn't work at all. It was probably
a prototype which was never fully developed; it may be removed
completely in the future.

The docstrings for the commands `CompoundFilter` and `ExplodeCompound`
were revised.

Clean up the spacing of the code so that lines aren't very long.
2020-10-13 12:49:54 +02:00
vocx-fc
a483f28437 Part: update icon for ProjectionOnSurface
The previous icon was improperly trimmed. The new icon
shows the projection more clearly as one object imprinting itself
over another.

Also update the tooltip, fix the indentation of the code,
and the title of the taskpanel `DlgProjectionOnSurface.ui`.
2020-10-12 19:54:11 +02:00
vocx-fc
4f6ea54f49 Part: move more icons to tools subdirectory 2020-10-12 19:54:11 +02:00
vocx-fc
c0f6ecfc86 Part: move icons to measure subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
90688ae6ca Part: move icons to parametric subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
32a5a2dee8 Part: move icons to booleans subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
0b3fd56aa1 Part: move icons to tools subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.
2020-10-12 19:54:11 +02:00
vocx-fc
4b50102f6c Part: move icons to create subdirectory
The path to the icons is added to `AppPartGui.cpp`
using `Gui::BitmapFactory().addPath()`, so the icons are found
automatically in their new directories.

Rename icon `Part_CreatePrimitives.svg` to `Part_Primitives.svg`.
2020-10-12 19:54:11 +02:00
wmayer
9d31b8dab4 Part: [skip ci] port class TaskCheckGeometryResults to OCCT 7.5 2020-10-09 08:39:42 +02:00
wmayer
12b6dd955b Part: port class BOPProgressIndicator to OCCT 7.5 2020-10-09 02:42:13 +02:00
wmayer
c35dba8e34 Part/Import: [skip ci] disable use of Message_ProgressIndicator for OCC >= 7.5 due to major API changes 2020-10-08 14:48:35 +02:00
Yorik van Havre
c2cec2c38a Merged crowdin translations 2020-09-30 14:37:02 +02:00
Yorik van Havre
545055f65f Updated ts files 2020-09-30 13:06:53 +02:00
vocx-fc
eb9ba049fe Part: change command name Part_MakeTube to Part_Tube
This follows the style of the other Part commands which don't
have the word `Make` just the name of the noun, `Box`, `Cylinder`,
`Sphere`, etc.
2020-09-27 13:01:16 +02:00