/***************************************************************************
 **
 **  Copyright (C) 2018-2023 wangjianjun <wangjianjun1018@qq.com>
 **  Contact: https://blog.csdn.net/wocanimei007?type=blog
 **
 **
****************************************************************************/
#ifndef FANCYNAVBAR_H
#define FANCYNAVBAR_H

#include <QWidget>
#include "frameless_global.h"

class QSplitter;



class FancyNavBarPrivate;
class FRAMELESS_SHARED_EXPORT FancyNavBar : public QWidget
{
    Q_OBJECT
public:
    explicit FancyNavBar(QWidget *parent = nullptr);

    void add(const QString &title, QWidget *widget, QWidget *appendix = nullptr);
    void remove(QWidget *widget);
    void select(QWidget *widget);

    QWidget* panel() const;
    void setPanelColor(const QColor &color);
    void setSplitter(QSplitter *splitter);

    void setSideButtonVisable(bool visable);
    void setSideButtonEnable(bool enable);
    void setSideExpand(bool expand);

    void setHoverColor(const QColor &color);
    void setPressColor(const QColor &color);
    void setTextColor(const QColor &color);

signals:
    void sigSideExpand(bool expand);

private:
    FancyNavBarPrivate *d;
};



#endif // FANCYNAVBAR_H
