#ifndef FUNCTIONNAVIGATIONBAR_H
#define FUNCTIONNAVIGATIONBAR_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
class functionNavigationBar;
}
QT_END_NAMESPACE

class QPushButton;
class QPropertyAnimation;
class FunctionNavigationBar : public QWidget
{
    Q_OBJECT

public:
    FunctionNavigationBar(QWidget *parent = nullptr);
    ~FunctionNavigationBar();

    void expand();
    void collapse();

protected:
    void enterEvent(QEnterEvent*);
    void leaveEvent(QEvent*);

public slots:
    void onBtnClicked_funBtn();

signals:
    void sgl_funBtnClicke(QString);

private:
    void initialize();

    Ui::functionNavigationBar*  ui;
    QPushButton*                m_pLastFunButton;
    QPropertyAnimation*         m_pAni_geo;
    QString                     m_strCurState;
    bool                        m_bInAnimation;
};

#endif
