summaryrefslogtreecommitdiffstats
path: root/qtinterface/tqwidgetlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'qtinterface/tqwidgetlist.h')
-rw-r--r--qtinterface/tqwidgetlist.h52
1 files changed, 50 insertions, 2 deletions
diff --git a/qtinterface/tqwidgetlist.h b/qtinterface/tqwidgetlist.h
index 9770e3a..a88c018 100644
--- a/qtinterface/tqwidgetlist.h
+++ b/qtinterface/tqwidgetlist.h
@@ -26,7 +26,7 @@ Boston, MA 02110-1301, USA.
#ifdef USE_QT3
-// Reimplement the QWidgetList class
+// Reimplement the TQWidgetList class
// For Qt3, no changes are needed
#include <qwidgetlist.h>
@@ -35,9 +35,57 @@ Boston, MA 02110-1301, USA.
#ifdef USE_QT4
-// Reimplement the QWidgetList class
+// Reimplement the TQWidgetList class
// For Qt4, this class was removed!
+#include <tqwidget.h>
+#include <tqptrlist.h>
+
+class TQWidgetList : public TQPtrList<QWidget>
+{
+public:
+ TQWidgetList() : TQPtrList<QWidget>() {}
+ TQWidgetList( const TQWidgetList &list ) : TQPtrList<QWidget>(list) {}
+ ~TQWidgetList() { clear(); }
+ TQWidgetList &operator=(const TQWidgetList &list)
+ { return (TQWidgetList&)TQPtrList<QWidget>::operator=(list); }
+
+ // Interoperability
+ TQWidgetList(const QWidgetList& l)
+ {
+ for (int i = 0; i < l.size(); ++i) append(l.at(i));
+ }
+
+ TQWidgetList& operator= (const QWidgetList& l)
+ {
+ this->clear();
+ for (int i = 0; i < l.size(); ++i) append(l.at(i));
+ return *this;
+ }
+
+ operator QWidgetList() const {
+ QWidgetList list;
+ for (TQWidgetList::const_iterator it = TQWidgetList::constBegin();
+ it != TQWidgetList::constEnd(); ++it)
+ list.append(*it);
+ return list;
+ }
+
+ operator TQWidgetList*() {
+ TQWidgetList *qwl;
+ qwl = new TQWidgetList(*this);
+ return qwl;
+ }
+};
+
+class TQWidgetListIt : public TQPtrListIterator<QWidget>
+{
+public:
+ TQWidgetListIt( const TQWidgetList &l ) : TQPtrListIterator<QWidget>(l) {}
+ TQWidgetListIt &operator=(const TQWidgetListIt &i)
+ { return (TQWidgetListIt&)TQPtrListIterator<QWidget>::operator=(i); }
+};
+
#endif // USE_QT4
#endif /* TQWIDGETLIST_H */ \ No newline at end of file