/****************************************************************************
** $Id: qscrollview.h,v 2.22.2.2 1998/08/21 19:13:26 hanord Exp $
**
** Definition of QScrollView class
**
** Created : 970523
**
** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
**
** This file is part of Troll Tech's internal development tree for Qt.
**
** This header text will be replaced by an appropriate text by the
** mkdist script which generates external distributions.
**
** If you are using the Qt Professional Edition or the Qt Free Edition,
** please notify Troll Tech at <info@troll.no> if you see this text.
**
** To Troll Tech developers: This header was generated by the script
** fixcopyright-int. It has the same number of text lines as the free
** and professional editions to avoid line number inconsistency.
**
*****************************************************************************/
#ifndef QVIEWP_H
#define QVIEWP_H
#ifndef QT_H
#include "qframe.h"
#include "qscrollbar.h"
#endif // QT_H
struct QScrollViewData;
class Q_EXPORT QScrollView : public QFrame
{
Q_OBJECT
public:
QScrollView(QWidget *parent=0, const char *name=0, WFlags f=0);
~QScrollView();
enum ResizePolicy { Default, Manual, AutoOne };
virtual void setResizePolicy( ResizePolicy );
ResizePolicy resizePolicy() const;
void addChild(QWidget* child);
void removeChild(QWidget* child);
virtual void addChild(QWidget* child, int x, int y);
virtual void moveChild(QWidget* child, int x, int y);
int childX(QWidget* child);
int childY(QWidget* child);
bool childIsVisible(QWidget* child);
void showChild(QWidget* child, bool yes=TRUE);
enum ScrollBarMode { Auto, AlwaysOff, AlwaysOn };
ScrollBarMode vScrollBarMode() const;
virtual void setVScrollBarMode( ScrollBarMode );
ScrollBarMode hScrollBarMode() const;
virtual void setHScrollBarMode( ScrollBarMode );
QWidget* cornerWidget() const;
virtual void setCornerWidget(QWidget*);
QScrollBar* horizontalScrollBar();
QScrollBar* verticalScrollBar();
QWidget* viewport();
int contentsWidth() const;
int contentsHeight() const;
int contentsX() const;
int contentsY() const;
void resize( int w, int h );
void resize( const QSize& );
void show();
signals:
void contentsMoving(int x, int y);
public slots:
virtual void resizeContents( int w, int h );
void scrollBy( int dx, int dy );
void setContentsPos( int x, int y );
void ensureVisible(int x, int y);
void ensureVisible(int x, int y, int xmargin, int ymargin);
void center(int x, int y);
void center(int x, int y, float xmargin, float ymargin);
void updateScrollBars();
protected:
void resizeEvent(QResizeEvent*);
bool eventFilter( QObject *, QEvent *e );
virtual void viewportPaintEvent( QPaintEvent* );
virtual void viewportMousePressEvent( QMouseEvent* );
virtual void viewportMouseReleaseEvent( QMouseEvent* );
virtual void viewportMouseDoubleClickEvent( QMouseEvent* );
virtual void viewportMouseMoveEvent( QMouseEvent* );
virtual void drawContentsOffset(QPainter*, int ox, int oy,
int cx, int cy, int cw, int ch);
void frameChanged();
void setMargins(int left, int top, int right, int bottom);
int leftMargin() const;
int topMargin() const;
int rightMargin() const;
int bottomMargin() const;
bool focusNextPrevChild( bool next );
private:
void moveContents(int x, int y);
QScrollViewData* d;
private slots:
void hslide(int);
void vslide(int);
private: // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
QScrollView( const QScrollView & );
QScrollView &operator=( const QScrollView & );
#endif
void changeFrameRect(const QRect&);
};
inline void QScrollView::addChild(QWidget* child)
{
addChild(child,0,0);
}
#endif
| Copyright © 1998 Troll Tech | Trademarks | Qt version 1.41
|