Source Code (Use browser search to find items of interest.)

Class Index

qt'QSplitterHandle (./qt-2.1.0/src/widgets/qsplitter.cpp:36)

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;
};


qt'QSplitterHandle::QSplitterHandle() (./qt-2.1.0/src/widgets/qsplitter.cpp:70)

QSplitterHandle::QSplitterHandle( Qt::Orientation o,
				  QSplitter *parent, const char * name )
    : QWidget( parent, name )
{
    s = parent;
    setOrientation(o);
}


qt'QSplitterHandle::sizePolicy() (./qt-2.1.0/src/widgets/qsplitter.cpp:78)

QSizePolicy QSplitterHandle::sizePolicy() const
{
    if ( orient == Horizontal )
	return QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Minimum );
    else
    	return QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Fixed );

}


qt'QSplitterHandle::sizeHint() (./qt-2.1.0/src/widgets/qsplitter.cpp:87)

QSize QSplitterHandle::sizeHint() const
{
    int sw = style().splitterWidth();
    return QSize(sw,sw);
}


qt'QSplitterHandle::setOrientation() (./qt-2.1.0/src/widgets/qsplitter.cpp:93)

void QSplitterHandle::setOrientation( Qt::Orientation o )
{
    orient = o;
    if ( o == QSplitter::Horizontal )
	setCursor( splitHCursor );
    else
	setCursor( splitVCursor );
}



qt'QSplitterHandle::mouseMoveEvent() (./qt-2.1.0/src/widgets/qsplitter.cpp:103)

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 )));
    }
}


qt'QSplitterHandle::mousePressEvent() (./qt-2.1.0/src/widgets/qsplitter.cpp:118)

void QSplitterHandle::mousePressEvent( QMouseEvent *e )
{
    if ( e->button() == LeftButton )
	mouseOffset = s->pick(e->pos());
}


qt'QSplitterHandle::mouseReleaseEvent() (./qt-2.1.0/src/widgets/qsplitter.cpp:124)

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() );
    }
}


qt'QSplitterHandle::paintEvent() (./qt-2.1.0/src/widgets/qsplitter.cpp:133)

void QSplitterHandle::paintEvent( QPaintEvent * )
{
    QPainter p( this );
    s->drawSplitter( &p, 0, 0, width(), height() );
}