FemaLocalSoftware/pagingutil.h
Lopata PC 9e459078e1 SensorTab all Done
paginationBar Done
2024-12-16 11:38:04 +03:00

59 lines
1.1 KiB
C++

#ifndef PAGINGUTIL_H
#define PAGINGUTIL_H
#include <qobject.h>
class PagingUtil : public QObject {
Q_OBJECT
public:
explicit PagingUtil(QObject* parent = nullptr);
virtual ~PagingUtil();
PagingUtil& operator=(const PagingUtil& other);
int getTotalSize() const;
void setTotalSize(int size);
int getSizeofPerPage() const;
void setSizeofPerPage(int size);
void numberSelected(int number);
virtual void reCacheNumbers() = 0;
bool isSelectedNumber(int number) const;
const QList<int>& getCurCacheNumbers() const {
return curCacheNumbers;
}
int getCurrentSelectedNumber() const {
return curSelectNumber;
}
int getPageSize() const;
signals:
void numberArraySizeChanged();
void numbersChanged();
void numberSelectChanged();
protected:
//total data size
int totalSize;
//max number of pages to display
int sizeofPerPage;
//current selected number value
int curSelectNumber;
//current display numbers
QList<int> curCacheNumbers;
private:
void pre2ReCacheNumbers();
friend class Pagination;
};
#endif // PAGINGUTIL_H