qprintdialog.sip 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // qprintdialog.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtPrintSupport Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. %If (PyQt_PrintDialog)
  22. class QPrintDialog : public QAbstractPrintDialog
  23. {
  24. %TypeHeaderCode
  25. #include <qprintdialog.h>
  26. %End
  27. public:
  28. QPrintDialog(QPrinter *printer, QWidget *parent /TransferThis/ = 0);
  29. explicit QPrintDialog(QWidget *parent /TransferThis/ = 0);
  30. virtual ~QPrintDialog();
  31. virtual int exec() /PostHook=__pyQtPostEventLoopHook__,PreHook=__pyQtPreEventLoopHook__,ReleaseGIL/;
  32. %MethodCode
  33. // Transfer ownership back to Python (a modal dialog will probably have the
  34. // main window as it's parent). This means the Qt dialog will be deleted when
  35. // the Python wrapper is garbage collected. Although this is a little
  36. // inconsistent, it saves having to code it explicitly to avoid the memory
  37. // leak.
  38. sipTransferBack(sipSelf);
  39. Py_BEGIN_ALLOW_THREADS
  40. sipRes = sipSelfWasArg ? sipCpp->QPrintDialog::exec()
  41. : sipCpp->exec();
  42. Py_END_ALLOW_THREADS
  43. %End
  44. %If (Android || Linux || WebAssembly)
  45. virtual void accept();
  46. %End
  47. virtual void done(int result);
  48. void setOption(QAbstractPrintDialog::PrintDialogOption option, bool on = true);
  49. bool testOption(QAbstractPrintDialog::PrintDialogOption option) const;
  50. void setOptions(QAbstractPrintDialog::PrintDialogOptions options);
  51. QAbstractPrintDialog::PrintDialogOptions options() const;
  52. virtual void setVisible(bool visible);
  53. virtual void open();
  54. void open(SIP_PYOBJECT slot /TypeHint="PYQT_SLOT"/);
  55. %MethodCode
  56. QObject *receiver;
  57. QByteArray slot_signature;
  58. if ((sipError = pyqt6_qtprintsupport_get_connection_parts(a0, sipCpp, "()", false, &receiver, slot_signature)) == sipErrorNone)
  59. {
  60. sipCpp->open(receiver, slot_signature.constData());
  61. }
  62. else if (sipError == sipErrorContinue)
  63. {
  64. sipError = sipBadCallableArg(0, a0);
  65. }
  66. %End
  67. signals:
  68. void accepted();
  69. void accepted(QPrinter *printer);
  70. };
  71. %End