# qwt_text_label.h

    00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
    00002  * Qwt Widget Library
    00003  * Copyright (C) 1997   Josef Wilgen
    00004  * Copyright (C) 2002   Uwe Rathmann
    00005  *
    00006  * This library is free software; you can redistribute it and/or
    00007  * modify it under the terms of the Qwt License, Version 1.0
    00008  *****************************************************************************/
    00009
    00010 #ifndef QWT_TEXT_LABEL_H
    00011 #define QWT_TEXT_LABEL_H
    00012
    00013 #include <qframe.h>
    00014 #include "qwt_global.h"
    00015 #include "qwt_text.h"
    00016
    00017 class QString;
    00018 class QPaintEvent;
    00019 class QPainter;
    00020
    00025 class QWT_EXPORT QwtTextLabel : public QFrame
    00026 {
    00027     Q_OBJECT
    00028
    00029     Q_PROPERTY( int indent READ indent WRITE setIndent )
    00030     Q_PROPERTY( int margin READ margin WRITE setMargin )
    00031
    00032 public:
    00033     explicit QwtTextLabel(QWidget *parent = NULL);
    00034 #if QT_VERSION < 0x040000
    00035     explicit QwtTextLabel(QWidget *parent, const char *name);
    00036 #endif
    00037     explicit QwtTextLabel(const QwtText &, QWidget *parent = NULL);
    00038     virtual ~QwtTextLabel();
    00039
    00040 public slots:
    00041     void setText(const QString &,
    00042         QwtText::TextFormat textFormat = QwtText::AutoText);
    00043     virtual void setText(const QwtText &);
    00044
    00045     void clear();
    00046
    00047 public:
    00048     const QwtText &text() const;
    00049
    00050     int indent() const;
    00051     void setIndent(int);
    00052
    00053     int margin() const;
    00054     void setMargin(int);
    00055
    00056     virtual QSize sizeHint() const;
    00057     virtual QSize minimumSizeHint() const;
    00058     virtual int heightForWidth(int) const;
    00059
    00060     QRect textRect() const;
    00061
    00062 protected:
    00063     virtual void paintEvent(QPaintEvent *e);
    00064     virtual void drawContents(QPainter *);
    00065     virtual void drawText(QPainter *, const QRect &);
    00066
    00067 private:
    00068     void init();
    00069     int defaultIndent() const;
    00070
    00071     class PrivateData;
    00072     PrivateData *d_data;
    00073 };
    00074
    00075 #endif