Yuri D'Elia
009e02b6c0
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
594c382e5e
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
17eac1ab69
Gui: Fix possible crash when using Shiboken::Enum::getValue
...
Fixes #14156
2024-06-16 22:18:58 -05:00
wmayer
03715005f8
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
ac48d2bfb0
Core: Fix build failures and warnings
2024-05-07 19:48:33 +02:00
Martin Rodriguez Reboredo
51987dc1ab
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
221ae53dbe
Gui: TypeInitStruct for Shiboken6 builds
2024-04-29 16:08:07 -04:00
Ladislav Michl
15094fadef
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
d4c564efe9
Gui: PythonWrapper: Make qt_getCppType more robust
...
Handle gracefully possible shiboken's Python API changes.
2024-03-03 15:20:48 +01:00
wmayer
3d2c365093
Gui: PythonWrapper: Fix possible crash in qt_wrapInstance
2024-03-03 15:20:48 +01:00
Ladislav Michl
cbff393dc1
Gui: PythonWrapper: Use getPyTypeObjectForTypeName consistently
2024-03-03 15:20:48 +01:00
Ladislav Michl
92e047d886
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
61bca92941
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
282c44ead1
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: 26babf4d3674 (Gui: Consolidate Python -> Qt class conversion)
2024-02-24 01:18:30 +01:00
wmayer
572a2f4243
Gui: fix linter warnings
2024-02-22 11:47:48 +01:00
wmayer
f22bfcef9b
Gui: fixes #12540 : ‘ModuleShiboken’ was not declared in this scope
2024-02-22 11:47:48 +01:00
wmayer
756329e7f4
Gui: removed unused variable
2024-02-20 14:44:53 +01:00
Ladislav Michl
b90f43d0d4
Gui: PythonWrapper: move getCppPointer into template
2024-02-16 09:25:02 +01:00
Ladislav Michl
3a26e22f38
Gui: PythonWrapper: move wrap instance argument into template
2024-02-16 09:22:57 +01:00
Ladislav Michl
7a3069797e
Gui: PythonWrapper: fix access via Python to QObject and QWidget
2024-02-16 09:22:57 +01:00
Ladislav Michl
6d28656e44
Gui: PythonWrapper: unify getPyTypeObjectForTypeName
2024-02-16 09:22:57 +01:00
Ladislav Michl
8f029e551f
Gui: PythonWrapper: consolidate module loader
2024-02-16 09:22:54 +01:00
xtemp09
f1fe2bb3a8
Correction of #11775
2024-01-23 07:39:51 -06:00
xtemp09
fbb114c47c
Fix occasional segmentation fault when exiting
...
Fixes #11521 .
2024-01-22 10:49:52 -06:00
Ladislav Michl
d03a0dfcd7
Gui: Consolidate Python -> Qt class conversion
2024-01-22 06:58:17 +01:00
Ladislav Michl
3dd2fc8f0f
Gui: Consolidate module error message in PythonWrapper
2024-01-22 06:58:17 +01:00
wmayer
9fb08b887d
fixes #11533 : TypeError in: FreeCADGui.getMainWindow().windowStateChanged
2023-11-27 11:30:41 -06:00
wmayer
4d4267481f
Gui: modernize C++: use override
2023-08-04 17:09:53 +02:00
wmayer
567b34419a
Gui: support of wrapping QImage
2023-08-03 01:31:15 +02:00
wandererfan
ef68b1c020
[Gui]overload toQGraphicsItem, toQGraphicsObject for PyObject
2023-04-22 13:48:31 -04:00
Pesc0
99e13d9529
Remove all PyQt references
2023-03-31 10:36:04 +02:00
wmayer
64f6f73bcf
Gui: Use shiboken6 & PySide6 API
2023-01-01 19:06:06 +01:00
wmayer
7a6e2cc6bb
Gui: refactor PythonWrapper
2023-01-01 17:42:25 +01:00
wmayer
e8ed464559
Gui: refactor PythonWrapper
2023-01-01 16:35:12 +01:00
wmayer
9ce8743ff2
Gui: include header for QPrinter
2022-12-22 16:28:01 +01:00
wmayer
5657abebfc
Gui: support of QPrintSupport module in PythonWrapper
2022-12-22 16:18:18 +01:00
luz paz
26cf9e771f
Add missing brackets + change indentation to spaces
2022-12-12 11:38:06 +01:00
luz paz
f17b73a7bf
Cleanup: move return statement to new line + trailing
...
Follow-up to #6497
2022-12-12 11:38:06 +01:00
wmayer
9c358a5d3a
Gui: [skip ci] fix build failure if shiboken support is disabled
2022-11-05 13:38:39 +01:00
wmayer
9eb078da5d
Gui: fix possible crash when running the garbage collector after creating a shiboken wrapper
2022-11-04 21:00:49 +01:00
wmayer
1ecfcf3e5e
Gui: include needed header
2022-10-31 11:32:06 +01:00
wmayer
bf857c7997
Gui: clear the list of Python wrapper when quitting the application
2022-10-31 11:17:41 +01:00
wmayer
5f48e22bba
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
342666162a
Gui: fix possible crash in WrapperManager
2022-10-25 12:48:55 +02:00
wmayer
8b1760971f
Gui: cppcoreguidelines-pro-type-reinterpret-cast
...
Replace an unsafe reinterpret_cast with the safer static_cast
2022-10-24 17:09:53 +02:00
wmayer
15fc8c0541
Gui: fix crash when accessing PySide wrapper after the underlying QObject has been destroyed
2022-10-21 17:05:55 +02:00
berniev
ae53c9b0a4
Gui: Use auto and range-based for ( #7481 )
...
* On lines where the variable type is obvious from inspection, avoid repeating the type using auto.
* When possible use a ranged for loop instead of begin() and end() iterators
2022-09-14 13:25:13 -05:00
wmayer
07ccb73fe7
Partially revert "Remove unused code into GUI"
2022-07-17 12:32:03 +02:00
andrea
7886d3cbf4
Remove unused code into GUI
2022-07-17 03:53:11 +02:00
wmayer
aa4f06b648
Gui: fix build failure with Qt 5.9
2022-05-08 19:36:51 +02:00