// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module kdeui version KDE 3.5.3 // This software 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 of // the License, or (at your option) any later version. // // This software 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 library; see the file COPYING. // If not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. %ModuleHeaderCode const char **PyQtListToArray(PyObject *); %End class KEditListBox : QGroupBox { %TypeHeaderCode #include %End public: %If ( KDE_3_1_0 - ) class CustomEditor { public: CustomEditor (); CustomEditor (QWidget*, KLineEdit*); CustomEditor (KComboBox*); void setRepresentationWidget (QWidget*); void setLineEdit (KLineEdit*); virtual QWidget* representationWidget () const; virtual KLineEdit* lineEdit () const; protected: }; // class CustomEditor public: %End public: %If ( KDE_3_5_0 - ) enum Button { Add, Remove, UpDown }; enum { All }; %End KEditListBox (QWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); KEditListBox (const QString&, QWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); %If ( KDE_3_1_0 - ) KEditListBox (const QString&, const KEditListBox::CustomEditor&, QWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); %End QListBox* listBox () const; KLineEdit* lineEdit () const; QPushButton* addButton () const; QPushButton* removeButton () const; QPushButton* upButton () const; QPushButton* downButton () const; int count () const; void insertStringList (const QStringList&, int = -1); void insertStrList (const QStrList*, int = -1); void insertStrList (const QStrList&, int = -1); void insertStrList (SIP_PYLIST, int = -1) [void (const char**, int = -1, int = -1)]; %MethodCode //takes list | (a Python list of strings) | index | (int) int n; if ((n = PyList_Size (a0)) == 0) return NULL; const char **strings; if ((strings = PyQtListToArray(a0)) == NULL) return NULL; Py_BEGIN_ALLOW_THREADS sipCpp->insertStrList (strings, n, a1); Py_END_ALLOW_THREADS sipFree((void *)strings); %End void insertItem (const QString&, int = -1); void clear (); QString text (int) const; int currentItem () const; QString currentText () const; QStringList items () const; %If ( KDE_3_4_0 - ) void setItems (const QStringList&); int buttons () const; void setButtons (uint); %End signals: void changed (); %If ( KDE_3_2_0 - ) void added (const QString&); void removed (const QString&); %End protected slots: void moveItemUp (); void moveItemDown (); void addItem (); void removeItem (); void enableMoveButtons (int); void typedSomething (const QString&); protected: //igx virtual void virtual_hook (int, void*); public: %If ( - KDE_3_5_0 ) enum Button { Add, Remove, UpDown, All }; %End }; // class KEditListBox %ModuleCode // Convert a list of strings to an array of strings on the heap. Also used by // QPixmap. const char **PyQtListToArray(PyObject *lst) { int nstr; const char **str, **sp; nstr = PyList_Size(lst); if ((str = (const char **)sipMalloc(nstr * sizeof (char *))) == NULL) return NULL; // Convert the list. sp = str; for (int i = 0; i < nstr; ++i) { char *s; if ((s = PyString_AsString(PyList_GetItem(lst,i))) == NULL) { sipFree((void *)str); return NULL; } *sp++ = s; } return str; } %End