Commit Graph

77 Commits

Author SHA1 Message Date
wmayer
4f116d8de3 App: Move Python functions from Application to ApplicationPy
This reduces build time when adding new Python functions because
only one file must be compiled.
2026-02-05 10:59:52 +01:00
Ladislav Michl
0831f7e392 App: Avoid C string compare
Since we are linking to boost anyway, use boost function for case
insensitive string compare. While there, make affected methods accept
std::string arguments, which simplifies code a bit.
2026-01-30 10:58:09 +01:00
PhoneDroid
8abd25c999 [ App ]: Update SPDX License Identifiers 2025-12-25 11:55:37 -06:00
Markus Reitböck
d05e2a0431 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
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Joao Matos
9bcdd2d44c Rename DocumentCreateFlags to DocumentInitFlags. 2025-03-07 20:54:16 +00:00
Joao Matos
d6510061b3 App: Fix memory leak regression in ApplicationPy::newDocument. 2025-03-07 20:42:51 +00:00
Joao Matos
1c2ac570f8 Convert DocumentCreateFlags instances to use designated initializer list. 2025-03-07 20:42:51 +00:00
tritao
10513144d9 Base: Standardize on Py::Long type for Python bindings. 2025-02-08 13:14:22 +00:00
tritao
123569823e App: Provide temporary document creation flag to Python App.loadDocument. 2025-02-03 18:01:18 +01:00
wmayer
4e82a0af48 App: Apply clang format (part 1) 2024-11-21 07:54:24 +01:00
bgbsww
53a8a0f513 Tiny doc format changes to make pybin11_stubgen happy 2024-09-30 17:53:48 +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
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
Chris Hennes
56d820892c App: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:20 -05:00
bdieterm
f6027d805c Core: escape filepath characters in FreeCAD.loadFile 2023-08-21 19:50:51 -04:00
wmayer
26f16f7410 App: modernize C++: use range-based for loop 2023-08-14 16:40:25 +02:00
Uwe
9869a2c3d7 [Build] output point release version
- to Splashscreen, About, MainWindow and Console
2022-12-05 00:26:43 +01:00
wmayer
e10b23ca70 App: replace boolean with enum 2022-11-17 17:38:31 +01:00
marioalexis
5cb31ece93 App: Check Python types using Base::PyTypeCheck 2022-09-24 05:10:34 +02:00
wmayer
ec72d96038 App: [skip ci] improve whitespace 2022-08-08 10:11:22 +02:00
berniev
7f699c3dad App: redundant void 2 2022-08-08 09:45:36 +02:00
andrea
b420901697 Remove 2 deprecate PyCFunction 2022-07-28 01:50:15 +02:00
andrea
0c4c3cc786 Remove unused code into App 2022-07-23 14:27:50 +02:00
wmayer
201f4c9a5a Core: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 14:04:05 +02:00
marioalexis
22763c9e4f App: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
Uwe
063fd56f5f [App] remove unnecessary Boolean comparisons 2022-06-19 15:18:34 +02:00
wmayer
6bc65bdd99 Mod: issue #6274: Source code installation failed 2022-04-18 12:27:09 +02:00
wmayer
749361d2f3 App: modernize C++11
* use nullptr
2022-03-23 17:29:23 +01:00
wmayer
9160f06e1c Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
d69defaa3c Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
8d3c66cf18 Core/Mod: modernize C++11
* use nullptr
2022-03-09 21:55:31 +01:00
Uwe
4ed705903b [App] Application: remove unused includes
- also sort the includes
2022-02-22 13:17:07 +01:00
wmayer
d5726bd7af App: standard path handling
* distinguish between temp and cache location
* document's transident directory is created in the cache location
* add functions to access temp and cache location via Python
2021-11-15 16:26:25 +01:00
wmayer
5ad8bed9c4 App: add new config key UserConfigPath to store the path to the config files 2021-11-09 13:46:26 +01:00
wmayer
09da245af9 App: harmonize API of App::Application
* make getHomePath() static and return a std::string
* make getExecutableName() static and return a std::string
2021-11-04 10:50:09 +01:00
luz paz
fc6d1292d1 App: remove Py2 code from several src/App .cpp files 2021-04-19 15:27:06 +02:00
luz paz
472168fc15 Fix typos [skip ci]
Typos ffound via `codespell v2.1.dev0`  
Also includes fixes in deprecated code of `src/Mod/Assembly`
2020-12-28 23:14:04 +01:00
wmayer
6b2b6a4868 PyCXX: [skip ci] fix compiler warnings due to changes on PyCXX 2020-11-25 16:52:46 +01:00
luz paz
bfdffb50be App: Fix header uniformity, trailing whitespace, and doxygen headers 2020-11-19 13:38:37 +01:00
wmayer
17a25e0903 fix docstring and segmentation fault in Application::sNewDocument 2020-07-14 19:46:17 +02:00
Zheng, Lei
536051179b App/Gui: introduce temporary document
Add new argument to Application::newDocument() to create a temporary
    document. Also exposed to Python API App.newDocument() with a named
    argument 'temp'.

    The temporary document is marked with status bit 'TempDoc'. The user
    will not be prompt for saving when closing. The undo/redo is disabled.
    The AutoSaver skips it. And the tree view will not show it.
    PropertyXLink allows linking to/from object within a temporary document
    without saving.
2020-07-14 19:36:05 +02:00
wmayer
033ddff089 cast between incompatible function types from 'PyObject* (*)(PyObject*, PyObject*, PyObject*)' {aka '_object* (*)(_object*, _object*, _object*)'} to 'PyCFunction' {aka '_object* (*)(_object*, _object*)'} [-Wcast-function-type] 2020-06-12 17:51:33 +02:00
wmayer
49bfbf73f8 Base: [skip ci] add method to more easily set the Python error indicator from a Base::Exception 2020-03-18 17:53:13 +01:00
wmayer
120b69c74f App: add methods to change import/export module of a registered filetype 2020-01-18 15:29:44 +01:00
luz.paz
4f308dc03c 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
luz.paz
06cf1d5b70 Fix various typos [skip ci]
Fixed via 
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,currenty,dof,doubleclick,dum,eiter,elemente,feld,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,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
```
2019-12-17 15:13:48 -03:00
Zheng, Lei
363fe1b635 App: fix wrong python function type in FreeCAD.open() 2019-10-09 13:45:32 +02:00
Zheng, Lei
834f977157 App: add argument 'hidden' to FreeCAD.new/openDocument()
The keyword argument 'hidden' allows create/open document without 3D
view.
2019-10-07 14:25:27 +02:00
luz.paz
8825c95727 Fix typos in src/App 2019-08-17 15:32:48 +02:00