qwt_text_label.h 1.73 KB
Newer Older
pixhawk's avatar
pixhawk committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 * Qwt Widget Library
 * Copyright (C) 1997   Josef Wilgen
 * Copyright (C) 2002   Uwe Rathmann
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the Qwt License, Version 1.0
 *****************************************************************************/

#ifndef QWT_TEXT_LABEL_H
#define QWT_TEXT_LABEL_H

#include <qframe.h>
#include "qwt_global.h"
#include "qwt_text.h"

class QString;
class QPaintEvent;
class QPainter;

/*!
   \brief A Widget which displays a QwtText
*/

class QWT_EXPORT QwtTextLabel : public QFrame
{
    Q_OBJECT 

    Q_PROPERTY( int indent READ indent WRITE setIndent )
    Q_PROPERTY( int margin READ margin WRITE setMargin )

public:
    explicit QwtTextLabel(QWidget *parent = NULL);
#if QT_VERSION < 0x040000
    explicit QwtTextLabel(QWidget *parent, const char *name);
#endif
    explicit QwtTextLabel(const QwtText &, QWidget *parent = NULL);
    virtual ~QwtTextLabel();

public slots:
    void setText(const QString &, 
        QwtText::TextFormat textFormat = QwtText::AutoText);
    virtual void setText(const QwtText &);

    void clear();

public:
    const QwtText &text() const;

    int indent() const;
    void setIndent(int);

    int margin() const;
    void setMargin(int);

    virtual QSize sizeHint() const;
    virtual QSize minimumSizeHint() const;
    virtual int heightForWidth(int) const;

    QRect textRect() const;

protected:
    virtual void paintEvent(QPaintEvent *e);
    virtual void drawContents(QPainter *);
    virtual void drawText(QPainter *, const QRect &);

private:
    void init();
    int defaultIndent() const;

    class PrivateData;
    PrivateData *d_data;
};

#endif