#ifndef PAGINGWIDGET_H
#define PAGINGWIDGET_H

#include <QWidget>

namespace Ui {
class PagingWidget;
}

class PagingWidget : public QWidget
{
    Q_OBJECT
signals:
    void pageChanged(int nPage);
public:
    explicit PagingWidget(QWidget *parent = nullptr);
    ~PagingWidget();


    void setMaxPageSize(int nMaxSize);

    void setUI(const int nX, const int nY);
private slots:
    void on_btn_previous_clicked();

    void on_btn_page1_clicked();

    void on_btn_page2_clicked();

    void on_btn_page3_clicked();

    void on_btn_page4_clicked();

    void on_btn_page5_clicked();

    void on_btn_page6_clicked();

    void on_btn_page7_clicked();

    void on_btn_next_clicked();

private:
    Ui::PagingWidget *ui;

    const int m_nLimitPage = 7;


    int m_nMaxPageSize;
    int m_nCurrentPage;        

    void initPageCtrl(const int nCurPage);
    void initPages(const int nMaxSize);
    void setCurPage(const int nCurPage);

};

#endif // PAGINGWIDGET_H
