diff --git a/qtinterface/tqmovie.cpp b/qtinterface/tqmovie.cpp index 866a8cc..20367dd 100644 --- a/qtinterface/tqmovie.cpp +++ b/qtinterface/tqmovie.cpp @@ -21,3 +21,37 @@ Boston, MA 02110-1301, USA. #include #include + +#ifdef USE_QT4 + +// TQMovie::TQMovie(QObject *parent) : QMovie(parent) {} +// TQMovie::TQMovie(QIODevice *device, const QByteArray &format, QObject *parent) : QMovie(device, format, parent) {} +// TQMovie::TQMovie(const QString &fileName, const QByteArray &format, QObject *parent) : QMovie(fileName, format, parent) {} + +TQMovie::TQMovie(QObject *parent) { + d = new QMovie(parent); +} + +TQMovie::TQMovie(QIODevice *device, const QByteArray &format, QObject *parent) { + d = new QMovie(device, format, parent); +} + +TQMovie::TQMovie(const QString &fileName, const QByteArray &format, QObject *parent) { + d = new QMovie(fileName, format, parent); +} + +TQMovie::operator QMovie *() const { + return d; +} + +/*! + Makes this movie use the same data as movie \a movie. QMovies use + explicit sharing. +*/ +TQMovie& TQMovie::operator=(const TQMovie& movie) +{ + d = movie.d; + return *this; +} + +#endif // USE_QT4 \ No newline at end of file diff --git a/qtinterface/tqmovie.h b/qtinterface/tqmovie.h index a5f22b2..b4b21fd 100644 --- a/qtinterface/tqmovie.h +++ b/qtinterface/tqmovie.h @@ -38,7 +38,22 @@ Boston, MA 02110-1301, USA. // Reimplement the QMovie class // For Qt4, some changes are needed -#include +#include + +class TQMovie { +public: + TQMovie(QObject *parent = 0); + explicit TQMovie(QIODevice *device, const QByteArray &format = QByteArray(), QObject *parent = 0); + explicit TQMovie(const QString &fileName, const QByteArray &format = QByteArray(), QObject *parent = 0); + ~TQMovie(); + + operator QMovie *() const; + + TQMovie& operator=(const TQMovie&); + +private: + QMovie *d; +}; #endif // USE_QT4 diff --git a/qtinterface/tqt.h b/qtinterface/tqt.h index 1a73049..f4c50bf 100644 --- a/qtinterface/tqt.h +++ b/qtinterface/tqt.h @@ -24,6 +24,9 @@ Boston, MA 02110-1301, USA. #define USE_QTX +// DEBUG ONLY REMOVE ME TEST +#define USE_QT4 + #ifdef USE_QT4 #define QT3_SUPPORT #endif @@ -45,6 +48,9 @@ Boston, MA 02110-1301, USA. #endif // __cplusplus #ifdef USE_QT3 +#define qint64 long +#define quint64 unsigned long + #define tqchildren children #define tqaccess access #define tqcolorTable colorTable @@ -599,6 +605,7 @@ class QUObject; #include #undef QT_NO_QOBJECT #include +#include #include #include #include @@ -620,11 +627,14 @@ class QUObject; #include #include #include +#include + #include #include #include +#include #include #include #include @@ -785,7 +795,8 @@ class QUObject; #define WState Qt::WidgetAttribute #define WState_Polished Qt::WA_WState_Polished -#define WState_ForceHide Qt::WA_WState_ForceHide +//#define WState_ForceHide Qt::WA_WState_ForceHide +#define WState_ForceHide Qt::WA_WState_Hidden #define WStyle_Customize Qt::WStyle_Customize #define WType_Popup Qt::WType_Popup @@ -1078,7 +1089,7 @@ class QUObject; #define TQMacMime QMacMime #define TQMotifPlusStyle QMotifPlusStyle #define TQMotifStyle QMotifStyle -#define TQMovie QMovie +//#define TQMovie QMovie #define TQMultiLineEdit Q3MultiLineEdit #define TQMutex QMutex #define TQMutexLocker QMutexLocker diff --git a/qtinterface/tqvariant.cpp b/qtinterface/tqvariant.cpp index 3672da7..981922e 100644 --- a/qtinterface/tqvariant.cpp +++ b/qtinterface/tqvariant.cpp @@ -21,3 +21,109 @@ Boston, MA 02110-1301, USA. #include #include + +#include + +#ifdef USE_QT4 + +// This is taken straight from +#ifdef Q_CC_SUN // Sun CC picks the wrong overload, so introduce awful hack + +template +inline T *v_cast(const QVariant::Private *nd, T * = 0) +{ + QVariant::Private *d = const_cast(nd); + return ((sizeof(T) > sizeof(QVariant::Private::Data)) + ? static_cast(d->data.shared->ptr) + : static_cast(static_cast(&d->data.c))); +} + +#else // every other compiler in this world + +template +inline const T *v_cast(const QVariant::Private *d, T * = 0) +{ + return ((sizeof(T) > sizeof(QVariant::Private::Data)) + ? static_cast(d->data.shared->ptr) + : static_cast(static_cast(&d->data.c))); +} + +template +inline T *v_cast(QVariant::Private *d, T * = 0) +{ + return ((sizeof(T) > sizeof(QVariant::Private::Data)) + ? static_cast(d->data.shared->ptr) + : static_cast(static_cast(&d->data.c))); +} + +#endif + +template +inline T qVariantToHelper(const QVariant::Private &d, QVariant::Type t, + const QVariant::Handler *handler, T * = 0) +{ + if (d.type == t) + return *v_cast(&d); + + T ret; + handler->convert(&d, t, &ret, 0); + return ret; +} + +QFont QVariant::toFont() const { + return qVariantToHelper(d, Font, handler); +} + +QColor QVariant::toColor() const { + return qVariantToHelper(d, Color, handler); +} + +QCursor QVariant::toCursor() const { + return qVariantToHelper(d, Cursor, handler); +} + +QBitmap QVariant::toBitmap() const { + return qVariantToHelper(d, Bitmap, handler); +} + +Q3PointArray QVariant::toPointArray() const { + return qVariantToHelper(d, PointArray, handler); +} + +QRegion QVariant::toRegion() const { + return qVariantToHelper(d, Region, handler); +} + +QPixmap QVariant::toPixmap() const { + return qVariantToHelper(d, Pixmap, handler); +} + +QImage QVariant::toImage() const { + return qVariantToHelper(d, Image, handler); +} + +QBrush QVariant::toBrush() const { + return qVariantToHelper(d, Brush, handler); +} + +QPalette QVariant::toPalette() const { + return qVariantToHelper(d, Palette, handler); +} + +QColorGroup QVariant::toColorGroup() const { + return qVariantToHelper(d, ColorGroup, handler); +} + +QIconSet QVariant::toIconSet() const { + return qVariantToHelper(d, IconSet, handler); +} + +QFont QVariant::asFont() { + return toFont(); +} + +QColor QVariant::asColor() { + return toColor(); +} + +#endif // USE_QT4 \ No newline at end of file diff --git a/qtinterface/tqvariant.h b/qtinterface/tqvariant.h index 2f632aa..0f5559b 100644 --- a/qtinterface/tqvariant.h +++ b/qtinterface/tqvariant.h @@ -39,7 +39,7 @@ Boston, MA 02110-1301, USA. // Reimplement the QVariant class // For Qt4, some changes are needed -#include +#include #endif // USE_QT4