From 816f448426fd8d4013c7b35c568ec1b4ef94d228 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 6 Aug 2011 01:36:40 -0500 Subject: [PATCH] Expose some QSplitter private classes for added functionality in Trinity This is not a security risk --- .../qt4/src/widgets/tqsplitter.cpp | 71 +----------------- .../tqtinterface/qt4/src/widgets/tqsplitter.h | 71 ++++++++++++++++++ .../qt3/src/widgets/qsplitter.cpp | 71 +----------------- main/dependencies/qt3/src/widgets/qsplitter.h | 73 ++++++++++++++++++- 4 files changed, 145 insertions(+), 141 deletions(-) diff --git a/experimental/tqtinterface/qt4/src/widgets/tqsplitter.cpp b/experimental/tqtinterface/qt4/src/widgets/tqsplitter.cpp index 2750a4591..57c9d6840 100644 --- a/experimental/tqtinterface/qt4/src/widgets/tqsplitter.cpp +++ b/experimental/tqtinterface/qt4/src/widgets/tqsplitter.cpp @@ -52,39 +52,9 @@ #include "tqptrlist.h" #include "tqstyle.h" -class TQSplitterHandle : public TQWidget -{ - TQ_OBJECT -public: - TQSplitterHandle( Qt::Orientation o, - TQSplitter *tqparent, const char* name=0 ); - void setOrientation( Qt::Orientation o ); - Qt::Orientation orientation() const { return orient; } - - bool opaque() const { return s->opaqueResize(); } - - TQSize tqsizeHint() const; - - int id() const { return myId; } // d->list.at(id())->wid == this - void setId( int i ) { myId = i; } - -protected: - void paintEvent( TQPaintEvent * ); - void mouseMoveEvent( TQMouseEvent * ); - void mousePressEvent( TQMouseEvent * ); - void mouseReleaseEvent( TQMouseEvent * ); - -private: - Qt::Orientation orient; - bool opaq; - int myId; - - TQSplitter *s; -}; - #include "tqsplitter.tqmoc" -const uint Default = 2; +const uint Default = TQT_TQSPLITTER_DEFAULT; static int mouseOffset; static int opaqueOldPos = -1; // this assumes that there's only one mouse @@ -180,45 +150,6 @@ void TQSplitterHandle::paintEvent( TQPaintEvent * ) TQStyle::Style_Horizontal : 0) ); } -class TQSplitterLayoutStruct : public TQt -{ -public: - TQCOORD sizer; - uint isHandle : 1; - uint collapsible : 2; - uint resizeMode : 2; - TQWidget *wid; - - TQSplitterLayoutStruct() - : sizer( -1 ), collapsible( Default ) { } - TQCOORD getSizer( Qt::Orientation orient ); -}; - -TQCOORD TQSplitterLayoutStruct::getSizer( Qt::Orientation orient ) -{ - if ( sizer == -1 ) { - TQSize s = wid->tqsizeHint(); - if ( !s.isValid() || wid->testWState(WState_Resized) ) - s = wid->size(); - sizer = ( orient == Qt::Horizontal ) ? s.width() : s.height(); - } - return sizer; -} - -class TQSplitterPrivate -{ -public: - TQSplitterPrivate() - : opaque( FALSE ), firstShow( TRUE ), tqchildrenCollapsible( TRUE ), - handleWidth( 0 ) { } - - TQPtrList list; - bool opaque : 8; - bool firstShow : 8; - bool tqchildrenCollapsible : 8; - int handleWidth; -}; - /*! \class TQSplitter diff --git a/experimental/tqtinterface/qt4/src/widgets/tqsplitter.h b/experimental/tqtinterface/qt4/src/widgets/tqsplitter.h index b9d536df7..6c7409e61 100644 --- a/experimental/tqtinterface/qt4/src/widgets/tqsplitter.h +++ b/experimental/tqtinterface/qt4/src/widgets/tqsplitter.h @@ -48,11 +48,52 @@ #ifndef TQT_NO_SPLITTER +#define TQT_TQSPLITTER_DEFAULT 2 + class TQSplitterHandle; class TQSplitterPrivate; class TQSplitterLayoutStruct; class TQTextStream; +class TQSplitterPrivate +{ +public: + TQSplitterPrivate() + : opaque( FALSE ), firstShow( TRUE ), tqchildrenCollapsible( TRUE ), + handleWidth( 0 ) { } + + TQPtrList list; + bool opaque : 8; + bool firstShow : 8; + bool tqchildrenCollapsible : 8; + int handleWidth; +}; + +class TQSplitterLayoutStruct : public TQt +{ +public: + TQCOORD sizer; + uint isHandle : 1; + uint collapsible : 2; + uint resizeMode : 2; + TQWidget *wid; + + TQSplitterLayoutStruct() + : sizer( -1 ), collapsible( Default ) { } + TQCOORD getSizer( Qt::Orientation orient ); +}; + +TQCOORD TQSplitterLayoutStruct::getSizer( Qt::Orientation orient ) +{ + if ( sizer == -1 ) { + TQSize s = wid->tqsizeHint(); + if ( !s.isValid() || wid->testWState(WState_Resized) ) + s = wid->size(); + sizer = ( orient == Qt::Horizontal ) ? s.width() : s.height(); + } + return sizer; +} + class TQ_EXPORT TQSplitter : public TQFrame { Q_OBJECT @@ -165,6 +206,36 @@ TQ_EXPORT TQTextStream& operator<<( TQTextStream&, const TQSplitter& ); TQ_EXPORT TQTextStream& operator>>( TQTextStream&, TQSplitter& ); #endif +class TQSplitterHandle : public TQWidget +{ + TQ_OBJECT +public: + TQSplitterHandle( Qt::Orientation o, + TQSplitter *tqparent, const char* name=0 ); + void setOrientation( Qt::Orientation o ); + Qt::Orientation orientation() const { return orient; } + + bool opaque() const { return s->opaqueResize(); } + + TQSize tqsizeHint() const; + + int id() const { return myId; } // d->list.at(id())->wid == this + void setId( int i ) { myId = i; } + +protected: + void paintEvent( TQPaintEvent * ); + void mouseMoveEvent( TQMouseEvent * ); + void mousePressEvent( TQMouseEvent * ); + void mouseReleaseEvent( TQMouseEvent * ); + +private: + Qt::Orientation orient; + bool opaq; + int myId; + + TQSplitter *s; +}; + #endif // TQT_NO_SPLITTER #endif // TQSPLITTER_H diff --git a/main/dependencies/qt3/src/widgets/qsplitter.cpp b/main/dependencies/qt3/src/widgets/qsplitter.cpp index 481091177..efbe8709d 100644 --- a/main/dependencies/qt3/src/widgets/qsplitter.cpp +++ b/main/dependencies/qt3/src/widgets/qsplitter.cpp @@ -52,39 +52,9 @@ #include "qptrlist.h" #include "qstyle.h" -class QSplitterHandle : public QWidget -{ - Q_OBJECT -public: - QSplitterHandle( Orientation o, - QSplitter *parent, const char* name=0 ); - void setOrientation( Orientation o ); - Orientation orientation() const { return orient; } - - bool opaque() const { return s->opaqueResize(); } - - QSize sizeHint() const; - - int id() const { return myId; } // d->list.at(id())->wid == this - void setId( int i ) { myId = i; } - -protected: - void paintEvent( QPaintEvent * ); - void mouseMoveEvent( QMouseEvent * ); - void mousePressEvent( QMouseEvent * ); - void mouseReleaseEvent( QMouseEvent * ); - -private: - Orientation orient; - bool opaq; - int myId; - - QSplitter *s; -}; - #include "qsplitter.moc" -const uint Default = 2; +const uint Default = QT_QSPLITTER_DEFAULT; static int mouseOffset; static int opaqueOldPos = -1; // this assumes that there's only one mouse @@ -180,45 +150,6 @@ void QSplitterHandle::paintEvent( QPaintEvent * ) QStyle::Style_Horizontal : 0) ); } -class QSplitterLayoutStruct : public Qt -{ -public: - QCOORD sizer; - uint isHandle : 1; - uint collapsible : 2; - uint resizeMode : 2; - QWidget *wid; - - QSplitterLayoutStruct() - : sizer( -1 ), collapsible( Default ) { } - QCOORD getSizer( Orientation orient ); -}; - -QCOORD QSplitterLayoutStruct::getSizer( Orientation orient ) -{ - if ( sizer == -1 ) { - QSize s = wid->sizeHint(); - if ( !s.isValid() || wid->testWState(WState_Resized) ) - s = wid->size(); - sizer = ( orient == Horizontal ) ? s.width() : s.height(); - } - return sizer; -} - -class QSplitterPrivate -{ -public: - QSplitterPrivate() - : opaque( FALSE ), firstShow( TRUE ), childrenCollapsible( TRUE ), - handleWidth( 0 ) { } - - QPtrList list; - bool opaque : 8; - bool firstShow : 8; - bool childrenCollapsible : 8; - int handleWidth; -}; - /*! \class QSplitter diff --git a/main/dependencies/qt3/src/widgets/qsplitter.h b/main/dependencies/qt3/src/widgets/qsplitter.h index 97b95adb6..c159e0ff6 100644 --- a/main/dependencies/qt3/src/widgets/qsplitter.h +++ b/main/dependencies/qt3/src/widgets/qsplitter.h @@ -48,11 +48,52 @@ #ifndef QT_NO_SPLITTER +#define QT_QSPLITTER_DEFAULT 2 + class QSplitterHandle; class QSplitterPrivate; class QSplitterLayoutStruct; class QTextStream; +class QSplitterPrivate +{ +public: + QSplitterPrivate() + : opaque( FALSE ), firstShow( TRUE ), childrenCollapsible( TRUE ), + handleWidth( 0 ) { } + + QPtrList list; + bool opaque : 8; + bool firstShow : 8; + bool childrenCollapsible : 8; + int handleWidth; +}; + +class QSplitterLayoutStruct : public Qt +{ +public: + QCOORD sizer; + uint isHandle : 1; + uint collapsible : 2; + uint resizeMode : 2; + QWidget *wid; + + QSplitterLayoutStruct() + : sizer( -1 ), collapsible( QT_QSPLITTER_DEFAULT ) { } + QCOORD getSizer( Orientation orient ); +}; + +QCOORD QSplitterLayoutStruct::getSizer( Orientation orient ) +{ + if ( sizer == -1 ) { + QSize s = wid->sizeHint(); + if ( !s.isValid() || wid->testWState(WState_Resized) ) + s = wid->size(); + sizer = ( orient == Horizontal ) ? s.width() : s.height(); + } + return sizer; +} + class Q_EXPORT QSplitter : public QFrame { Q_OBJECT @@ -111,7 +152,7 @@ protected: virtual void setRubberband( int ); void getRange( int id, int *, int * ); -private: +public: //private: enum { DefaultResizeMode = 3 }; void init(); @@ -164,6 +205,36 @@ Q_EXPORT QTextStream& operator<<( QTextStream&, const QSplitter& ); Q_EXPORT QTextStream& operator>>( QTextStream&, QSplitter& ); #endif +class QSplitterHandle : public QWidget +{ + Q_OBJECT +public: + QSplitterHandle( Orientation o, + QSplitter *parent, const char* name=0 ); + void setOrientation( Orientation o ); + Orientation orientation() const { return orient; } + + bool opaque() const { return s->opaqueResize(); } + + QSize sizeHint() const; + + int id() const { return myId; } // d->list.at(id())->wid == this + void setId( int i ) { myId = i; } + +protected: + void paintEvent( QPaintEvent * ); + void mouseMoveEvent( QMouseEvent * ); + void mousePressEvent( QMouseEvent * ); + void mouseReleaseEvent( QMouseEvent * ); + +public: // private: + Orientation orient; + bool opaq; + int myId; + + QSplitter *s; +}; + #endif // QT_NO_SPLITTER #endif // QSPLITTER_H