Commit Graph

35 Commits

Author SHA1 Message Date
PhoneDroid
842c5f53e1 [ App ]: Update SPDX License Identifiers 2025-12-25 11:55:37 -06:00
Markus Reitböck
73c97bc90f App: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:02 +02:00
Jacob Oursland
5c251e73ac python: apply const method annotations to impls. 2025-04-16 20:32:04 -07:00
wmayer
6f5259af26 App: Apply clang format (part 1) 2024-11-21 07:54:24 +01:00
wmayer
af8c05c507 App: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
berniev
85170b2879 remove redundant void 2022-07-31 10:27:44 +02:00
Uwe
e69a920f18 [App] remove superfluous nullptr checks 2022-07-18 03:12:01 +02:00
wmayer
ab6c75fad9 Core: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 14:04:05 +02:00
marioalexis
1bc43b8606 App: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
wmayer
4b483807c7 Base: replace several reinterpret_cast 2022-05-11 20:01:40 +02:00
wmayer
1a20b7f119 App: modernize C++11
* use nullptr
2022-03-23 17:29:23 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
08b77bff08 Core/Mod: modernize C++11
* use nullptr
2022-03-09 21:55:31 +01:00
Uwe
a8c912d6f8 [App] Expression and Extension: remove unused includes 2022-02-25 18:06:57 +01:00
wmayer
ff28b5212f App: [skip ci] use better deprecation warning as used in PR 4335 2021-01-30 17:27:08 +01:00
wmayer
54a7ce43a0 App: [skip ci] print deprecation warning if addExtension() has two arguments 2021-01-30 17:20:43 +01:00
Stefan Tröger
ec5ac30756 Remove ExtensionProxy and rely on default Python proxy for extensions. fixes #0004534 2021-01-30 16:00:48 +01:00
wmayer
d4eb49c63c App: [skip ci] extend Python wrapper of hasExtension() to have full control over calling the C++ function 2020-03-17 14:03:14 +01:00
Stefan Tröger
7b79012ae1 Implement and test extension events 2020-02-13 14:39:46 +01:00
luz.paz
019f73852c src/App: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/App` files
2019-12-25 11:38:43 +01:00
wmayer
2951d0901a store Python attributes of all extension types in one dict 2018-09-27 21:48:30 +02:00
looooo
85bb30495e py3: PyFindMethod -> GnericGetAttr
issue 0000995
2017-06-03 10:51:05 +02:00
wmayer
cc27b24da7 implement ExtensionContainerPy::getCustomAttributes to return a PyCFunction bound to the correct object 2016-11-13 17:49:10 +01:00
wmayer
ff2a361928 fix several gcc warnings 2016-11-08 14:31:08 +01:00
wmayer
f1127dd2f4 Fix issues:
+ improve formatting
+ remove superfluous semicolons
+ comment unused parameters
+ rename Initialisation to Initialization
+ rename Deinitialisation to Finalization
+ remove spaces
2016-10-08 12:48:34 +02:00
Stefan Tröger
0ae9346b3c Extenions: Drop virtual inheritance
Due to problems onthe windows platform the virtual inheritance approach must be dropped. NExt to the already reimplemented proeprty interface the Type interface is reimplemented too. This change allows to revert some earlier changes.
2016-10-08 12:48:34 +02:00
Stefan Tröger
89bbb81521 Extension: Fix order-of-initialisation crash
FreeCADs property system utilises some pointer math to calculate the offset between
property and base class. Due to virtual inheritance of th ePropertyContainer the memory
layout has been changed to rather random, which has lead to crashes dependend on the
order of object initialisation.

The solution is to not make PropertyContaner virtual but a class below, Base::Persitance.
Then the memory layout is random for Persistance, but it is perfectly aligned for the
base class chains from PropertyContainer onwards as well as from Extension onwards.
Hence the proeprty system was changed to take the offset always from those two.
2016-10-08 12:48:34 +02:00
Stefan Tröger
fc34fc2f2f Extensions: Fix crash due to wrong reference count 2016-10-08 12:48:34 +02:00
Stefan Tröger
07d749525f Extension: Dont override PythonFeature proxy name 2016-10-08 12:48:34 +02:00
Stefan Tröger
7a2fed1b75 Extension: Delete extensions correctly 2016-10-08 12:48:34 +02:00
Stefan Tröger
3e1ba47d61 Extensions: Handle new dynamic_cast's 2016-10-08 12:48:34 +02:00
Stefan Tröger
f0f31ff94c Extensions: Make Python Integration work 2016-10-08 12:48:34 +02:00
Stefan Tröger
88484d7054 Extensions: Allow them to be added dynamically 2016-10-08 12:48:34 +02:00
Stefan Tröger
16f8dbbacd Extensions: special calls for document object extensions 2016-10-08 12:48:34 +02:00
Stefan Tröger
552fe52774 Extensions: Show up in the python interface 2016-10-08 12:48:34 +02:00