54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#ifndef ICONEDLABEL_H
|
|
#define ICONEDLABEL_H
|
|
|
|
#include <QLabel>
|
|
#include <QIcon>
|
|
#include "qad_types.h"
|
|
|
|
QT_BEGIN_HEADER
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
class IconedLabel: public QFrame
|
|
{
|
|
Q_OBJECT
|
|
Q_ENUMS(Direction)
|
|
Q_PROPERTY(QString text READ text WRITE setText)
|
|
Q_PROPERTY(QIcon icon READ icon WRITE setIcon)
|
|
Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize)
|
|
Q_PROPERTY(Direction direction READ direction WRITE setDirection)
|
|
public:
|
|
enum Direction {LeftToRight = 0, RightToLeft = 1, TopToBottom = 2, BottomToTop = 3};
|
|
|
|
explicit IconedLabel(QWidget * parent = 0);
|
|
|
|
QString text() const {return label_.text();}
|
|
QIcon icon() const;
|
|
QSize iconSize() const {return size_;}
|
|
Direction direction() const {return dir_;}
|
|
|
|
protected:
|
|
virtual bool event(QEvent * e);
|
|
QSize realIconSize() const;
|
|
|
|
QLabel label_, icon_;
|
|
QIcon sicon_;
|
|
QSize size_;
|
|
Direction dir_;
|
|
|
|
public slots:
|
|
void setText(const QString & t) {label_.setText(t);}
|
|
void setIcon(const QIcon & i);
|
|
void setIconSize(const QSize & s);
|
|
void setDirection(Direction d);
|
|
|
|
signals:
|
|
|
|
};
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
QT_END_HEADER
|
|
|
|
#endif // ICONEDLABEL_H
|