Commit Graph

63 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
25c3ba7338 All: Reformat according to new standard 2025-11-11 13:49:01 +01:00
Markus Reitböck
6ef07bb358 Gui: 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:03 +02:00
Kacper Donat
1f82156948 Gui: Fix wildcard call disconnects warnings Qt6.9 (#22096)
* Gui: Fix wildcard call disconnects warnings Qt6.9

* Gui: Fix typo

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-06-23 17:42:03 +00:00
bofdahof
998f4e4d45 Console: rename PascalCase named methods to camelCase 2025-05-06 17:50:21 +02:00
Ladislav Michl
c293d74566 Base: rename Exception's PascalCase methods to camelCase 2025-05-05 23:50:01 +02:00
Andrea
5f6f2d04ad Update PythonWrapper.cpp
.
2025-03-05 09:32:06 +01:00
Andrea
da66720d3a REMOVE old QT<= 5.14 code
Ubuntu 22.04  use qt 1.15.3.
In the code is still used qt code <5.10.
A cleanup was done by removing qT code version used in ubuntu 18.04.
2025-03-05 09:32:06 +01:00
Yuri D'Elia
41d67f8e10 Gui: Fix Shiboken version detection and compilation error
- Shiboken headers need to be included first to get MAJOR/MINOR version
  flags. Without them the code would still compile, but fail the version
  check a few lines below assuming Shiboken is always older than 5.12
- Fix typo in cast when HAVE_SHIBOKEN_TYPE_FOR_TYPENAME is defined and
  remove the conditional: we have to assume typeForTypeName() always
  results in a valid name, as for the other implementations. There's no
  error handling of any kind in callers.

This fixes the build on debian unstable with shiboken 5.15.
2024-07-21 00:04:37 -05:00
wmayer
32830c0680 Gui: Fix comparison of argument of clicked() with StandardButton
Fixes #14639: Comparison between integers and StandardButton fails for Python task dialogs with PySide6
2024-06-16 22:18:58 -05:00
wmayer
2b52bed558 Gui: Fix possible crash when using Shiboken::Enum::getValue
Fixes #14156
2024-06-16 22:18:58 -05:00
wmayer
70be39dd0d Gui: Fix PythonWrapper::toEnum() to also accept a Python int as argument
See https://github.com/FreeCAD/FreeCAD/pull/13611#issuecomment-2097126565
2024-05-09 01:28:45 -04:00
wmayer
e86272fab2 Core: Fix build failures and warnings 2024-05-07 19:48:33 +02:00
Martin Rodriguez Reboredo
9759da82e4 Fixups with Qt6 enums (#13611)
* Python PySide enums to C++ converter

* Python IntFlags to C++ int in getStandardButtons

* Remove int conversion in mods Python sources
2024-05-06 18:02:18 +02:00
Martin Rodriguez Reboredo
0100a99838 Gui: TypeInitStruct for Shiboken6 builds 2024-04-29 16:08:07 -04:00
Ladislav Michl
0420f72ca0 Gui: PythonWrapper: Consolidate typeName handling
Use typeName consistently for both PySide and Python interface
code paths.
2024-03-03 15:20:48 +01:00
wmayer
866909e2f6 Gui: PythonWrapper: Make qt_getCppType more robust
Handle gracefully possible shiboken's Python API changes.
2024-03-03 15:20:48 +01:00
wmayer
26dedb03ce Gui: PythonWrapper: Fix possible crash in qt_wrapInstance 2024-03-03 15:20:48 +01:00
Ladislav Michl
a11d8710c1 Gui: PythonWrapper: Use getPyTypeObjectForTypeName consistently 2024-03-03 15:20:48 +01:00
Ladislav Michl
769d14a1f1 Gui: PythonWrapper: Raise exception on qt_wrapInstance failure
When qt_wrapInstance fails it returns Py::Object with internal
pointer set to null. Make PythonWrapper::from* methods raise
exception when this happens to be consistent with PySide code path.
2024-03-03 15:20:48 +01:00
Ladislav Michl
da64119797 Gui: Implement PythonWrapper::fromQAction
Wrapping QAction through QObject does not work as QAction class
is a part of QtGui not QtCore, so Py::Object with internal
pointer being null is returned causing a crash later.
Therefore implement fromQAction conversion method.
2024-03-03 15:20:48 +01:00
Ladislav Michl
967633eca9 Gui: PythonWrapper: Do not steal reference
Foreign Python objects needs to be passed as Py::Object().
Py::asObject() is stealing reference and object might be garbage
collected even before dereferenced. Problem didn't show in the
original code because methods Py::asObject() was used in were
never called.

Fixes: ac6f991baf (Gui: Consolidate Python -> Qt class conversion)
2024-02-24 01:18:30 +01:00
wmayer
89a1dc0363 Gui: fix linter warnings 2024-02-22 11:47:48 +01:00
wmayer
b335a15ccc Gui: fixes #12540: ‘ModuleShiboken’ was not declared in this scope 2024-02-22 11:47:48 +01:00
wmayer
aed799ce2a Gui: removed unused variable 2024-02-20 14:44:53 +01:00
Ladislav Michl
16232eed95 Gui: PythonWrapper: move getCppPointer into template 2024-02-16 09:25:02 +01:00
Ladislav Michl
6f8268b394 Gui: PythonWrapper: move wrap instance argument into template 2024-02-16 09:22:57 +01:00
Ladislav Michl
9e65a334fb Gui: PythonWrapper: fix access via Python to QObject and QWidget 2024-02-16 09:22:57 +01:00
Ladislav Michl
ec93b2aef1 Gui: PythonWrapper: unify getPyTypeObjectForTypeName 2024-02-16 09:22:57 +01:00
Ladislav Michl
92d0e5a266 Gui: PythonWrapper: consolidate module loader 2024-02-16 09:22:54 +01:00
xtemp09
5aa36cd7dc Correction of #11775 2024-01-23 07:39:51 -06:00
xtemp09
51ccf610c0 Fix occasional segmentation fault when exiting
Fixes #11521.
2024-01-22 10:49:52 -06:00
Ladislav Michl
ac6f991baf Gui: Consolidate Python -> Qt class conversion 2024-01-22 06:58:17 +01:00
Ladislav Michl
9f5f00db69 Gui: Consolidate module error message in PythonWrapper 2024-01-22 06:58:17 +01:00
wmayer
3f7e4d42e5 fixes #11533: TypeError in: FreeCADGui.getMainWindow().windowStateChanged 2023-11-27 11:30:41 -06:00
wmayer
e72da4d4c4 Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer
b202eb2f6b Gui: support of wrapping QImage 2023-08-03 01:31:15 +02:00
wandererfan
c55a9256e1 [Gui]overload toQGraphicsItem, toQGraphicsObject for PyObject 2023-04-22 13:48:31 -04:00
Pesc0
876601d34d Remove all PyQt references 2023-03-31 10:36:04 +02:00
wmayer
fd7c7f35cf Gui: Use shiboken6 & PySide6 API 2023-01-01 19:06:06 +01:00
wmayer
f565fa2f7a Gui: refactor PythonWrapper 2023-01-01 17:42:25 +01:00
wmayer
6358ad1717 Gui: refactor PythonWrapper 2023-01-01 16:35:12 +01:00
wmayer
53e93c4363 Gui: include header for QPrinter 2022-12-22 16:28:01 +01:00
wmayer
caa7eb36f9 Gui: support of QPrintSupport module in PythonWrapper 2022-12-22 16:18:18 +01:00
luz paz
7637d58df0 Add missing brackets + change indentation to spaces 2022-12-12 11:38:06 +01:00
luz paz
80efe8191e Cleanup: move return statement to new line + trailing
Follow-up to #6497
2022-12-12 11:38:06 +01:00
wmayer
4a4c4dad6c Gui: [skip ci] fix build failure if shiboken support is disabled 2022-11-05 13:38:39 +01:00
wmayer
fda1b18b1a Gui: fix possible crash when running the garbage collector after creating a shiboken wrapper 2022-11-04 21:00:49 +01:00
wmayer
37d94bb4f9 Gui: include needed header 2022-10-31 11:32:06 +01:00
wmayer
58d227570d Gui: clear the list of Python wrapper when quitting the application 2022-10-31 11:17:41 +01:00
wmayer
7c51aa9749 Gui: [skip ci] Missing reference in range-for with non trivial type (Py::Object) [-Wclazy-range-loop-reference] 2022-10-25 13:36:39 +02:00