// Copyright (c) Warwick Allison, 1999. // Qt4 conversion copyright (c) Ray Chason, 2012-2014. // NetHack may be freely redistributed. See license for details. // qt_icon.cpp -- a labelled icon #ifndef QT4ICON_H #define QT4ICON_H namespace nethack_qt_ { class NetHackQtLabelledIcon : public QWidget { public: NetHackQtLabelledIcon(QWidget *parent, const char *label); NetHackQtLabelledIcon(QWidget *parent, const char *label, const QPixmap &icon); enum { NoNum=-99999 }; void setLabel(const QString &, bool lower=true); // string void setLabel(const QString &, long, const QString &tail=""); // number void setLabel(const QString &, long show_value, long comparative_value, const QString &tail=""); void setIcon(const QPixmap &); virtual void setFont(const QFont &); //QString labelText() { return QString(this->label->text()); } void highlightWhenChanging(); void lowIsGood(); void dissipateHighlight(); void ForceResize(); virtual void show(); virtual QSize sizeHint() const; virtual QSize minimumSizeHint() const; QLabel *label; QLabel *icon; protected: void resizeEvent(QResizeEvent*); private: void initHighlight(); void setAlignments(); void highlight(const QString& highlight); void unhighlight(); bool low_is_good; int prev_value; int turn_count; /* last time the value changed */ QString hl_good; QString hl_bad; }; } // namespace nethack_qt_ #endif