Commit Graph

41736 Commits

Author SHA1 Message Date
Chris Hennes
0d46a72396 CMake: Add policy 0177 to normalize install paths
Also sort policies by number.
2025-02-22 20:48:44 -06:00
Chris Hennes
3b5f560975 CI: Update LibPack version in action
Also requires deleting the cached copy.
2025-02-22 20:48:44 -06:00
Chris Hennes
20e4d25d70 CMake: Adopt policy CMP0144
All-uppercase find_package()
2025-02-22 20:48:44 -06:00
Chris Hennes
b46aa342e4 CMake: Correct use of CACHE 2025-02-22 20:48:44 -06:00
Chris Hennes
ac77cd779e CMake: PySide cleanup 2025-02-22 20:48:44 -06:00
Chris Hennes
e25efd4fb9 CMake: Expand note about BOOST_PP_VARIADICS=1 2025-02-22 20:48:43 -06:00
Chris Hennes
699e1bd463 Gui: Change variable name import->importCommand
import is a reserved word in c++latest
2025-02-22 20:48:43 -06:00
Chris Hennes
84b3f39785 CMake: Set CMP0153 to NEW 2025-02-22 20:48:43 -06:00
Chris Hennes
d127610ccf CMake: Add details about why CMP0148 is needed 2025-02-22 20:48:43 -06:00
Chris Hennes
87ce62f8ac CMake: Update compiler and standard mins 2025-02-22 20:48:43 -06:00
Chris Hennes
16ac5f0a50 CMake: Remove old policy 0072 2025-02-22 20:48:43 -06:00
Chris Hennes
7a4e20e7f7 CMake: Add policy CMP0175 2025-02-22 20:48:43 -06:00
bofdahof
62415907ee current src path no longer required 2025-02-22 20:48:30 -06:00
Jacob Oursland
9af828d15a CMake: Remove unsupported DEPENDS args to CMake macros. 2025-02-22 20:41:15 -06:00
tritao
9c0b95b569 Gui: Split SelectionObserverPython call logic into separate handler class. 2025-02-23 00:05:23 +00:00
Benjamin Nauck
78a1a81661 Spreadsheet: Move "arrange" and "act" to the tests 2025-02-22 20:04:46 +01:00
bofdahof
d1e5c3340e Response to code review 2025-02-22 20:04:46 +01:00
bofdahof
0f362ebcfe break down some large tests into single-assert tests
More still to do
2025-02-22 20:04:46 +01:00
Chris Hennes
f92fcbd089 Addon Manager: Fix pip usage on Snap and Appimage 2025-02-22 12:02:06 -06:00
GHDE
f494c2059b fixed openExternalLinks in DlbAbout (FreeCAD#16423) 2025-02-22 12:00:39 -06:00
marioalexis
5042b94463 Fem: Add metadata info to blocks 2025-02-22 14:46:50 -03:00
marioalexis
e84eb920dc Fem: Add frd format converter to VTK 2025-02-22 14:46:50 -03:00
Andrea
f001b8a10a update conda
switch to last 24 version
fix:
https://github.com/conda/conda-libmamba-solver/releases
2025-02-22 17:37:24 +01:00
Bas Ruigrok
ad84f57ceb Gui: Accumulate orientation for NaviCube flat button animations 2025-02-21 21:57:00 +01:00
Bas Ruigrok
0d1e41ee5c Gui: Return animation from setCameraOrientation and translateCamera 2025-02-21 21:57:00 +01:00
Colin Rawlings
f74efa319c Add check that the solid_name is valid
Avoid errors when hovering on the menu's label
2025-02-21 14:22:40 -06:00
bofdahof
34639e777d Remove OpenCascade Community Edition 2025-02-21 14:21:21 -06:00
Chris Hennes
574579196b Merge pull request #19660 from adrianinsaval/fix-spnav-regression
Fix spnav not enabled by default on linux after #19226 and #19407
2025-02-21 14:20:55 -06:00
bofdahof
b73a403ab0 Remove second vtk listing. See #19607 2025-02-21 14:18:10 -06:00
Chris Hennes
6fedb9da7d Merge pull request #19739 from kadet1090/is-null-or-empty
Base: Add isNullOrEmpty string helper
2025-02-21 13:49:10 -06:00
Chris Hennes
318d6e1555 Base: Stop exception from leaking from Console().*
These are sometimes used in destructors, where a raised exception calls terminate()
2025-02-21 10:56:41 -06:00
tritao
8ba573712c Tools: Introduce a Python-based API bindings template generator.
This extends the existing XML-based template generator to allow an
additional kind of Python-based input.

The Python code is read as source code to an AST to a typed model
equivalent to the existing XML model, and processed by the existing
code templates into compatible code.

This provides a few benefits, namely readability is much increased,
but more importantly, it allows associating the APIs with Python's new
typing information, which will allow to provide accurate type hinting
without additional downstream processing in the future.

Right now this is just a proof-of-concept but if the approach is
well received, then a more complete implementation can be done with
further conversion of existing binding files.

Here is an example of how it looks, though I still think the metadata
is too verbose and can be made to look nicer with some further work.

```python
from ..Base.Metadata import metadata
from ..Base.Persistence import PersistencePy
from typing import Any, Optional, List

@metadata(
    Father="PersistencePy",
    Name="DocumentPy",
    Twin="Document",
    TwinPointer="Document",
    Include="Gui/Document.h",
    Namespace="Gui",
    FatherInclude="Base/PersistencePy.h",
    FatherNamespace="Base"
)
class DocumentPy(PersistencePy):
    """
    This is a Document class.

    Author: Werner Mayer (wmayer@users.sourceforge.net)
    Licence: LGPL
    """

    def __init__(self, *args: Any, **kwargs: Any) -> None:
        """
        Constructor for DocumentPy.
        """
        super(DocumentPy, self).__init__(*args, **kwargs)
        pass

    def show(self, objName: str) -> None:
        """
        show(objName) -> None

        Show an object.

        Parameters:
            objName (str): Name of the `Gui.ViewProvider` to show.
        """
        pass
```
2025-02-21 16:32:13 +00:00
Joao Matos
b67ab979af CMake: Update minimum Python version to 3.10 2025-02-21 09:45:13 -06:00
Kacper Donat
7a067ed464 Update src/App/Application.cpp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-02-21 15:04:43 +01:00
Kacper Donat
12a69fe296 Base: Add isNullOrEmpty string helper
This adds isNullOrEmpty string helper that cheks if string is... well
null or empty. It is done to improve readability of the code and better
express intent.
2025-02-21 15:04:43 +01:00
tritao
8bb8a36012 Tools: Add documentation for the Python-based bindings system. 2025-02-21 13:18:36 +00:00
tritao
55ec098719 CMake: Rename generate_from_py macro to generate_embed_from_py. 2025-02-21 13:18:36 +00:00
Benjamin Bræstrup Sayoc
2bbf6c7f6e Move Tag to separate translation unit
- Avoid code duplication
- Reduces compile time
2025-02-21 13:01:28 +01:00
Benjamin Bræstrup Sayoc
22058b2c82 Remove unused function assignTag 2025-02-21 11:25:52 +01:00
Lukas Neubert
928556c5e5 readme: fix discord invite 2025-02-21 08:06:16 +01:00
Chris Hennes
9c097eba60 App: Small fixes caught by Coverity scan 2025-02-20 22:00:40 -06:00
Chris Hennes
dabcb2e506 Spreadsheet: Fixes for coverity defects Feb 2025 2025-02-20 21:17:55 -06:00
Alfredo Monclus
c4a4ce3ae0 style: simplify fx icon to be more legible at small sizes 2025-02-20 19:59:56 +01:00
lorenz
ba60cc61e6 add option to disable check for pivy at build-time (#19718)
Co-authored-by: João Matos <joao@tritao.eu>
2025-02-20 08:32:58 -03:00
xtemp09
e1512dc009 [Spreadsheet] Fix popup close issue (#19676)
* [Spreadsheet] Fix popup close issue
2025-02-19 15:49:11 -06:00
Roy-043
5087c1949f Draft: improve upgrade and downgrade
Fixes #16333.
Follow-up of #19487.

* The functions have been made nesting-aware. New objects are put in the same container (Group, Part) as the original objects. As a consequence for some operations the original objects must be in the same container as well.
* New objects receive the visual properties of the original objects. This is not always perfect. For example when upgrading to multiple wires there is currently no check to see which edge came from which orginal object. The fact that the `format_object` function is called from the Draft `make*` functions is problematic here. If construction mode is active `make_wire` puts new objects in the construction group and we don't always want that. This has been solved with a workaround (see 'cludge' in the code).
* The 'de-parametrize' downgrade option has also been enabled for features of PartDesign Bodies that have the `Profile` property.
* Before deleting objects there is a check to see if they are in use elsewhere (`InList` check). Base objects of arrays are not deleted if they are visible. If a PartDesign Body, or an object inside a Body is selected, the whole Body is deleted.
* The force options did not work for functions that take a single object.
* The `getShapeFromMesh` function in ArchCommands.py could return a solid that was not closed. A check for that has been added.
2025-02-19 18:06:12 +01:00
Yorik van Havre
463c7f72a1 BIM: Do not change important pref options without user's consent - fixes #19163 2025-02-19 12:27:32 -03:00
Joao Matos
80c82b852d Git: Ignore extra suffixed build directories.
Its pretty helpful when developing to have multiple build directories
for different branches.

This adds such pattern to .gitignore to be able to have a sane Git
experience.
2025-02-19 10:08:46 -03:00
Benjamin Bræstrup Sayoc
dda05369c4 Base: remove unneeded includes 2025-02-18 11:07:57 -06:00
Furgo
e7763236bc Fix one last instance of NativeIFC 2025-02-18 13:22:23 +01:00