Commit Graph

61 Commits

Author SHA1 Message Date
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
wmayer
51698f6a4c Gui: fix possible crash in WrapperManager 2022-10-25 12:48:55 +02:00
wmayer
7a77549ed7 Gui: cppcoreguidelines-pro-type-reinterpret-cast
Replace an unsafe reinterpret_cast with the safer static_cast
2022-10-24 17:09:53 +02:00