// This is the SIP interface definition for QDialog. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. %ExportedDoc QDialog int exec This has been renamed to exec_loop in Python. This method also causes ownership of the underlying C++ dialog to be transfered to Python. This means that the C++ dialog will be deleted when the Python wrapper is garbage collected. Although this is a little inconsistent, it ensures that the dialog is deleted without having to explicity code it using QObject.deleteLater() or other techniques. %End class QDialog : QWidget { %TypeHeaderCode #include %End public: QDialog(QWidget * /TransferThis/ = 0,const char * = 0,bool = 0,WFlags = 0); enum DialogCode { Rejected, Accepted }; %If (- Qt_3_0_0) int exec() /PyName=exec_loop, ReleaseGIL, PreHook=__pyQtPreEventLoopHook__, PostHook=__pyQtPostEventLoopHook__/; %MethodCode // Transfer ownership back to Python (a modal dialog will // probably have the main window as it's parent). This means // the Qt dialog will be deleted when the Python wrapper is // garbage collected. Although this is a little inconsistent, // it saves having to code it explicitly to avoid the memory // leak. sipTransferBack(sipSelf); Py_BEGIN_ALLOW_THREADS sipRes = sipCpp->QDialog::exec(); Py_END_ALLOW_THREADS %End %End int result() const; void show(); %If (Qt_2_00 -) void hide(); %End void move(int,int); void move(const QPoint &); void resize(int,int); void resize(const QSize &); void setGeometry(int,int,int,int); void setGeometry(const QRect &); %If (Qt_2_2_0 -) void setOrientation(Orientation); Orientation orientation() const; void setExtension(QWidget *); QWidget *extension() const; QSize sizeHint() const; QSize minimumSizeHint() const; void setSizeGripEnabled(bool); bool isSizeGripEnabled() const; %End %If (Qt_3_2_0 -) void setModal(bool); bool isModal() const; %End public slots: %If (Qt_3_0_0 -) int exec() /PyName=exec_loop, ReleaseGIL, PreHook=__pyQtPreEventLoopHook__, PostHook=__pyQtPostEventLoopHook__/; %MethodCode // Transfer ownership back to Python (a modal dialog will // probably have the main window as it's parent). This means // the Qt dialog will be deleted when the Python wrapper is // garbage collected. Although this is a little inconsistent, // it saves having to code it explicitly to avoid the memory // leak. sipTransferBack(sipSelf); Py_BEGIN_ALLOW_THREADS sipRes = sipCpp->QDialog::exec(); Py_END_ALLOW_THREADS %End %End protected slots: virtual void done(int); %If (- Qt_2_00) void accept(); void reject(); %End %If (Qt_2_00 -) virtual void accept(); virtual void reject(); %End %If (Qt_2_2_0 -) void showExtension(bool); %End protected: void setResult(int); void keyPressEvent(QKeyEvent *); void closeEvent(QCloseEvent *); %If (Qt_2_2_0 -) void resizeEvent(QResizeEvent *); %End %If (Qt_3_0_0 -) void contextMenuEvent(QContextMenuEvent *); bool eventFilter(QObject *,QEvent *); void adjustPosition(QWidget *); %End private: QDialog(const QDialog &); };