/**************************************************************************** ** $Id: qscrollview.h,v 2.22.2.3 1998/10/01 17:04:00 warwick Exp $ ** ** Definition of QScrollView class ** ** Created : 970523 ** ** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved. ** ** This file is part of Qt Free Edition, version 1.42. ** ** See the file LICENSE included in the distribution for the usage ** and distribution terms, or http://www.troll.no/free-license.html. ** ** IMPORTANT NOTE: You may NOT copy this file or any part of it into ** your own programs or libraries. ** ** Please see http://www.troll.no/pricing.html for information about ** Qt Professional Edition, which is this same library but with a ** license which allows creation of commercial/proprietary software. ** *****************************************************************************/ #ifndef QSCROLLVIEW_H #define QSCROLLVIEW_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.42
|