diff options
Diffstat (limited to 'sip/qt/qpopupmenu.sip')
-rw-r--r-- | sip/qt/qpopupmenu.sip | 282 |
1 files changed, 282 insertions, 0 deletions
diff --git a/sip/qt/qpopupmenu.sip b/sip/qt/qpopupmenu.sip new file mode 100644 index 0000000..08366b4 --- /dev/null +++ b/sip/qt/qpopupmenu.sip @@ -0,0 +1,282 @@ +// This is the SIP interface definition for QPopupMenu. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QPopupMenu</Title> +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef></ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> + +<FuncSynopsis> + <FuncDef>int <Function>exec</Function></FuncDef> + <ParamDef>const QPoint &<Parameter>pos</Parameter></ParamDef> + <ParamDef>int <Parameter>indexAtPoint</Parameter> = 0</ParamDef> +</FuncSynopsis> +<Para> +This has been renamed <Literal>exec_loop</Literal> in Python. +</Para> +<Para> +This method also causes ownership of the underlying C++ menu to be transfered +to Python. This means that the C++ menu will be deleted when the Python +wrapper is garbage collected. Although this is a little inconsistent, it +ensures that the menu is deleted without having to explicity code it using +<Literal>QObject.deleteLater()</Literal> or other techniques. +</Para> +</Sect2> +%End + + +%If (- Qt_2_00) + +class QPopupMenu : QTableView, QMenuData +{ +%TypeHeaderCode +#include <qpopupmenu.h> +%End + +public: + QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0); + + void popup(const QPoint &,int = 0); + void updateItem(int); + void setCheckable(bool); + bool isCheckable() const; + void setFont(const QFont &); + void show(); + void hide(); + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu 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->QPopupMenu::exec(); + Py_END_ALLOW_THREADS +%End + + int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu 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->QPopupMenu::exec(*a0,a1); + Py_END_ALLOW_THREADS +%End + + void setActiveItem(int); + int idAt(int) const; +%If (Qt_1_43 -) + int idAt(const QPoint &) const; +%End + +signals: + void activated(int); + void highlighted(int); + void activatedRedirect(int); + void highlightedRedirect(int); + void aboutToShow(); + +protected: + int cellHeight(int); + int cellWidth(int); + void paintCell(QPainter *,int,int); + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); + void timerEvent(QTimerEvent *); + +private: + QPopupMenu(const QPopupMenu &); + void menuContentsChanged(); + void menuStateChanged(); + void menuInsPopup(QPopupMenu *); + void menuDelPopup(QPopupMenu *); + void frameChanged(); +}; + +%End + + +%If (Qt_2_00 -) + +class QPopupMenu : QFrame, QMenuData +{ +%TypeHeaderCode +#include <qpopupmenu.h> +%End + +public: + QPopupMenu(QWidget * /TransferThis/ = 0,const char * = 0); + +%If (- Qt_3_0_5) + void popup(const QPoint &,int = 0); +%End +%If (Qt_3_0_5 -) + void popup(const QPoint &,int = -1); +%End + void updateItem(int); + + virtual void setCheckable(bool); + bool isCheckable() const; + + void setFont(const QFont &); + void show(); + void hide(); + + int exec() /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu 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->QPopupMenu::exec(); + Py_END_ALLOW_THREADS +%End + + int exec(const QPoint &,int = 0) /PyName=exec_loop, ReleaseGIL, + PreHook=__pyQtPreEventLoopHook__, + PostHook=__pyQtPostEventLoopHook__/; +%MethodCode + // Transfer ownership back to Python (a modal menu will + // probably have the main window as it's parent). This means + // the Qt menu 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->QPopupMenu::exec(*a0,a1); + Py_END_ALLOW_THREADS +%End + + virtual void setActiveItem(int); + QSize sizeHint() const; + + int idAt(int) const; + int idAt(const QPoint &) const; + + bool customWhatsThis() const; + +%If (Qt_2_1_0 -) + int insertTearOffHandle(int = -1,int = -1); +%End + +%If (Qt_2_2_0 -) + void activateItemAt(int); +%End +%If (Qt_3_0_0 -) + QRect itemGeometry(int); +%End + +signals: + void activated(int); + void highlighted(int); + void activatedRedirect(int); + void highlightedRedirect(int); + void aboutToShow(); +%If (Qt_2_2_0 -) + void aboutToHide(); +%End + +protected: + int itemHeight(int) const; + int itemHeight(QMenuItem *) const; + void drawItem(QPainter *,int,QMenuItem *,bool,int,int,int,int); + + void drawContents(QPainter *); + + void closeEvent(QCloseEvent *); + void paintEvent(QPaintEvent *); + void mousePressEvent(QMouseEvent *); + void mouseReleaseEvent(QMouseEvent *); + void mouseMoveEvent(QMouseEvent *); + void keyPressEvent(QKeyEvent *); +%If (Qt_2_1_0 -) + void focusInEvent(QFocusEvent *); + void focusOutEvent(QFocusEvent *); +%End + void timerEvent(QTimerEvent *); +%If (Qt_3_0_0 -) + void leaveEvent(QEvent *); +%End + void styleChange(QStyle &); +%If (Qt_3_1_0 -) + void enabledChange(bool); +%End +%If (Qt_2_1_0 -) + int columns() const; + + bool focusNextPrevChild(bool); +%End + +%If (Qt_3_0_0 -) + int itemAtPos(const QPoint &,bool = 1) const; +%End + +private: + QPopupMenu(const QPopupMenu &); + + void menuContentsChanged(); + void menuStateChanged(); + void menuInsPopup(QPopupMenu *); + void menuDelPopup(QPopupMenu *); + void frameChanged(); +}; + +%End |