// // Copyright 2008 Simon Edwards // Generated by twine // This file is part of PyKDE4. // PyKDE4 is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of // the License, or (at your option) any later version. // PyKDE4 is distributed 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 this program. If not, see . class KWidgetItemDelegate : QAbstractItemDelegate { %TypeHeaderCode #include %End public: explicit KWidgetItemDelegate (QAbstractItemView* itemView, QObject* parent /TransferThis/ = 0); QAbstractItemView* itemView () const; QPersistentModelIndex focusedIndex () const; protected: virtual QList createItemWidgets () const=0; virtual void updateItemWidgets (const QList widgets, const QStyleOptionViewItem& option, const QPersistentModelIndex& index) const=0; void setBlockedEventTypes (QWidget* widget, QList types) const; QList blockedEventTypes (QWidget* widget) const; public: ~KWidgetItemDelegate (); }; // KWidgetItemDelegate %MappedType QList { %TypeHeaderCode #include %End %ConvertFromTypeCode // Create the list. PyObject *l; if ((l = PyList_New(sipCpp->size())) == NULL) return NULL; // Set the list elements. for (int i = 0; i < sipCpp->size(); ++i) { PyObject *pobj; #if PY_MAJOR_VERSION >= 3 if ((pobj = PyLong_FromLong ((long)sipCpp->value(i))) == NULL) { #else if ((pobj = PyInt_FromLong ((long)sipCpp->value(i))) == NULL) { #endif Py_DECREF(l); return NULL; } PyList_SET_ITEM(l, i, pobj); } return l; %End %ConvertToTypeCode // Check the type if that is all that is required. if (sipIsErr == NULL) return PyList_Check(sipPy); QList *ql = new QList; for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) { #if PY_MAJOR_VERSION >= 3 ql->append((QEvent::Type)PyLong_AsLong(PyList_GET_ITEM(sipPy, i))); #else ql->append((QEvent::Type)PyInt_AS_LONG (PyList_GET_ITEM(sipPy, i))); #endif } *sipCppPtr = ql; return sipGetState(sipTransferObj); %End };