/***************************************************************************
 **
 **  Copyright (C) 2021 MaMinJie <canpool@163.com>
 **  Contact: https://blog.csdn.net/wocanimei007?type=blog
 **
 **
****************************************************************************/
#ifndef FANCYRIBBONCONTAINERS_H
#define FANCYRIBBONCONTAINERS_H

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

#include "fancyribbongroup.h"



class FRAMELESS_SHARED_EXPORT FancyRibbonContainer : public QWidget
{
    Q_OBJECT
public:
    explicit FancyRibbonContainer(QWidget *parent = nullptr);
    virtual ~FancyRibbonContainer();
};

/* FancyRibbonGridContainer */
class FancyRibbonGridContainerPrivate;
class FRAMELESS_SHARED_EXPORT FancyRibbonGridContainer : public FancyRibbonContainer
{
    Q_OBJECT
public:
    explicit FancyRibbonGridContainer(QWidget *parent = nullptr);
    virtual ~FancyRibbonGridContainer();

public:
    void addWidget(QWidget *widget);

private:
    FancyRibbonGridContainerPrivate *d;
};

/* FancyRibbonActionContainer */
class FancyRibbonActionContainerPrivate;
class FRAMELESS_SHARED_EXPORT FancyRibbonActionContainer : public FancyRibbonContainer
{
    Q_OBJECT
public:
    explicit FancyRibbonActionContainer(QWidget *parent = nullptr);
    virtual ~FancyRibbonActionContainer();

public:
    QAction *addAction(const QIcon &icon, const QString &text, FancyRibbonGroup::GroupSize size);
    void addAction(QAction *action, FancyRibbonGroup::GroupSize size); // for action that has menu

private:
    FancyRibbonActionContainerPrivate *d;
};



#endif // FANCYRIBBONCONTAINERS_H
