// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module tdeui 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 **PyTQtListToArray(PyObject *); %End class KEditListBox : TQGroupBox { %TypeHeaderCode #include %End public: %If ( KDE_3_1_0 - ) class CustomEditor { public: CustomEditor (); CustomEditor (TQWidget*, KLineEdit*); CustomEditor (KComboBox*); void setRepresentationWidget (TQWidget*); void setLineEdit (KLineEdit*); virtual TQWidget* 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 (TQWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); KEditListBox (const TQString&, TQWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); %If ( KDE_3_1_0 - ) KEditListBox (const TQString&, const KEditListBox::CustomEditor&, TQWidget* /TransferThis/ = 0, const char* = 0, bool = 0, int = All ); %End TQListBox* listBox () const; KLineEdit* lineEdit () const; TQPushButton* addButton () const; TQPushButton* removeButton () const; TQPushButton* upButton () const; TQPushButton* downButton () const; int count () const; void insertStringList (const TQStringList&, int = -1); void insertStrList (const TQStrList*, int = -1); void insertStrList (const TQStrList&, 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 = PyTQtListToArray(a0)) == NULL) return NULL; Py_BEGIN_ALLOW_THREADS sipCpp->insertStrList (strings, n, a1); Py_END_ALLOW_THREADS sipFree((void *)strings); %End void insertItem (const TQString&, int = -1); void clear (); TQString text (int) const; int currentItem () const; TQString currentText () const; TQStringList items () const; %If ( KDE_3_4_0 - ) void setItems (const TQStringList&); int buttons () const; void setButtons (uint); %End signals: void changed (); %If ( KDE_3_2_0 - ) void added (const TQString&); void removed (const TQString&); %End protected slots: void moveItemUp (); void moveItemDown (); void addItem (); void removeItem (); void enableMoveButtons (int); void typedSomething (const TQString&); 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 // TQPixmap. const char **PyTQtListToArray(PyObject *lst) { SIP_SSIZE_T 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) { PyObject *item = PyList_GetItem(lst, i); const char *item_ascii = sipString_AsASCIIString(&item); if (item_ascii == NULL) { sipFree((void *)str); return NULL; } *sp++ = item_ascii; } return str; } %End