#ifndef MainWidget_H #define MainWidget_H #include "../Global.h" #include "YSGraphic_Core/base/export.h" #include #include #include #include class IntermediateFrequencyWidget; class SweepFrequencyWidget; class RadioWidget; class BaseWidget; class ShowTime; class BaseWidgetMenu; class QVBoxLayout; class TopMenuBar; class ServerSettingWidget; class FileExplorer; class MainWidget : public QWidget, public YSG::SingletonWidget { public: explicit MainWidget(QWidget *parent = nullptr); QVBoxLayout *mMainLayout; RadioWidget *mRadioWidget; SweepFrequencyWidget *mSweepFrequencyWidget; IntermediateFrequencyWidget *mIntermediateFrequencyWidget; TopMenuBar* mTopMenuBar; BaseWidgetMenu *mMainMenu, *mTopMenu; ServerSettingWidget* mServerSettingWidget; void showIntermediateFrequencyWidget() const; void showSweepFrequencyWidget() const; void showRadioWidget() const; void showServerSettingWidget(); [[nodiscard]] BaseWidget* getCurrentBaseWidget() const; QWidget* currentHoverWidget() {return mCurrentHoverWidget;} void setCurrentHoverWidget(QWidget* widget = nullptr); void hideCurHoverWidget(); bool mSelectShotScreenDialogFirst = true, mSelectAudioFileFirst = true; FileExplorer *mSelectShotScreenDialog, *mSelectAudioFile; QAudioRecorder *audioRecorder; QMediaPlayer *mediaPlayer; protected: void paintEvent(QPaintEvent *event) override; void resizeEvent(QResizeEvent *event) override; void keyPressEvent(QKeyEvent *event) override; void wheelEvent(QWheelEvent *event) override; private: QWidget* mCurrentHoverWidget{}; }; #endif