-rw-r--r-- | libqtaux/qsplitter.cpp | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/libqtaux/qsplitter.cpp b/libqtaux/qsplitter.cpp index ab6e01b..39321f8 100644 --- a/libqtaux/qsplitter.cpp +++ b/libqtaux/qsplitter.cpp @@ -1,140 +1,136 @@ /**************************************************************************** ** $Id$ ** ** Splitter widget ** ** Created: 980105 ** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. ** ** This file is part of the widgets module of the Qt GUI Toolkit. ** ** This file may be distributed under the terms of the Q Public License ** as defined by Trolltech AS of Norway and appearing in the file ** LICENSE.QPL included in the packaging of this file. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition ** licenses may use this file in accordance with the Qt Commercial License ** Agreement provided with the Software. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for ** information about Qt Commercial License Agreements. ** See http://www.trolltech.com/qpl/ for QPL licensing information. ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "qsplitter.h" -#include "qpainter.h" #include "qdrawutil.h" -#include "qbitmap.h" #include "qlayoutengine_p.h" -#include "qlist.h" -#include "qarray.h" #include "qobjectlist.h" #include "qapplication.h" //sendPostedEvents class QSplitterHandle : public QWidget { public: QSplitterHandle( Qt::Orientation o, QSplitter *parent, const char* name=0 ); void setOrientation( Qt::Orientation o ); Qt::Orientation orientation() const { return orient; } bool opaque() const { return s->opaqueResize(); } QSize sizeHint() const; QSizePolicy sizePolicy() const; int id() const { return myId; } // data->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: Qt::Orientation orient; bool opaq; int myId; QSplitter *s; }; static int mouseOffset; static int opaqueOldPos = -1; //### there's only one mouse, but this is a bit risky QSplitterHandle::QSplitterHandle( Qt::Orientation o, QSplitter *parent, const char * name ) : QWidget( parent, name ) { s = parent; setOrientation(o); } QSizePolicy QSplitterHandle::sizePolicy() const { //### removeme 3.0 return QWidget::sizePolicy(); } QSize QSplitterHandle::sizeHint() const { int sw = style().splitterWidth(); return QSize(sw,sw).expandedTo( QApplication::globalStrut() ); } void QSplitterHandle::setOrientation( Qt::Orientation o ) { orient = o; #ifndef QT_NO_CURSOR if ( o == QSplitter::Horizontal ) setCursor( splitHCursor ); else setCursor( splitVCursor ); #endif } void QSplitterHandle::mouseMoveEvent( QMouseEvent *e ) { if ( !(e->state()&LeftButton) ) return; QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) - mouseOffset; if ( opaque() ) { s->moveSplitter( pos, id() ); } else { int min = pos; int max = pos; s->getRange( id(), &min, &max ); s->setRubberband( QMAX( min, QMIN(max, pos ))); } } void QSplitterHandle::mousePressEvent( QMouseEvent *e ) { if ( e->button() == LeftButton ) mouseOffset = s->pick(e->pos()); } void QSplitterHandle::mouseReleaseEvent( QMouseEvent *e ) { if ( !opaque() && e->button() == LeftButton ) { QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())); s->setRubberband( -1 ); s->moveSplitter( pos, id() ); |