UpLowLimp/ZBD_IIIDL_S_Project/Src/MainWindow/mainwindowpagecontrol.h

51 lines
1.2 KiB
C
Raw Normal View History

2024-11-25 17:15:44 +08:00
#ifndef MAINWINDOWPAGECONTROL_H
#define MAINWINDOWPAGECONTROL_H
/*************该类主要用于管理页面间的切换***************/
#include "dataformate.h"
#include <QObject>
class MainWindowPageControl : public QObject
{
Q_OBJECT
public:
static MainWindowPageControl* getInstance();
/****设置当前页面****
* @int pageIndex
* *************/
void setCurrentPage(int pageIndex);
//各个模块是否解锁
void setMainWindowBtnsLock(bool);
//获取当前页面下标
int getCurrentPageIndex();
//只修改页面所以,不发送槽函数
void setPageIndex(int pageIndex);
signals:
void signalSwitchPage(E_PAGENAME pageIndex);
void signalSetBtnsLock(bool);
//关闭当前运行的练习
void signalTurnOffRunning(int pageIndex);
private:
explicit MainWindowPageControl(QObject *parent = nullptr);
static MainWindowPageControl* m_pageControlInterface;
int m_currentPageIndex; //当前页面下标
//各界面状态
struct
{
bool moveRangeFlag;
bool trainModeFlag;
bool gameFlag;
bool evaluateFlag;
bool trainRecordFlag;
}ST_runningFlag;
};
#endif // MAINWINDOWPAGECONTROL_H