Commit Graph

352 Commits

Author SHA1 Message Date
wmayer
c6f083b3e7 Core: Add wrapper function Application::applicationPid() 2024-11-01 15:48:01 +01:00
Benjamin Nauck
4eb7d5d09c Add "Safe mode" which temporarily disables configs and addons (#16858)
* Add safe-mode which starts freecad in a clean environment

* Integrate safe-mode

* Show "(Safe Mode)" in main window title

* Show safe mode info when safe mode is started

* Created Safe Mode Icon

* Use new icon

* Add PreCompiled.h

* Add exports for windows

---------

Co-authored-by: Gabriel <gaz082@gmail.com>
2024-10-21 18:08:52 +02:00
supermixed
f763425b4f Core: Import STEP: Cancel button does not cancel (#16499)
* Fix importing .step file when user cancelled import settings dialog
* Refactor object loading python code, fix not using settings when STEP options dialog not shown
* Use custom exception type for user cancelling import instead of `RuntimeError`
* Pull python code out to external file
2024-09-20 08:25:23 -05:00
wmayer
1d0fe1ab28 Port: Include some important changes of the OpenBSD port
Forum thread: https://forum.freecad.org/viewtopic.php?t=80792
2024-09-09 18:01:38 +02:00
Chris Hennes
1566dfa37a Merge pull request #15669 from marioalexis84/fem-link_scope_python_objects
Fem: Fix link scope for Python objects
2024-08-05 10:53:50 -05:00
bgbsww
441fbdd064 Add a command line option to keep application open after running tests 2024-08-05 10:47:59 -05:00
marioalexis
776158addd Base: Add PropertyError exception 2024-08-02 20:19:16 -03:00
wmayer
6009072675 Core: Fix Python API name clash: do not expose the App::Part type to Python
Fixes #12539
2024-07-15 10:57:59 -05:00
PaddleStroke
31beda6f09 Core: Add App::PropertyXLinkSubHidden 2024-07-10 10:29:03 +02:00
hlorus
b42c3aade0 Remove Std_MeasureDistance 2024-06-11 17:57:01 +02:00
bdieterm
ea68c5e88c Core: fix import of FreeCAD in a Python 3.12 interpreter
Importing FreeCAD as a module in a normal Python interpreter (e.g. /usr/bin/python3) stopped working with Python 3.12 (but works normally with Python 3.11). When executing "import FreeCAD as App", the interpreter crashes with "Fatal Python error: PyImport_AppendInittab: PyImport_AppendInittab() may not be called after Py_Initialize()".
The check that causes the error message and abortion was introduced in Python 3.12 via
7f3a4b967c
(and a typo in the error message fixed via)
35dd55005e
2024-06-07 12:19:45 -05:00
wmayer
6fb7c51c18 App: Prepare for clang-format 2024-06-03 12:52:30 +02:00
Chris Hennes
b5d7d989c5 Merge pull request #14082 from Ondsel-Development/issue_13522_fix_read_lock
Core: Add read lock to fix for possible race conditions reading/writing config files
2024-05-27 10:41:23 -05:00
FEA-eng
4c0ae6122f Base: Add moment unit 2024-05-16 12:51:37 -05:00
wmayer
459b4d2c36 Core: Fix possible race conditions when reading or writing config file 2024-05-06 13:24:17 +02:00
WandererFan
db22476450 Merge pull request #9750 from hlorus/gsoc2023_measure
GSoC 2023: Unified Measurement Facility
2024-04-29 12:41:54 -04:00
hlorus
2acf5ccab0 [App] Add registration functions for unified measurement facility 2024-04-29 09:27:22 -04:00
wmayer
200d9eeb84 App: Add class CleanupProcess to allow to free resources when closing the application 2024-04-25 15:44:22 +02:00
mosfet80
eb842aadff Update Application.cpp
removed commented code
2024-04-20 08:54:02 +02:00
wmayer
2295cba5ef Fixes #11970: Return values of FreeCAD.get*Dir and FreeCAD.get*Path functions have inconsistent path separators 2024-03-22 09:42:31 +01:00
Florian Foinant-Willig
5a22009217 Add SuppressibleExtension 2024-02-21 16:19:32 +01:00
Pieter Hijma
095e94183a [Core] Managing Custom Data Elements: VarSet (#12135)
* [Core] Add a basic VarSet document object

* [Core] Add basic tests for VarSets

* Core: Replace the VarSet icon with an outlined one
2024-02-21 10:38:06 +01:00
marioalexis
0b76757b8a App: Add StiffnessDensity property 2024-01-26 13:44:16 -03:00
IMO
256820ac97 bugfix: exit() is not async-signal-safe! 2023-12-11 18:10:41 +01:00
André Caldas
560898907b Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
Chris Hennes
fa65438556 Core: Enable compiling with MSVC /permissive- (#11014)
* Base: Fixes for MSVC permissive-

* App: Fixes for MSVC permissive-

* Gui: Fixes for MSVC permissive-

* Main: Fixes for MSVC permissive-

* Fem: Fixes for MSVC permissive-

* Material: Fixes for MSVC permissive-

* Part: Fixes for MSVC permissive-

* Mesh: Fixes for MSVC permissive-

* Points: Fixes for MSVC permissive-

* Robot: Fixes for MSVC permissive-

* TechDraw: Fixes for MSVC permissive-

* Path: Fixes for MSVC permissive-

* Core; Changes per review comments

* TD: Revision from wandererfan

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-27 17:37:29 +01:00
wmayer
5a81fcd7a5 MSVC: fix warnings and build failure 2023-09-23 19:10:32 +02:00
wmayer
ee0fad4c90 App: modernize C++: use default member init 2023-08-23 19:51:44 +02:00
wmayer
89bdd489b0 App: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer
26f16f7410 App: modernize C++: use range-based for loop 2023-08-14 16:40:25 +02:00
marioalexis
818a4f1cc8 App: Initialize StringHasher and StringID classes 2023-08-10 11:55:21 -03:00
wmayer
d150fa7164 modernize C++: avoid bind
In many cases std::bind() is kept because the code is much simpler
2023-08-08 21:10:16 +02:00
wmayer
bb23aaf3e9 Core: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
Chris Hennes
ea49b3fe78 GUI: Add prominent dev build indicators 2023-08-04 18:21:39 -06:00
bdieterm
bf025720ec fix function name in doxygen annotation 2023-07-10 09:23:59 -05:00
luzpaz
129d5882a7 Migrate domain name from freecadweb to freecad (#9352)
* Migrate domain name from freecadweb to freecad
* Migrate src/Mod/Material files
* Migrate Stylesheet related files
* Migrate *.svg files
* Migrate miscellaneous files
* Migrate some build files
* Migrate recently added TD AR_IRAM template files

Closes #6415
2023-04-24 15:19:20 -05:00
wmayer
51a2cb9599 App: fix some lint warnings 2023-04-07 12:41:46 +02:00
berniev
de1acd926e simplifying a function
Dramatic simplification of legacy code by separating code and data and applying some later C++.
Function removed from Application.cpp as it was in a anonymous namespace and could not easily be subjected to unit testing.
Added ProgramOptionsUtilities.h
2023-04-07 12:37:05 +02:00
wmayer
07cf291516 Core: support to load old project files containing image planes
See forum: https://forum.freecad.org/viewtopic.php?p=670545#p670545
2023-03-26 13:51:07 +02:00
wmayer
084f77f8be Core: move image plane to core system 2023-03-22 13:44:00 +01:00
Uwe
25031a74ee [App] [skip ci] register PropertyVelocity
- was forgotten once the property was implemented some days ago
2023-03-18 05:45:45 +01:00
Uwe
35338171f1 [App] register all available unit properties
- was missing in #6717
2023-02-26 19:12:25 +01:00
Uwe
201b95a5b2 [Core] add quantity Magnetization
- needed for FEM and Material
2023-02-08 20:33:58 +01:00
Uwe
82b6e03625 [FEM] add current density constraint
- also add corresponding App::PropertyCurrentDensity

- also fix a typo in test_object.py
2023-02-05 21:10:15 +01:00
wmayer
5995556b08 [skip ci] fix typos 2023-01-06 18:16:50 +01:00
Zheng, Lei
7164674cb4 Base/App/Gui: force using Base::Handle for ParameterManager
For reference counting
2023-01-06 09:14:41 -06:00
Uwe
9869a2c3d7 [Build] output point release version
- to Splashscreen, About, MainWindow and Console
2022-12-05 00:26:43 +01:00
Zheng, Lei
d3c063f88c Base/App: add new signal interface to Parameter
Added new signal interface using boost::signals2 signalParamChanged.

Exposed to Python as ParameterGrpPy.AttachManager() to monitor changes
to all parameters, sub groups under the referring group.

Added new attribute for ParameterGrp(Py) to query the Parent and Manager
of the referring group.
2022-12-03 17:08:17 -06:00
wmayer
2252696828 Base: move class ProgressIndicatorPy to its own files 2022-11-22 15:07:33 +01:00
berniev
d2e5a12190 change ALL_UPPER_CASE constexpr definitions to camelCase 2022-11-19 16:00:36 +01:00