StateIcon improvements

This commit is contained in:
2024-03-26 10:35:08 +03:00
parent 592c17e1c7
commit ab2c8d4480
4 changed files with 32 additions and 5 deletions

View File

@@ -30,6 +30,8 @@ class QAD_WIDGETS_EXPORT StateIcon: public IconedLabel {
Q_OBJECT
Q_PROPERTY(QString rawStates READ saveStates WRITE loadStates DESIGNABLE false)
Q_PROPERTY(int state READ state WRITE setState)
Q_PROPERTY(bool changeIcon READ isChangeIcon WRITE setChangeIcon)
Q_PROPERTY(bool changeText READ isChangeText WRITE setChangeText)
public:
explicit StateIcon(QWidget * parent = nullptr);
@@ -39,10 +41,16 @@ public:
void clearStates();
void addState(int st, QString text, QIcon icon);
void addState(int st, QString text, QString icon_path);
QList<int> allStates() const;
QString stateText(int st) const;
QString stateIcon(int st) const;
bool isChangeIcon() const { return m_changeIcon; }
void setChangeIcon(bool newChangeIcon);
bool isChangeText() const { return m_changeText; }
void setChangeText(bool newChangeText);
int state() const { return m_state; }
private:
@@ -50,7 +58,8 @@ private:
QMap<int, QPair<QString, QString>> src_states;
QMap<int, QPair<QString, QIcon>> prepared_states;
int m_state = 0;
int m_state = 0;
bool m_changeIcon = true, m_changeText = true;
public slots:
void setState(int newState);