diff options
Diffstat (limited to 'kompare/komparepart/kompare_qsplitter.h')
-rw-r--r-- | kompare/komparepart/kompare_qsplitter.h | 190 |
1 files changed, 5 insertions, 185 deletions
diff --git a/kompare/komparepart/kompare_qsplitter.h b/kompare/komparepart/kompare_qsplitter.h index 52009244..2b776944 100644 --- a/kompare/komparepart/kompare_qsplitter.h +++ b/kompare/komparepart/kompare_qsplitter.h @@ -1,7 +1,7 @@ /**************************************************************************** ** ** -** Definition of KQSplitter class +** Definition of TQSplitter class ** ** Created : 980105 ** @@ -21,192 +21,12 @@ ** **********************************************************************/ -#ifndef KQSPLITTER_H -#define KQSPLITTER_H +#ifndef TQSPLITTER_H +#define TQSPLITTER_H #include "tqframe.h" #include "tqvaluelist.h" -#ifndef TQT_NO_SPLITTER +#include <tqsplitter.h> -//class KQSplitterHandle; -class KQSplitterLayoutStruct; -class TQTextStream; - -class KQSplitterPrivate -{ -public: - KQSplitterPrivate() - : opaque( FALSE ), firstShow( TRUE ), tqchildrenCollapsible( TRUE ), - handleWidth( 0 ) { } - - TQPtrList<KQSplitterLayoutStruct> list; - bool opaque : 8; - bool firstShow : 8; - bool tqchildrenCollapsible : 8; - int handleWidth; -}; - -class TQ_EXPORT KQSplitter : public TQFrame -{ - Q_OBJECT - TQ_OBJECT - TQ_PROPERTY( Qt::Orientation orientation READ orientation WRITE setOrientation ) - TQ_PROPERTY( bool opaqueResize READ opaqueResize WRITE setOpaqueResize ) - TQ_PROPERTY( int handleWidth READ handleWidth WRITE setHandleWidth ) - TQ_PROPERTY( bool tqchildrenCollapsible READ tqchildrenCollapsible WRITE setChildrenCollapsible ) - -public: - // ### TQt 4.0: remove Auto from public API - enum ResizeMode { Stretch, KeepSize, FollowSizeHint, Auto }; - - KQSplitter( TQWidget* tqparent = 0, const char* name = 0 ); - KQSplitter( Qt::Orientation, TQWidget* tqparent = 0, const char* name = 0 ); - ~KQSplitter(); - - virtual void setOrientation( Qt::Orientation ); - Qt::Orientation orientation() const { return orient; } - - // ### TQt 4.0: make setChildrenCollapsible() and setCollapsible() virtual - - void setChildrenCollapsible( bool ); - bool tqchildrenCollapsible() const; - - void setCollapsible( TQWidget *w, bool ); - virtual void setResizeMode( TQWidget *w, ResizeMode ); - virtual void setOpaqueResize( bool = TRUE ); - bool opaqueResize() const; - - void moveToFirst( TQWidget * ); - void moveToLast( TQWidget * ); - - void refresh() { recalc( TRUE ); } - TQSize tqsizeHint() const; - TQSize tqminimumSizeHint() const; - - TQValueList<int> sizes() const; - void setSizes( TQValueList<int> ); - - int handleWidth() const; - void setHandleWidth( int ); - -protected: - void childEvent( TQChildEvent * ); - - bool event( TQEvent * ); - void resizeEvent( TQResizeEvent * ); - - int idAfter( TQWidget* ) const; - - void moveSplitter( TQCOORD pos, int id ); - virtual void drawSplitter( TQPainter*, TQCOORD x, TQCOORD y, - TQCOORD w, TQCOORD h ); - void styleChange( TQStyle& ); - int adjustPos( int, int ); - virtual void setRubberband( int ); - void getRange( int id, int *, int * ); - -public: // private (: - enum { DefaultResizeMode = 3 }; - - void init(); - void recalc( bool update = FALSE ); - void doResize(); - void storeSizes(); - void getRange( int id, int *, int *, int *, int * ); - void addContribution( int, int *, int *, bool ); - int adjustPos( int, int, int *, int *, int *, int * ); - bool collapsible( KQSplitterLayoutStruct * ); - void processChildEvents(); - KQSplitterLayoutStruct *findWidget( TQWidget * ); - KQSplitterLayoutStruct *addWidget( TQWidget *, bool prepend = FALSE ); - void recalcId(); - void doMove( bool backwards, int pos, int id, int delta, bool upLeft, - bool mayCollapse ); - void setGeo( TQWidget *w, int pos, int size, bool splitterMoved ); - int findWidgetJustBeforeOrJustAfter( int id, int delta, int &collapsibleSize ); - void updateHandles(); - - inline TQCOORD pick( const TQPoint &p ) const - { return orient ==Qt::Horizontal ? p.x() : p.y(); } - inline TQCOORD pick( const TQSize &s ) const - { return orient ==Qt::Horizontal ? s.width() : s.height(); } - - inline TQCOORD trans( const TQPoint &p ) const - { return orient ==Qt::Vertical ? p.x() : p.y(); } - inline TQCOORD trans( const TQSize &s ) const - { return orient ==Qt::Vertical ? s.width() : s.height(); } - - KQSplitterPrivate *d; - - Qt::Orientation orient; - friend class KQSplitterHandle; - -#ifndef TQT_NO_TEXTSTREAM -// tqmoc doesn't like these. -// friend TQ_EXPORT TQTextStream& operator<<( TQTextStream&, const KQSplitter& ); -// friend TQ_EXPORT TQTextStream& operator>>( TQTextStream&, KQSplitter& ); -#endif - -public: -#if defined(TQ_DISABLE_COPY) - KQSplitter( const KQSplitter & ); - KQSplitter& operator=( const KQSplitter & ); -#endif -}; - -#ifndef TQT_NO_TEXTSTREAM -TQ_EXPORT TQTextStream& operator<<( TQTextStream&, const KQSplitter& ); -TQ_EXPORT TQTextStream& operator>>( TQTextStream&, KQSplitter& ); -#endif - -class KQSplitterHandle : public TQWidget -{ - Q_OBJECT - TQ_OBJECT -public: - KQSplitterHandle( Qt::Orientation o, - KQSplitter *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 * ); - -public: // private (: - Qt::Orientation orient; - bool opaq; - int myId; - - KQSplitter *s; -}; - -const uint Default = 2; - -class KQSplitterLayoutStruct : public TQt -{ -public: - TQCOORD sizer; - uint isHandle : 1; - uint collapsible : 2; - uint resizeMode : 2; - TQWidget *wid; - - KQSplitterLayoutStruct() - : sizer( -1 ), collapsible( Default ) { } - TQCOORD getSizer( Qt::Orientation orient ); -}; - -#endif // TQT_NO_SPLITTER - -#endif // KQSPLITTER_H +#endif // TQSPLITTER_H |