From 18edce48382e9542c350e0163c1bb9944e9509cb Mon Sep 17 00:00:00 2001 From: wyc <1104749580@qq.com> Date: Wed, 29 Jul 2026 12:30:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .clang-format | 56 --- .gitignore | 2 +- CMakeLists.txt | 2 +- main.cmake | 112 ++--- module/radio/Application.h | 4 +- module/radio/BackEnd/BackEnd.h | 22 +- module/radio/BackEnd/BackEnd_Mock.cpp | 166 +++---- module/radio/BackEnd/BackEnd_True.cpp | 144 +++---- .../BackEnd/IntermediateFrequencyWidget.cpp | 324 +++++++------- .../BackEnd/IntermediateFrequencyWidget.h | 36 +- module/radio/BackEnd/MainWidget.cpp | 310 ++++++------- module/radio/BackEnd/MainWidget.h | 64 +-- module/radio/BackEnd/RadioWidget.cpp | 406 +++++++++--------- module/radio/BackEnd/RadioWidget.h | 46 +- module/radio/BackEnd/SweepFrequencyWidget.cpp | 136 +++--- module/radio/BackEnd/SweepFrequencyWidget.h | 38 +- module/radio/BaseWidget.cpp | 40 +- module/radio/BaseWidget.h | 27 +- .../radio/FileDialog/CustomFileDelegate.cpp | 32 +- module/radio/FileDialog/CustomFileDelegate.h | 8 +- module/radio/FileDialog/FileExplorer.cpp | 34 +- module/radio/FileDialog/FileExplorer.h | 46 +- module/radio/Global.cpp | 96 ++--- module/radio/Global.h | 28 +- module/radio/MainWidget.rar | Bin 2941 -> 0 bytes .../Toolbox_private/CircularLinkedList.hpp | 86 ++-- module/radio/Toolbox_private/Node.hpp | 20 +- module/radio/Toolbox_private/RollObject.h | 82 ++-- .../radio/Toolbox_private/SingletonWidget.hpp | 30 +- module/radio/Toolbox_private/export.h | 6 +- .../Toolbox_private/view/FileFolderBar.cpp | 24 +- .../Toolbox_private/view/FileFolderBar.h | 16 +- module/radio/component/AbstractTextButton.cpp | 8 +- module/radio/component/AbstractTextButton.h | 20 +- module/radio/component/ConsoleWidget.h | 6 +- module/radio/component/ExpandInput.cpp | 22 +- module/radio/component/ExpandInput.h | 10 +- module/radio/component/FrequentShower.cpp | 80 ++-- module/radio/component/FrequentShower.h | 12 +- module/radio/component/ProgressBar.cpp | 86 ++-- module/radio/component/ProgressBar.h | 36 +- module/radio/component/ShowHelpInfo.cpp | 12 +- module/radio/component/ShowHelpInfo.h | 10 +- module/radio/component/ShowTime.cpp | 10 +- module/radio/component/ShowTime.h | 10 +- module/radio/component/TopMenuBar.cpp | 40 +- module/radio/component/TopMenuBar.h | 22 +- module/radio/component/Wifi.cpp | 24 +- module/radio/main.cpp | 10 +- module/radio/menu/BaseWidgetMenu.cpp | 114 ++--- module/radio/menu/BaseWidgetMenu.h | 199 ++++----- module/radio/styles/AbstractStyle.h | 12 +- module/radio/styles/norwegianwoodstyle.cpp | 122 +++--- module/radio/styles/norwegianwoodstyle.h | 10 +- .../radio/subWidget/ServerSettingWidget.cpp | 130 +++--- module/radio/subWidget/ServerSettingWidget.h | 26 +- module/radio/todolist.txt | 7 - third_party/init.bash | 2 +- third_party/init.ps1 | 2 +- 59 files changed, 1690 insertions(+), 1795 deletions(-) delete mode 100644 .clang-format delete mode 100644 module/radio/MainWidget.rar delete mode 100644 module/radio/todolist.txt diff --git a/.clang-format b/.clang-format deleted file mode 100644 index c82d662..0000000 --- a/.clang-format +++ /dev/null @@ -1,56 +0,0 @@ ---- -Language: Cpp -BasedOnStyle: LLVM -AccessModifierOffset: -4 -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignOperands: false -AlignTrailingComments: false -AllowShortBlocksOnASingleLine: false -AllowShortFunctionsOnASingleLine: None -AlwaysBreakTemplateDeclarations: Yes -BraceWrapping: - AfterCaseLabel: false - AfterClass: false - AfterControlStatement: false - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterStruct: false - AfterUnion: false - AfterExternBlock: false - BeforeCatch: true - BeforeElse: true - BeforeLambdaBody: false - BeforeWhile: true - SplitEmptyFunction: false - SplitEmptyRecord: false - SplitEmptyNamespace: false -BreakBeforeBraces: Custom -BreakConstructorInitializers: AfterColon -BreakConstructorInitializersBeforeComma: false -ColumnLimit: 0 -ConstructorInitializerAllOnOneLineOrOnePerLine: false -ContinuationIndentWidth: 0 -EmptyLineBeforeAccessModifier: Never -IncludeCategories: - - Regex: '^<.*' - Priority: 1 - - Regex: '^".*' - Priority: 2 - - Regex: '.*' - Priority: 3 -IncludeIsMainRegex: '([-_](test|unittest))?$' -IndentWidth: 4 -InsertNewlineAtEOF: true -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 0 -PointerAlignment: Left -SpaceInEmptyParentheses: false -SpacesInAngles: false -SpacesInConditionalStatement: false -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -TabWidth: 4 -... diff --git a/.gitignore b/.gitignore index f80d33b..ad810a2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /.idea -/third_party/Graphic_Core/YSGraphic_Core.zip +/third_party/Graphic_Core/Renderive.zip diff --git a/CMakeLists.txt b/CMakeLists.txt index 20fad02..96e0b12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR}) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) include(third_party/build_infra/start.cmake) include(third_party/CPP_Core/main.cmake) - include(third_party/Graphic_Core/main.cmake) + include(third_party/Renderive/main.cmake) include(${CMAKE_SOURCE_DIR}/main.cmake) include(third_party/build_infra/end.cmake) else () diff --git a/main.cmake b/main.cmake index 7fc0e3f..f55c7aa 100644 --- a/main.cmake +++ b/main.cmake @@ -9,92 +9,94 @@ set(module_dir "${CMAKE_CURRENT_LIST_DIR}/module") set(dir "${module_dir}/radio") file(GLOB_RECURSE srcs "${dir}/*.c" "${dir}/*.cpp" "${dir}/*.h" "${dir}/*.hpp" "${dir}/*.qrc") add_executable(radio ${srcs}) -target_link_libraries(radio PUBLIC YSGraphic_Core) +target_link_libraries(radio PUBLIC Renderive Renderive_Widget) +# 为了一起维护代码 +#target_link_libraries(radio PUBLIC Demo_Gallery_Lib) if (MSVC) target_compile_definitions(radio PRIVATE MockBackEnd) target_compile_options(radio PRIVATE - /utf-8 + /utf-8 ) endif () set_property(TARGET radio PROPERTY AUTOMOC ON) set_property(TARGET radio PROPERTY AUTOUIC ON) set_property(TARGET radio PROPERTY AUTORCC ON) set(radio_document_dirs - "${CMAKE_SOURCE_DIR}/module/radio" - "${CMAKE_SOURCE_DIR}/third_party/CPP_Core/Core" - "${CMAKE_SOURCE_DIR}/third_party/Graphic_Core/YSGraphic_Core" + "${CMAKE_SOURCE_DIR}/module/radio" + "${CMAKE_SOURCE_DIR}/third_party/CPP_Core/Core" + "${CMAKE_SOURCE_DIR}/third_party/Graphic_Core/Renderive" ) set(radio_document_exclude_dirs - "${CMAKE_SOURCE_DIR}/third_party/Graphic_Core/YSGraphic_Core/base/Virtual_Keyboard/googlepinyin" + "${CMAKE_SOURCE_DIR}/third_party/Graphic_Core/Renderive/base/Virtual_Keyboard/googlepinyin" ) psc_add_doxygen_target(psc_radio_doxygen - PROJECT_NAME "Radio" - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/doxygen/radio" - PREDEFINED LIB_DECL= Q_OBJECT= signals=public slots=public + PROJECT_NAME "Radio" + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/doxygen/radio" + PREDEFINED LIB_DECL= Q_OBJECT= signals=public slots=public ) psc_add_graphviz_directory_target(psc_radio_graphviz - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/graphviz/radio" - FORMAT svg - MAX_DEPTH 4 - COLLAPSE_THRESHOLD 20 + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/graphviz/radio" + FORMAT svg + MAX_DEPTH 4 + COLLAPSE_THRESHOLD 20 ) psc_add_cmake_graphviz_target(psc_radio_cmake_graphviz - TARGETS radio YSGraphic_Core Demo_Gallery Core_Static asio_object - OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/graphviz/radio" - FORMAT svg + TARGETS radio Renderive Demo_Gallery Core_Static asio_object + OUTPUT_DIR "${CMAKE_BINARY_DIR}/docs/graphviz/radio" + FORMAT svg ) add_custom_target(psc_radio_docs - DEPENDS psc_radio_doxygen psc_radio_graphviz psc_radio_cmake_graphviz + DEPENDS psc_radio_doxygen psc_radio_graphviz psc_radio_cmake_graphviz ) set(radio_metrics_dir "${CMAKE_BINARY_DIR}/metrics/radio") psc_add_llvm_cognitive_target(psc_radio_llvm_cognitive - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - COMPILE_COMMANDS "${CMAKE_BINARY_DIR}/compile_commands.json" - OUTPUT_DIR "${radio_metrics_dir}/llvm" - TOP_N 50 - THRESHOLD 0 + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + COMPILE_COMMANDS "${CMAKE_BINARY_DIR}/compile_commands.json" + OUTPUT_DIR "${radio_metrics_dir}/llvm" + TOP_N 50 + THRESHOLD 0 ) psc_add_cppcheck_target(psc_radio_cppcheck - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - COMPILE_COMMANDS "${CMAKE_BINARY_DIR}/compile_commands.json" - OUTPUT_DIR "${radio_metrics_dir}/cppcheck" - CHECK_LEVEL normal + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + COMPILE_COMMANDS "${CMAKE_BINARY_DIR}/compile_commands.json" + OUTPUT_DIR "${radio_metrics_dir}/cppcheck" + CHECK_LEVEL normal ) psc_add_lizard_target(psc_radio_lizard - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - OUTPUT_DIR "${radio_metrics_dir}/lizard" - TOP_N 50 - CCN_WARNING 15 - FUNCTION_LENGTH_WARNING 200 - ARGUMENT_WARNING 8 + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + OUTPUT_DIR "${radio_metrics_dir}/lizard" + TOP_N 50 + CCN_WARNING 15 + FUNCTION_LENGTH_WARNING 200 + ARGUMENT_WARNING 8 ) psc_add_code_count_target(psc_radio_code_count - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - OUTPUT_DIR "${radio_metrics_dir}/code_count" + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + OUTPUT_DIR "${radio_metrics_dir}/code_count" ) psc_add_coupling_target(psc_radio_coupling - INPUT_DIRS ${radio_document_dirs} - EXCLUDE_DIRS ${radio_document_exclude_dirs} - OUTPUT_DIR "${radio_metrics_dir}/coupling" - TOP_N 50 + INPUT_DIRS ${radio_document_dirs} + EXCLUDE_DIRS ${radio_document_exclude_dirs} + OUTPUT_DIR "${radio_metrics_dir}/coupling" + TOP_N 50 ) psc_add_metrics_report_target(psc_radio_metrics - PROJECT_NAME "Radio" - OUTPUT_DIR "${radio_metrics_dir}" - LLVM_DIR "${radio_metrics_dir}/llvm" - CPPCHECK_DIR "${radio_metrics_dir}/cppcheck" - LIZARD_DIR "${radio_metrics_dir}/lizard" - CODE_COUNT_DIR "${radio_metrics_dir}/code_count" - COUPLING_DIR "${radio_metrics_dir}/coupling" - DEPENDS + PROJECT_NAME "Radio" + OUTPUT_DIR "${radio_metrics_dir}" + LLVM_DIR "${radio_metrics_dir}/llvm" + CPPCHECK_DIR "${radio_metrics_dir}/cppcheck" + LIZARD_DIR "${radio_metrics_dir}/lizard" + CODE_COUNT_DIR "${radio_metrics_dir}/code_count" + COUPLING_DIR "${radio_metrics_dir}/coupling" + DEPENDS psc_radio_llvm_cognitive psc_radio_cppcheck psc_radio_lizard @@ -102,5 +104,5 @@ psc_add_metrics_report_target(psc_radio_metrics psc_radio_coupling ) add_custom_target(psc_radio_quality - DEPENDS psc_radio_metrics psc_radio_docs + DEPENDS psc_radio_metrics psc_radio_docs ) diff --git a/module/radio/Application.h b/module/radio/Application.h index cd4ecd3..968572b 100644 --- a/module/radio/Application.h +++ b/module/radio/Application.h @@ -2,12 +2,12 @@ #define Application_H #include #include -class MainWidget; +class Main_Widget; class Application : public QApplication { public: ~Application() override; bool notify(QObject *object, QEvent *event) override; - MainWidget *mMainWidget; + Main_Widget *main_widget; explicit Application(int &argc, char **argv, int = ApplicationFlags); }; diff --git a/module/radio/BackEnd/BackEnd.h b/module/radio/BackEnd/BackEnd.h index 51d3013..66aaf0f 100644 --- a/module/radio/BackEnd/BackEnd.h +++ b/module/radio/BackEnd/BackEnd.h @@ -1,16 +1,16 @@ -#ifndef BackEnd_H -#define BackEnd_H +#ifndef Back_End_H +#define Back_End_H #include #include #include -class BackEnd : public QObject { +class Back_End : public QObject { Q_OBJECT public: - QMap mFunctionMap; + QMap function_map; bool match(QKeyEvent* e, const QString& function); - static BackEnd* instance(); + static Back_End* instance(); int YsGetAfGain(); void YsSetAfGain(int value); int YsGetRfGain(); @@ -21,13 +21,13 @@ public: void play(const QString& fileName); QString get_screenshot_save_dir_path(); QString get_screenshot_save_file_name(); - QString getAudioFileLocation(); - BackEnd(const BackEnd&) = delete; - BackEnd& operator=(const BackEnd&) = delete; - void callBackData_Func(int channel, void *pData, int iLength); + QString get_audio_file_location(); + Back_End(const Back_End&) = delete; + Back_End& operator=(const Back_End&) = delete; + void call_back_data_func(int channel, void *pData, int i_length); protected: - BackEnd(); - ~BackEnd() override = default; + Back_End(); + ~Back_End() override = default; }; #endif diff --git a/module/radio/BackEnd/BackEnd_Mock.cpp b/module/radio/BackEnd/BackEnd_Mock.cpp index 32f18b2..b1c5ed2 100644 --- a/module/radio/BackEnd/BackEnd_Mock.cpp +++ b/module/radio/BackEnd/BackEnd_Mock.cpp @@ -6,148 +6,116 @@ #include "IntermediateFrequencyWidget.h" #include "RadioWidget.h" #include "SweepFrequencyWidget.h" - - -void BackEnd::play(const QString& fileName){ +void Back_End::play(const QString& fileName) { qDebug() << "播放音频文件:" << fileName; } -QString BackEnd::get_screenshot_save_dir_path() { +QString Back_End::get_screenshot_save_dir_path() { return "D:/work/电台保存文件"; } - -QString BackEnd::get_screenshot_save_file_name() { +QString Back_End::get_screenshot_save_file_name() { QDateTime currentDateTime = QDateTime::currentDateTime(); return "截屏_" + currentDateTime.toString() - .replace(":", "_") - .replace("/", "_") + ".png"; + .replace(":", "_") + .replace("/", "_") + ".png"; } - - -QString BackEnd::getAudioFileLocation() { +QString Back_End::get_audio_file_location() { return "D:/work/save/"; } - -BackEnd *BackEnd::instance() { - static BackEnd temp; +Back_End* Back_End::instance() { + static Back_End temp; return &temp; } - -bool BackEnd::match(QKeyEvent *e, const QString &function) { - bool ok = mFunctionMap.contains(function); - if(!ok){ +bool Back_End::match(QKeyEvent* e, const QString& function) { + bool ok = function_map.contains(function); + if (!ok) { qDebug() << "error Global::match 失败! 功能" << function << "不存在!" << e; } - return e->key() == mFunctionMap[function]; + return e->key() == function_map[function]; } - -void BackEnd::YsSetFreq(quint64 value) -{ +void Back_End::YsSetFreq(quint64 value) { qDebug() << "后端设置频率为: " << value; } - - // 获取到频率 -void BackEnd::YsReceiveFreq(quint64 freq) { +void Back_End::YsReceiveFreq(quint64 freq) { qDebug() << "接收到频率:" << freq; } - // 音量设置 -void BackEnd::YsSetAfGain(int value) { - -} - -int BackEnd::YsGetAfGain() { +void Back_End::YsSetAfGain(int value) {} +int Back_End::YsGetAfGain() { return 60; } - -int BackEnd::YsGetRfGain() { +int Back_End::YsGetRfGain() { return 60; } - -qint64 BackEnd::YsGetFreq() { +qint64 Back_End::YsGetFreq() { return 70; } - - // 增益设置 -void BackEnd::YsSetRfGain(int value) -{ - -} - - -BackEnd::BackEnd() { - //qDebug() << "BackEnd::BackEnd() " << QThread::currentThreadId(); - mFunctionMap["主菜单"] = Qt::Key_F1; - mFunctionMap["属性菜单"] = Qt::Key_F2; - mFunctionMap["顶部菜单"] = Qt::Key_F3; - mFunctionMap["退出"] = Qt::Key_Escape; - mFunctionMap["确定"] = Qt::Key_Return; - mFunctionMap["左移"] = Qt::Key_Left; - mFunctionMap["右移"] = Qt::Key_Right; - mFunctionMap["增加"] = Qt::Key_Up; - mFunctionMap["减小"] = Qt::Key_Down; - mFunctionMap["切换音量/RF Gain"] = Qt::Key_Return; - mFunctionMap["特别增加"] = Qt::Key_PageUp; - mFunctionMap["特别减小"] = Qt::Key_PageDown; - auto mTimer = new QTimer(this); - - - - QObject::connect(mTimer, &QTimer::timeout, [&](){ - - int size = 1024; - - RadioWidget* rw = MainWidget::instance()->mRadioWidget; +void Back_End::YsSetRfGain(int value) {} +Back_End::Back_End() { + //qDebug() << "Back_End::Back_End() " << QThread::current_thread_id(); + function_map["主菜单"] = Qt::Key_F1; + function_map["属性菜单"] = Qt::Key_F2; + function_map["顶部菜单"] = Qt::Key_F3; + function_map["退出"] = Qt::Key_Escape; + function_map["确定"] = Qt::Key_Return; + function_map["左移"] = Qt::Key_Left; + function_map["右移"] = Qt::Key_Right; + function_map["增加"] = Qt::Key_Up; + function_map["减小"] = Qt::Key_Down; + function_map["切换音量/RF Gain"] = Qt::Key_Return; + function_map["特别增加"] = Qt::Key_PageUp; + function_map["特别减小"] = Qt::Key_PageDown; + auto timer = new QTimer(this); + QObject::connect(timer, &QTimer::timeout, [&]() { + int size = 1024; + Radio_Widget* rw = Main_Widget::instance()->radio_widget; { - auto r = rw->mSpectrogramLine->power_axis()->coord_range(); - YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4}; - //QVector&& d= YSG::get_data(nr, rw->mSpectrogramLine->frequent_point_size()); - QVector&& d= YSG::get_data(nr, size); - rw->mSpectrogramLine->give_data(d); + auto r = rw->spectrogram_line->power_axis()->coord_range(); + renderive::Range nr = {r.center() - r.length() / 4, r.center() + r.length() / 4}; + //QVector&& d= renderive::get_data(nr, rw->spectrogram_line->frequent_point_size()); + QVector&& d = renderive::get_data(nr, size); + rw->spectrogram_line->give_data(d); } { - QVector&& d= YSG::get_data(rw->mWaterFall->power_range(), rw->mWaterFall->frequent_point_size()); - + QVector&& d = renderive::get_data(rw->water_fall->power_range(), rw->water_fall->frequency_point_size()); //qDebug() << "D == " << d.size(); - int tick = rw->mWaterFall->time_axis()->give_data(QTime::currentTime()); - rw->mWaterFall->give_data(tick, d); + int tick = rw->water_fall->time_axis()->give_data(QTime::currentTime()); + rw->water_fall->give_data(tick, d); } { - int tick = rw->mTimePower->time_axis()->give_data(QTime::currentTime()); - YSG::Range r = rw->mTimePower->value_axis()->coord_range(); - YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4}; - rw->mTimePower->give_data(tick, YSG::get_data(nr)); + int tick = rw->time_power->time_axis()->give_data(QTime::currentTime()); + renderive::Range r = rw->time_power->value_axis()->coord_range(); + renderive::Range nr = {r.center() - r.length() / 4, r.center() + r.length() / 4}; + rw->time_power->give_data(tick, renderive::get_data(nr)); } { - auto r = rw->mAudioSpectrogramPlot->power_axis()->coord_range(); - YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4}; - //QVector&& d= YSG::get_data(nr, rw->mAudioSpectrogramPlot->frequent_point_size()); - QVector&& d= YSG::get_data(nr, 512); - rw->mAudioSpectrogramPlot->give_data(d); + auto r = rw->audio_spectrogram_plot->power_axis()->coord_range(); + renderive::Range nr = {r.center() - r.length() / 4, r.center() + r.length() / 4}; + //QVector&& d= renderive::get_data(nr, rw->audio_spectrogram_plot->frequent_point_size()); + QVector&& d = renderive::get_data(nr, 512); + rw->audio_spectrogram_plot->give_data(d); } - auto iw = MainWidget::instance()->mIntermediateFrequencyWidget; + auto iw = Main_Widget::instance()->intermediate_frequency_widget; { - auto r = iw->mSpectrogramLine->power_axis()->coord_range(); - YSG::Range nr = {r.center() - r.length()/4, r.center() + r.length()/4}; - //QVector d = YSG::get_data(nr, iw->mSpectrogramLine->frequent_point_size()); - QVector d = YSG::get_data(nr, size); - iw->mSpectrogramLine->give_data(d); + auto r = iw->spectrogram_line->power_axis()->coord_range(); + renderive::Range nr = {r.center() - r.length() / 4, r.center() + r.length() / 4}; + //QVector d = renderive::get_data(nr, iw->spectrogram_line->frequent_point_size()); + QVector d = renderive::get_data(nr, size); + iw->spectrogram_line->give_data(d); } { - //QVector d= YSG::get_data(iw->mAfterglow->power_range(), iw->mAfterglow->frequent_point_size()); - QVector d= YSG::get_data(iw->mAfterglow->power_range(), size); - iw->mAfterglow->give_data(d); + //QVector d= renderive::get_data(iw->afterglow->power_range(), iw->afterglow->frequent_point_size()); + QVector d = renderive::get_data(iw->afterglow->power_range(), size); + iw->afterglow->give_data(d); } - auto sw = MainWidget::instance()->mSweepFrequencyWidget; + auto sw = Main_Widget::instance()->sweep_frequency_widget; { - QVector&& sweepData = YSG::get_data(sw->mSweepFrequencyLine->power_axis()->coord_range(), sw->mSweepFrequencyLine->block_frequent_point_size()); - sw->mSweepFrequencyLine->give_data(sweepData); + QVector&& sweepData = renderive::get_data(sw->sweep_frequency_line->power_axis()->coord_range(), sw->sweep_frequency_line->block_frequency_point_size()); + sw->sweep_frequency_line->give_data(sweepData); } }); - mTimer->start(10); + timer->start(10); } - - #endif diff --git a/module/radio/BackEnd/BackEnd_True.cpp b/module/radio/BackEnd/BackEnd_True.cpp index 7033bc2..a3978be 100644 --- a/module/radio/BackEnd/BackEnd_True.cpp +++ b/module/radio/BackEnd/BackEnd_True.cpp @@ -17,46 +17,46 @@ #include #include #define BUFFER_SIZE 512 // 缓冲区大小 -Device_UHD* mYsRadio; +Device_UHD* ys_radio; AM_Demod am_demod; snd_pcm_t *handle; int err; -void BackEnd::play(const QString& fileName){ -// mYsRadio->YsSetFreq(value); +void Back_End::play(const QString& fileName){ +// ys_radio->YsSetFreq(value); } -BackEnd *BackEnd::instance() { - static BackEnd temp; +Back_End *Back_End::instance() { + static Back_End temp; return &temp; } -bool BackEnd::match(QKeyEvent *e, const QString &function) { - bool ok = mFunctionMap.contains(function); +bool Back_End::match(QKeyEvent *e, const QString &function) { + bool ok = function_map.contains(function); if(!ok){ qDebug() << "error Global::match 失败! 功能" << function << "不存在!" << e; } - return e->key() == mFunctionMap[function]; + return e->key() == function_map[function]; } -void BackEnd::YsSetFreq(quint64 value) +void Back_End::YsSetFreq(quint64 value) { - mYsRadio->setDevParam("RX0",UHD_ParamType::CenterFreq,value); - mYsRadio->setDevZDParam("RX0",0,value,150000,300000); + ys_radio->setDevParam("RX0",UHD_ParamType::CenterFreq,value); + ys_radio->setDevZDParam("RX0",0,value,150000,300000); } -qint64 BackEnd::YsGetFreq() { - return (qint64)mYsRadio->getDevParam("RX0",UHD_ParamType::CenterFreq); +qint64 Back_End::YsGetFreq() { + return (qint64)ys_radio->getDevParam("RX0",UHD_ParamType::CenterFreq); } // 获取到频率 -void BackEnd::YsReceiveFreq(quint64 freq) { +void Back_End::YsReceiveFreq(quint64 freq) { qDebug() << "接收到频率:" << freq; - MainWidget::instance()->mRadioWidget->mSelectValueWidget->set_frequent(freq); + Main_Widget::instance()->radio_widget->select_value_widget->set_frequent(freq); } // 音量设置 -void BackEnd::YsSetAfGain(int value) { +void Back_End::YsSetAfGain(int value) { std::string command = "amixer sset Master " + std::to_string(value) + "%"; int result = system(command.c_str()); if (result != 0) { @@ -64,7 +64,7 @@ void BackEnd::YsSetAfGain(int value) { } } -int BackEnd::YsGetAfGain() { +int Back_End::YsGetAfGain() { FILE *pipe = popen("amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'", "r"); if (!pipe) { std::cerr << "Failed to run command" << std::endl; @@ -88,18 +88,18 @@ int BackEnd::YsGetAfGain() { return volume; } -int BackEnd::YsGetRfGain() { +int Back_End::YsGetRfGain() { return 60; } // 增益设置 -void BackEnd::YsSetRfGain(int value) +void Back_End::YsSetRfGain(int value) { - mYsRadio->setDevParam("RX0",UHD_ParamType::Gain,value); + ys_radio->setDevParam("RX0",UHD_ParamType::Gain,value); qDebug()<<"增益设置"<DataLen; @@ -117,20 +117,20 @@ void BackEnd::callBackData_Func(int channel, void *pData, int iLength) } // qDebug()<< "data.size ==" << data.size() << "data == "<< data; - auto mw = MainWidget::instance(); - auto rw = mw->mRadioWidget; - auto iw = mw->mIntermediateFrequencyWidget; - int tick = rw->mWaterFall->time_axis()->give_data(QTime::currentTime()); - rw->mWaterFall->give_data(tick, data); // 中频瀑布图 - rw->mSpectrogramLine->give_data(data); // 中频频谱图 + auto mw = Main_Widget::instance(); + auto rw = mw->radio_widget; + auto iw = mw->intermediate_frequency_widget; + int tick = rw->water_fall->time_axis()->give_data(QTime::currentTime()); + rw->water_fall->give_data(tick, data); // 中频瀑布图 + rw->spectrogram_line->give_data(data); // 中频频谱图 - iw->mAfterglow->give_data(data); // 余晖图 - iw->mSpectrogramLine->give_data(data); // 瀑布图 + iw->afterglow->give_data(data); // 余晖图 + iw->spectrogram_line->give_data(data); // 瀑布图 -// auto sl = MainWidget::instance()->mSweepFrequencyWidget->mSweepFrequencyLine; -// int n = sl->block_frequent_point_size(); +// auto sl = Main_Widget::instance()->sweep_frequency_widget->sweep_frequency_line; +// int n = sl->block_frequency_point_size(); // sl->give_data(data); @@ -144,23 +144,23 @@ void BackEnd::callBackData_Func(int channel, void *pData, int iLength) std::complex* cbuf_ptr = reinterpret_cast*>((char*)pData + 64); am_demod.step(cbuf_ptr, rbuf, 512); // 解调数据 - //MainWidget::instance()->mRadioWidget->giv + //Main_Widget::instance()->radio_widget->giv QVector data(512); for(int i = 0; i < 512; ++i){ data[i] = rbuf[i]; } - auto main = MainWidget::instance(); - auto radio = main->mRadioWidget; + auto main = Main_Widget::instance(); + auto radio = main->radio_widget; //qDebug() << data; - radio->mAudioSpectrogramPlot->give_data(data); + radio->audio_spectrogram_plot->give_data(data); //std::cout << "audio == " << rbuf[256] << std::endl; - int tick = radio->mTimePower->time_axis()->give_data(QTime::currentTime()); - radio->mTimePower->give_data(tick, rbuf[256]); + int tick = radio->time_power->time_axis()->give_data(QTime::currentTime()); + radio->time_power->give_data(tick, rbuf[256]); // 保存音频流 @@ -194,53 +194,53 @@ void BackEnd::callBackData_Func(int channel, void *pData, int iLength) } } -BackEnd::BackEnd() { +Back_End::Back_End() { - mFunctionMap["主菜单"] = Qt::Key_F9; - mFunctionMap["属性菜单"] = Qt::Key_F11; - mFunctionMap["顶部菜单"] = Qt::Key_F10; - mFunctionMap["退出"] = Qt::Key_Escape; - mFunctionMap["确定"] = Qt::Key_F2; - mFunctionMap["左移"] = Qt::Key_Left; - mFunctionMap["右移"] = Qt::Key_Right; - mFunctionMap["增加"] = Qt::Key_Up; - mFunctionMap["减小"] = Qt::Key_Down; - mFunctionMap["切换音量/RF Gain"] = Qt::Key_F1; - mFunctionMap["特别增加"] = Qt::Key_PageUp; - mFunctionMap["特别减小"] = Qt::Key_PageDown; + function_map["主菜单"] = Qt::Key_F9; + function_map["属性菜单"] = Qt::Key_F11; + function_map["顶部菜单"] = Qt::Key_F10; + function_map["退出"] = Qt::Key_Escape; + function_map["确定"] = Qt::Key_F2; + function_map["左移"] = Qt::Key_Left; + function_map["右移"] = Qt::Key_Right; + function_map["增加"] = Qt::Key_Up; + function_map["减小"] = Qt::Key_Down; + function_map["切换音量/RF Gain"] = Qt::Key_F1; + function_map["特别增加"] = Qt::Key_PageUp; + function_map["特别减小"] = Qt::Key_PageDown; - mYsRadio = new Device_UHD(); - uhd::device_addrs_t tmp_add = mYsRadio->findDevices(); - while(mYsRadio->openDevice(tmp_add[0]) != true) + ys_radio = new Device_UHD(); + uhd::device_addrs_t tmp_add = ys_radio->findDevices(); + while(ys_radio->openDevice(tmp_add[0]) != true) { qDebug()<<"9002连接失败,重试中..."; sleep(1); - mYsRadio->openDevice(tmp_add[0]); + ys_radio->openDevice(tmp_add[0]); } qDebug()<<"9002设备连接成功"; quint64 value = 10125000; - mYsRadio->setDevParam("RX0",UHD_ParamType::CenterFreq,value); // 宽带设置 - mYsRadio->setDevParam("RX0",UHD_ParamType::BandWidth,100000); // 改带宽,频谱带宽不变 - mYsRadio->setDevParam("RX0",UHD_ParamType::SampleFreq,480000); // 改采样率,频谱带宽变化 - mYsRadio->setDevParam("RX0",UHD_ParamType::Gain,33); -// mYsRadio->setDevDataSwitch("RX0",KDDCSwitch,0,true); + ys_radio->setDevParam("RX0",UHD_ParamType::CenterFreq,value); // 宽带设置 + ys_radio->setDevParam("RX0",UHD_ParamType::BandWidth,100000); // 改带宽,频谱带宽不变 + ys_radio->setDevParam("RX0",UHD_ParamType::SampleFreq,480000); // 改采样率,频谱带宽变化 + ys_radio->setDevParam("RX0",UHD_ParamType::Gain,33); +// ys_radio->setDevDataSwitch("RX0",KDDCSwitch,0,true); - mYsRadio->setDevFFTParam(UHD_FFTWin::blkmc,_1024,10); // FFT设置 - mYsRadio->setDevDataSwitch("RX0",KFFTSwitch,0,true); + ys_radio->setDevFFTParam(UHD_FFTWin::blkmc,_1024,10); // FFT设置 + ys_radio->setDevDataSwitch("RX0",KFFTSwitch,0,true); - mYsRadio->setDevZDParam("RX0",0,value,15000,30000); // 窄带设置 - mYsRadio->setDevDataSwitch("RX0",ZDDCSwitch,0, true); - mYsRadio->startDevRecv(0); + ys_radio->setDevZDParam("RX0",0,value,15000,30000); // 窄带设置 + ys_radio->setDevDataSwitch("RX0",ZDDCSwitch,0, true); + ys_radio->startDevRecv(0); - //mYsRadio->stopDevRecv(0); + //ys_radio->stopDevRecv(0); - mYsRadio->callBackData = std::bind(&BackEnd::callBackData_Func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); + ys_radio->callBackData = std::bind(&Back_End::call_back_data_func, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); -// mYsRadio->hide(); -// connect(mYsRadio, &YsRadio::YsGetFreq, this, &BackEnd::YsReceiveFreq); -// connect(mYsRadio,&YsRadio::YsReceiveSpectrumData,this, &BackEnd::YsReceiveSpectrumData); +// ys_radio->hide(); +// connect(ys_radio, &YsRadio::YsGetFreq, this, &Back_End::YsReceiveFreq); +// connect(ys_radio,&YsRadio::YsReceiveSpectrumData,this, &Back_End::YsReceiveSpectrumData); // 打开音频设备 if ((err = snd_pcm_open(&handle, "default", SND_PCM_STREAM_PLAYBACK, 0)) < 0) { @@ -317,11 +317,11 @@ BackEnd::BackEnd() { -QString BackEnd::getAudioFileLocation() { +QString Back_End::get_audio_file_location() { return "./"; } -QString BackEnd::get_screenshot_save_file_name() { +QString Back_End::get_screenshot_save_file_name() { QDateTime currentDateTime = QDateTime::currentDateTime(); return "截屏_" + currentDateTime.toString() @@ -329,7 +329,7 @@ QString BackEnd::get_screenshot_save_file_name() { .replace("/", "_") + ".png"; } -QString BackEnd::get_screenshot_save_dir_path() { +QString Back_End::get_screenshot_save_dir_path() { return "/media/sdcard1/"; } diff --git a/module/radio/BackEnd/IntermediateFrequencyWidget.cpp b/module/radio/BackEnd/IntermediateFrequencyWidget.cpp index 8402d7c..bd9e701 100644 --- a/module/radio/BackEnd/IntermediateFrequencyWidget.cpp +++ b/module/radio/BackEnd/IntermediateFrequencyWidget.cpp @@ -12,142 +12,142 @@ #include "../BaseWidget.h" #include "../menu/BaseWidgetMenu.h" #include "../BackEnd/MainWidget.h" -#include "YSGraphic_Core/Demo_Gallery/export.h" -static YSG::Range frequent_range = {-12000, 12000}; +#include "../../../third_party/Renderive/Renderive/base/Tool.h" +static renderive::Range frequent_range = {-12000, 12000}; static double max = 160; -QWidget* IntermediateFrequencyWidget::createSpectrogramPowerPlot() { - class SpectrumPlot : public YSG::Plot { +QWidget* Intermediate_Frequency_Widget::create_spectrogram_power_plot() { + class Spectrum_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr msr{}; - std::shared_ptr sp{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr msr{}; + std::shared_ptr sp{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "SpectrumPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal) + object_name = "Spectrum_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal) .set_tick_length(-10) .set_coord_range(frequent_range) .set_tick_length(-10) .set_sub_tick_length(-5) .build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({160, 0}) .set_unit_text("功率") .build(); - sp = YSG::Spectrum::Builder(data, xAxis, yAxis) - .set_frequent_range(frequent_range) - .set_use_sweep_frequent_rect(true) - .set_frequent_point_size(1024) + sp = renderive::Spectrum::Builder(data, x_axis, y_axis) + .set_frequency_range(frequent_range) + .set_use_sweep_frequency_rect(true) + .set_frequency_point_size(1024) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(sp.get(), -1), "频谱图") + - bw(cw(xAxis.get()), "频率x轴") + - bw(cw(yAxis.get()), "功率y轴") + + bw(cw(x_axis.get()), "频率x轴") + + bw(cw(y_axis.get()), "功率y轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new SpectrumPlot; + auto w = new Spectrum_Plot; w->init(); - mSpectrogramLine = w->sp; - mProgressBar1->mSetValue = [this]() { - double middleFrequent = this->mSpectrogramLine->frequent_range().center(); + spectrogram_line = w->sp; + progress_bar1->set_value = [this]() { + double middle_frequent = this->spectrogram_line->frequency_range().center(); bool ok; - this->mProgressBar1->mValue = mSpectrogramLine->get_power(middleFrequent, ok, YSG::SRC::Edit); + this->progress_bar1->value = spectrogram_line->get_power(middle_frequent, ok, renderive::SRC::Edit); }; return w; } -QWidget* IntermediateFrequencyWidget::create_Afterglow_Plot() { - class AfterglowPlot : public YSG::Plot { +QWidget* Intermediate_Frequency_Widget::create_Afterglow_Plot() { + class Afterglow_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr ag{}; - std::shared_ptr msr{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr ag{}; + std::shared_ptr msr{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "AfterglowPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal) + object_name = "Afterglow_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal) .set_coord_range(frequent_range) .set_tick_length(-10) .set_sub_tick_length(-5) .set_use_drag(true) .build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({160, 0}) .set_use_drag(true) .build(); - ag = YSG::Afterglow::Builder(data, xAxis, yAxis) - .set_frequent_range(frequent_range) + ag = renderive::Afterglow::Builder(data, x_axis, y_axis) + .set_frequency_range(frequent_range) .set_power_range({0, 160}) - .set_frequent_point_size(1024) + .set_frequency_point_size(1024) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); ag->set_power_point_size(ag->power_axis()->get_pixel_point_size()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(ag.get(), -1), "余辉图") + - bw(cw(xAxis.get()), "频率轴") + - bw(cw(yAxis.get()), "功率概率轴") + + bw(cw(x_axis.get()), "频率轴") + + bw(cw(y_axis.get()), "功率概率轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new AfterglowPlot; + auto w = new Afterglow_Plot; w->init(); - mAfterglow = w->ag; + afterglow = w->ag; return w; } -//mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A -IntermediateFrequencyWidget::IntermediateFrequencyWidget(QWidget* parent) : BaseWidget(parent) { +//am, atu, vsql, nb, nr, dnf, pre, att, spl, fil1, agc_a +Intermediate_Frequency_Widget::Intermediate_Frequency_Widget(QWidget* parent) : Base_Widget(parent) { setObjectName("发射界面"); - int fontSize = 20; - m1 = createNormal("RF Gain\n62", fontSize); - m2 = createNormal("FFT SPAN\n100K", fontSize); - m3 = createNormal("频率表\n(12)89.6MHZ", fontSize); - m4 = createNormal("MODEM\nRTTY", fontSize); - m5 = createNormal("FIL1\n20K", fontSize); - m6 = createNormal("MSG1\n", fontSize); - mFrequentShower = new FrequentShower(this); + int font_size = 20; + m1 = create_normal("RF Gain\n62", font_size); + m2 = create_normal("FFT SPAN\n100K", font_size); + m3 = create_normal("频率表\n(12)89.6MHZ", font_size); + m4 = create_normal("MODEM\nRTTY", font_size); + m5 = create_normal("FIL1\n20K", font_size); + m6 = create_normal("MSG1\n", font_size); + frequent_shower = new Frequent_Shower(this); QColor orange(255, 165, 0); - mProgressBar1 = new ProgressBar({ + progress_bar1 = new Progress_Bar({ Tick("S", Qt::black), {"3", Qt::black}, {"6", Qt::black}, @@ -158,40 +158,40 @@ IntermediateFrequencyWidget::IntermediateFrequencyWidget(QWidget* parent) : Base {"+80", orange}, {"+100", Qt::red}, }, this); - mProgressBar2 = new ProgressBar({ + progress_bar2 = new Progress_Bar({ {"1", Qt::black}, {"2", Qt::yellow}, {"3", Qt::red}, {">5", Qt::red}, }, this); - auto main = createVBoxLayout({}, this); + auto main = create_vbox_layout({}, this); main->addStretch(1); { - auto center = createHBoxLayout(); + auto center = create_hbox_layout(); main->addLayout(center, 7); - auto front = createVBoxLayout(); + auto front = create_vbox_layout(); center->addLayout(front, 1); front->addWidget(m1, 3); front->addStretch(1); front->addWidget(m2, 3); center->addSpacing(4); - auto middle = createVBoxLayout(); + auto middle = create_vbox_layout(); center->addLayout(middle, 9); middle->addStretch(1); - middle->addWidget(mFrequentShower, 4); - auto middleH = createHBoxLayout(); - middle->addLayout(middleH, 2); - middleH->addWidget(mProgressBar1, 5); - middleH->addStretch(1); - middleH->addWidget(mProgressBar2, 3); + middle->addWidget(frequent_shower, 4); + auto middle_h = create_hbox_layout(); + middle->addLayout(middle_h, 2); + middle_h->addWidget(progress_bar1, 5); + middle_h->addStretch(1); + middle_h->addWidget(progress_bar2, 3); center->addStretch(4); - auto back1 = createVBoxLayout(); + auto back1 = create_vbox_layout(); center->addLayout(back1, 1); back1->addWidget(m3, 3); back1->addStretch(1); back1->addWidget(m4, 3); center->addSpacing(4); - auto back2 = createVBoxLayout(); + auto back2 = create_vbox_layout(); center->addLayout(back2, 1); back2->addWidget(m5, 3); back2->addStretch(1); @@ -199,96 +199,96 @@ IntermediateFrequencyWidget::IntermediateFrequencyWidget(QWidget* parent) : Base } main->addStretch(1); main->addSpacing(8); - auto aH = createHBoxLayout(); - main->addLayout(aH, 12); - aH->addWidget(createSpectrogramPowerPlot(), 12); - aH->addSpacing(8); + auto a_h = create_hbox_layout(); + main->addLayout(a_h, 12); + a_h->addWidget(create_spectrogram_power_plot(), 12); + a_h->addSpacing(8); main->addWidget(create_Afterglow_Plot(), 12); - initMenu(); + init_menu(); } -IntermediateFrequencyWidget::~IntermediateFrequencyWidget() {} -void IntermediateFrequencyWidget::focusInEvent(QFocusEvent* event) { +Intermediate_Frequency_Widget::~Intermediate_Frequency_Widget() {} +void Intermediate_Frequency_Widget::focusInEvent(QFocusEvent* event) { QWidget::focusInEvent(event); - mFrequentShower->setFocus(); + frequent_shower->setFocus(); } -void IntermediateFrequencyWidget::initMenu() { - int fontSize = 30; - auto btn1 = new DoubleTextMenuButton("设置最大值标记", "取消最大值标记", fontSize, [&](bool isFirst) { - mSpectrogramLine->set_use_max_marker(isFirst); - mBaseWidgetMenu->hide(); - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); +void Intermediate_Frequency_Widget::init_menu() { + int font_size = 30; + auto btn1 = new Double_Text_Menu_Button("设置最大值标记", "取消最大值标记", font_size, [&](bool is_first) { + spectrogram_line->set_use_max_marker(is_first); + base_widget_menu->hide(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); }); - auto btn2 = new DoubleTextMenuButton("设置最小值标记", "取消最小值标记", fontSize, [&](bool isFirst) { - mSpectrogramLine->set_use_min_marker(isFirst); - mBaseWidgetMenu->hide(); - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); + auto btn2 = new Double_Text_Menu_Button("设置最小值标记", "取消最小值标记", font_size, [&](bool is_first) { + spectrogram_line->set_use_min_marker(is_first); + base_widget_menu->hide(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); }); - auto btn3 = new MenuButton("设置自定义标记", fontSize, [&]() { - mBaseWidgetMenu->hide(); - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); + auto btn3 = new Menu_Button("设置自定义标记", font_size, [&]() { + base_widget_menu->hide(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); }); - auto frequentStep2 = new ValueMenuButton("频率步进:%1", fontSize, [this](ValueMenuButton* that, bool add) { - int newFrequent = (int)that->mValue + (add ? 1 : -1); - that->setValue(newFrequent); - mSpectrogramLine->set_current_marker_frequent(newFrequent); - }, qMax(0.0, mSpectrogramLine->frequent_range().length() / 50.0)); - auto btn_middleFrequent = new ValueMenuButton("中频:%1 Hz", fontSize, nullptr, mSpectrogramLine->middle_sweep_frequent()); - auto btn_frequentWidth = new ValueMenuButton("频宽:%1 Hz", fontSize, [this, frequentStep2](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? frequentStep2->mValue : -frequentStep2->mValue)); - double middle_sweep_frequent = mSpectrogramLine->middle_sweep_frequent(); - mSpectrogramLine->set_sweep_frequent_range({middle_sweep_frequent - that->mValue, middle_sweep_frequent + that->mValue}); - }, qAbs(mSpectrogramLine->sweep_frequent_range().length() / 2)); - btn_middleFrequent->mValueChanged = [this, btn_frequentWidth, frequentStep2](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? frequentStep2->mValue : -frequentStep2->mValue)); - mSpectrogramLine->set_middle_sweep_frequent(that->mValue); - mSpectrogramLine->set_sweep_frequent_range({that->mValue - btn_frequentWidth->mValue, that->mValue + btn_frequentWidth->mValue}); + auto frequent_step2 = new Value_Menu_Button("频率步进:%1", font_size, [this](Value_Menu_Button* that, bool add) { + int new_frequent = (int)that->value + (add ? 1 : -1); + that->setValue(new_frequent); + spectrogram_line->set_current_marker_frequency(new_frequent); + }, qMax(0.0, spectrogram_line->frequency_range().length() / 50.0)); + auto btn_middle_frequent = new Value_Menu_Button("中频:%1 Hz", font_size, nullptr, spectrogram_line->middle_sweep_frequency()); + auto btn_frequent_width = new Value_Menu_Button("频宽:%1 Hz", font_size, [this, frequent_step2](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? frequent_step2->value : -frequent_step2->value)); + double middle_sweep_frequent = spectrogram_line->middle_sweep_frequency(); + spectrogram_line->set_sweep_frequency_range({middle_sweep_frequent - that->value, middle_sweep_frequent + that->value}); + }, qAbs(spectrogram_line->sweep_frequency_range().length() / 2)); + btn_middle_frequent->value_changed = [this, btn_frequent_width, frequent_step2](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? frequent_step2->value : -frequent_step2->value)); + spectrogram_line->set_middle_sweep_frequency(that->value); + spectrogram_line->set_sweep_frequency_range({that->value - btn_frequent_width->value, that->value + btn_frequent_width->value}); }; - auto btn2_2 = new ValueMenuButton("参考增益:%1", fontSize, [&](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? 1 : -1)); + auto btn2_2 = new Value_Menu_Button("参考增益:%1", font_size, [&](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? 1 : -1)); }, 0); - mBaseWidgetMenu->addMenuButtonOnLayout1({btn1, btn2, btn3, btn2_2,}); - mBaseWidgetMenu->addMenuButtonOnLayout2({frequentStep2, btn_middleFrequent, btn_frequentWidth,}); - BaseWidgetMenu* sub1 = mBaseWidgetMenu->createSubWidgetMenu(btn3); - auto frequentStep = new ValueMenuButton("频率步进:%1", fontSize, [this](ValueMenuButton* that, bool add) { - int newFrequent = (int)that->mValue + (add ? 1 : -1); - that->setValue(newFrequent); - mSpectrogramLine->set_current_marker_frequent(newFrequent); - }, qMax(0.0, mSpectrogramLine->frequent_range().length() / 50.0)); - auto markFrequent = new ValueMenuButton("更改标记频率:%1", fontSize, [frequentStep, this](ValueMenuButton* that, bool add) { - int newFrequent = (int)that->mValue + (add ? frequentStep->mValue : -frequentStep->mValue); - that->setValue(newFrequent); - mSpectrogramLine->set_current_marker_frequent(newFrequent); + base_widget_menu->add_menu_button_on_layout1({btn1, btn2, btn3, btn2_2,}); + base_widget_menu->add_menu_button_on_layout2({frequent_step2, btn_middle_frequent, btn_frequent_width,}); + Base_Widget_Menu* sub1 = base_widget_menu->create_sub_widget_menu(btn3); + auto frequent_step = new Value_Menu_Button("频率步进:%1", font_size, [this](Value_Menu_Button* that, bool add) { + int new_frequent = (int)that->value + (add ? 1 : -1); + that->setValue(new_frequent); + spectrogram_line->set_current_marker_frequency(new_frequent); + }, qMax(0.0, spectrogram_line->frequency_range().length() / 50.0)); + auto mark_frequent = new Value_Menu_Button("更改标记频率:%1", font_size, [frequent_step, this](Value_Menu_Button* that, bool add) { + int new_frequent = (int)that->value + (add ? frequent_step->value : -frequent_step->value); + that->setValue(new_frequent); + spectrogram_line->set_current_marker_frequency(new_frequent); }, -1); - auto addInitFrequent = new ValueMenuButton("添加初始频率:%1", fontSize, [frequentStep,this](ValueMenuButton* that, bool add) { - int newFrequent = (int)that->mValue + (add ? frequentStep->mValue : -frequentStep->mValue); - that->setValue(newFrequent); - }, mSpectrogramLine->frequent_range().origin); - auto btn1_1 = new ValueMenuButton("当前标记:%1", fontSize, [&, markFrequent](ValueMenuButton* that, bool add) { - int index = ((int)that->mValue + (add ? 1 : -1)) % mSpectrogramLine->select_line_marker_size(); + auto add_init_frequent = new Value_Menu_Button("添加初始频率:%1", font_size, [frequent_step,this](Value_Menu_Button* that, bool add) { + int new_frequent = (int)that->value + (add ? frequent_step->value : -frequent_step->value); + that->setValue(new_frequent); + }, spectrogram_line->frequency_range().origin); + auto btn1_1 = new Value_Menu_Button("当前标记:%1", font_size, [&, mark_frequent](Value_Menu_Button* that, bool add) { + int index = ((int)that->value + (add ? 1 : -1)) % spectrogram_line->select_line_marker_size(); that->setValue(index); - mSpectrogramLine->set_selected_line_marker(index); - markFrequent->setValue(mSpectrogramLine->get_mark_frequent(index)); + spectrogram_line->set_selected_line_marker(index); + mark_frequent->setValue(spectrogram_line->get_mark_frequency(index)); }, -1); - auto btn1_2 = new MenuButton("添加标记", fontSize, [&, addInitFrequent]() { - mSpectrogramLine->add_custom_line_marker(addInitFrequent->mValue); + auto btn1_2 = new Menu_Button("添加标记", font_size, [&, add_init_frequent]() { + spectrogram_line->add_custom_line_marker(add_init_frequent->value); }); - auto btn1_3 = new MenuButton("删除标记", fontSize, [&]() { - mSpectrogramLine->remove_current_marker(); - int size = mSpectrogramLine->select_line_marker_size(); + auto btn1_3 = new Menu_Button("删除标记", font_size, [&]() { + spectrogram_line->remove_current_marker(); + int size = spectrogram_line->select_line_marker_size(); if (size == 0) { - mSpectrogramLine->set_selected_line_marker(-1); + spectrogram_line->set_selected_line_marker(-1); } else { - mSpectrogramLine->set_selected_line_marker(0); + spectrogram_line->set_selected_line_marker(0); } }); - connect(sub1, &BaseWidgetMenu::showThat, [&, markFrequent]() { - mSpectrogramLine->set_selected_line_marker(0); - markFrequent->setValue(mSpectrogramLine->get_mark_frequent(0)); + connect(sub1, &Base_Widget_Menu::show_that, [&, mark_frequent]() { + spectrogram_line->set_selected_line_marker(0); + mark_frequent->setValue(spectrogram_line->get_mark_frequency(0)); }); - connect(sub1, &BaseWidgetMenu::hideThat, [&]() { - mSpectrogramLine->un_select_marker(); + connect(sub1, &Base_Widget_Menu::hide_that, [&]() { + spectrogram_line->un_select_marker(); }); - sub1->addMenuButtonOnLayout1({btn1_1, btn1_2, btn1_3}, 2); - sub1->addMenuButtonOnLayout2({frequentStep, markFrequent, addInitFrequent}, 2); + sub1->add_menu_button_on_layout1({btn1_1, btn1_2, btn1_3}, 2); + sub1->add_menu_button_on_layout2({frequent_step, mark_frequent, add_init_frequent}, 2); } diff --git a/module/radio/BackEnd/IntermediateFrequencyWidget.h b/module/radio/BackEnd/IntermediateFrequencyWidget.h index dbca6e8..0ba4442 100644 --- a/module/radio/BackEnd/IntermediateFrequencyWidget.h +++ b/module/radio/BackEnd/IntermediateFrequencyWidget.h @@ -1,28 +1,28 @@ -#ifndef IntermediateFrequencyWidget_H -#define IntermediateFrequencyWidget_H +#ifndef Intermediate_Frequency_Widget_H +#define Intermediate_Frequency_Widget_H #include "../BaseWidget.h" #include -class TextButton; -class DoubleTextButton; -class FrequentShower; -class ProgressBar; -class ConsoleWidget; -class ShowTime; -class BaseWidgetMenu; -class IntermediateFrequencyWidget : public BaseWidget { +class Text_Button; +class Double_Text_Button; +class Frequent_Shower; +class Progress_Bar; +class Console_Widget; +class Show_Time; +class Base_Widget_Menu; +class Intermediate_Frequency_Widget : public Base_Widget { Q_OBJECT public: - explicit IntermediateFrequencyWidget(QWidget *parent = nullptr); - ~IntermediateFrequencyWidget() override; + explicit Intermediate_Frequency_Widget(QWidget *parent = nullptr); + ~Intermediate_Frequency_Widget() override; QPushButton *m1, *m2, *m3, *m4, *m5, *m6; - FrequentShower *mFrequentShower; - ProgressBar *mProgressBar1, *mProgressBar2; - std::shared_ptr mSpectrogramLine{}; - std::shared_ptr mAfterglow{}; - QWidget* createSpectrogramPowerPlot(); + Frequent_Shower *frequent_shower; + Progress_Bar *progress_bar1, *progress_bar2; + std::shared_ptr spectrogram_line{}; + std::shared_ptr afterglow{}; + QWidget* create_spectrogram_power_plot(); QWidget* create_Afterglow_Plot(); - void initMenu(); + void init_menu(); protected: void focusInEvent(QFocusEvent *event) override; }; diff --git a/module/radio/BackEnd/MainWidget.cpp b/module/radio/BackEnd/MainWidget.cpp index c895a05..000df5e 100644 --- a/module/radio/BackEnd/MainWidget.cpp +++ b/module/radio/BackEnd/MainWidget.cpp @@ -6,97 +6,97 @@ #include "IntermediateFrequencyWidget.h" #include "RadioWidget.h" #include "SweepFrequencyWidget.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" #include #include #include "../FileDialog/FileExplorer.h" -MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { +Main_Widget::Main_Widget(QWidget *parent) : QWidget(parent) { setFocusPolicy(Qt::FocusPolicy::NoFocus); setObjectName("主界面"); audioRecorder = new QAudioRecorder(this); audioRecorder->setAudioInput(audioRecorder->defaultAudioInput()); - QAudioEncoderSettings audioSettings; - audioSettings.setCodec("audio/pcm"); - audioSettings.setQuality(QMultimedia::HighQuality); - audioSettings.setSampleRate(44100); // 设置采样率 - audioSettings.setChannelCount(2); // 设置立体声 - audioRecorder->setAudioSettings(audioSettings); + QAudioEncoderSettings audio_settings; + audio_settings.setCodec("audio/pcm"); + audio_settings.setQuality(QMultimedia::HighQuality); + audio_settings.setSampleRate(44100); // 设置采样率 + audio_settings.setChannelCount(2); // 设置立体声 + audioRecorder->setAudioSettings(audio_settings); mediaPlayer = new QMediaPlayer(this); - mMainLayout = new QVBoxLayout(this); - mMainLayout->setMargin(8); - mMainLayout->setSpacing(0); - mTopMenuBar = new TopMenuBar(); - mMainLayout->addWidget(mTopMenuBar, 1); - mRadioWidget = new RadioWidget; - mSweepFrequencyWidget = new SweepFrequencyWidget; - mIntermediateFrequencyWidget = new IntermediateFrequencyWidget; - mMainLayout->addWidget(mRadioWidget, 31); - mMainLayout->addWidget(mSweepFrequencyWidget, 31); - mMainLayout->addWidget(mIntermediateFrequencyWidget, 31); - mMainMenu = new BaseWidgetMenu(this); - mMainMenu->setObjectName("主菜单"); - mTopMenu = new BaseWidgetMenu(this); - mTopMenu->setObjectName("顶部菜单"); - mServerSettingWidget = new ServerSettingWidget(this); - showRadioWidget(); - int fontSize = 30; - auto btn11 = new MenuButton("电台模式", fontSize, [&]() { - showRadioWidget(); - mMainMenu->hide(); + main_layout = new QVBoxLayout(this); + main_layout->setMargin(8); + main_layout->setSpacing(0); + top_menu_bar = new Top_Menu_Bar(); + main_layout->addWidget(top_menu_bar, 1); + radio_widget = new Radio_Widget; + sweep_frequency_widget = new Sweep_Frequency_Widget; + intermediate_frequency_widget = new Intermediate_Frequency_Widget; + main_layout->addWidget(radio_widget, 31); + main_layout->addWidget(sweep_frequency_widget, 31); + main_layout->addWidget(intermediate_frequency_widget, 31); + main_menu = new Base_Widget_Menu(this); + main_menu->setObjectName("主菜单"); + top_menu = new Base_Widget_Menu(this); + top_menu->setObjectName("顶部菜单"); + server_setting_widget = new Server_Setting_Widget(this); + show_radio_widget(); + int font_size = 30; + auto btn11 = new Menu_Button("电台模式", font_size, [&]() { + show_radio_widget(); + main_menu->hide(); }); - auto btn12 = new MenuButton("中频模式", fontSize, [&]() { - showIntermediateFrequencyWidget(); - mMainMenu->hide(); + auto btn12 = new Menu_Button("中频模式", font_size, [&]() { + show_intermediate_frequency_widget(); + main_menu->hide(); }); - auto btn13 = new MenuButton("扫频模式", fontSize, [&]() { - showSweepFrequencyWidget(); - mMainMenu->hide(); + auto btn13 = new Menu_Button("扫频模式", font_size, [&]() { + show_sweep_frequency_widget(); + main_menu->hide(); }); - auto btn14 = new MenuButton("服务端设置", fontSize, [&]() { - mMainMenu->hide(); - showServerSettingWidget(); + auto btn14 = new Menu_Button("服务端设置", font_size, [&]() { + main_menu->hide(); + show_server_setting_widget(); }); - mSelectShotScreenDialog = new FileExplorer(); - // mSelectShotScreenDialog->setGeometry(QApplication::primaryScreen()->geometry()); - // mSelectShotScreenDialog->setAcceptMode(QFileDialog::AcceptSave); - // mSelectShotScreenDialog->setOption(QFileDialog::DontUseNativeDialog, false); + select_shot_screen_dialog = new file_explorer(); + // select_shot_screen_dialog->setGeometry(QApplication::primaryScreen()->geometry()); + // select_shot_screen_dialog->setAcceptMode(QFileDialog::AcceptSave); + // select_shot_screen_dialog->setOption(QFileDialog::DontUseNativeDialog, false); - auto btn15 = new MenuButton("截屏", fontSize, [&]() { + auto btn15 = new Menu_Button("截屏", font_size, [&]() { QTimer::singleShot(500, [this]() { QPixmap pixmap = this->grab(); - auto be = BackEnd::instance(); - QString savePath = be->get_screenshot_save_dir_path() + be->get_screenshot_save_file_name(); - if(pixmap.save(savePath)) { - qDebug() << "Screenshot saved successfully at" << savePath; + auto be = Back_End::instance(); + QString save_path = be->get_screenshot_save_dir_path() + be->get_screenshot_save_file_name(); + if(pixmap.save(save_path)) { + qDebug() << "Screenshot saved successfully at" << save_path; } else { - qDebug() << "Failed to save screenshot at" << savePath; + qDebug() << "Failed to save screenshot at" << save_path; } }); - // hideCurHoverWidget(); - // mCurrentHoverWidget = mSelectShotScreenDialog; - // mMainMenu->hide(); - // QString defaultFileName = "截屏" + QDateTime::currentDateTime().toString("yyyy年MM月dd日_hh:mm:ss"); - // mSelectShotScreenDialog->selectFile(BackEnd::instance()->getScreenshotPath() + defaultFileName + ".png"); - // mSelectShotScreenDialog->setFocus(); - // mSelectShotScreenDialog->show(); - // if(mSelectShotScreenDialogFirst){ - // mSelectShotScreenDialogFirst = false; - // auto that = mSelectShotScreenDialog->findChild(); + // hide_cur_hover_widget(); + // current_hover_widget = select_shot_screen_dialog; + // main_menu->hide(); + // QString default_file_name = "截屏" + QDateTime::currentDateTime().toString("yyyy年MM月dd日_hh:mm:ss"); + // select_shot_screen_dialog->selectFile(Back_End::instance()->getScreenshotPath() + default_file_name + ".png"); + // select_shot_screen_dialog->setFocus(); + // select_shot_screen_dialog->show(); + // if(select_shot_screen_dialog_first){ + // select_shot_screen_dialog_first = false; + // auto that = select_shot_screen_dialog->findChild(); // if(that){ // Toolbox::VirtualKeyBoard::instance()->setEdit(that); // qDebug() << "设置成功!"; // } // } // - // connect(mSelectShotScreenDialog, &QFileDialog::fileSelected, [&](const QString &filePath) { + // connect(select_shot_screen_dialog, &QFileDialog::fileSelected, [&](const QString &filePath) { // QPixmap pixmap = this->grab(); // if (pixmap.save(filePath)) { // qDebug() << "截屏保存到了" << filePath; @@ -106,44 +106,44 @@ MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { // }); }); - auto be = BackEnd::instance(); - mSelectAudioFile = new FileExplorer(); - mSelectAudioFile->setParent(this); - mSelectAudioFile->hide(); - mSelectAudioFile->setObjectName("选择音频文件播放"); - mSelectAudioFile->changeRoot(be->getAudioFileLocation()); + auto be = Back_End::instance(); + select_audio_file = new file_explorer(); + select_audio_file->setParent(this); + select_audio_file->hide(); + select_audio_file->setObjectName("选择音频文件播放"); + select_audio_file->change_root(be->get_audio_file_location()); - connect(mSelectAudioFile->cancelButton, &QPushButton::clicked, [this]() { + connect(select_audio_file->cancelButton, &QPushButton::clicked, [this]() { qDebug() << "播放音频已取消!"; - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); - mSelectAudioFile->hide(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); + select_audio_file->hide(); }); - connect(mSelectAudioFile->confirmButton, &QPushButton::clicked, [this]() { - QString path = mSelectAudioFile->focus.absoluteFilePath(); + connect(select_audio_file->confirmButton, &QPushButton::clicked, [this]() { + QString path = select_audio_file->focus.absoluteFilePath(); if(!path.endsWith(".wav")){ qWarning() << "选择的文件结尾不是wav 选择的文件为" + path; } mediaPlayer->setMedia(QUrl::fromLocalFile(path)); mediaPlayer->play(); - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); - mSelectAudioFile->hide(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); + select_audio_file->hide(); }); - auto btn21 = new MenuButton("播放音频", fontSize, [this]() { - mSelectAudioFile->setGeometry(rect()); - mSelectAudioFile->show(); - mSelectAudioFile->setFocus(); + auto btn21 = new Menu_Button("播放音频", font_size, [this]() { + select_audio_file->setGeometry(rect()); + select_audio_file->show(); + select_audio_file->setFocus(); // qDebug() << "2222222222222222"; - setCurrentHoverWidget(mSelectAudioFile); + set_current_hover_widget(select_audio_file); // qDebug() << "2222222222222222"; }); - auto btn22 = new MenuButton("打卡sdk卡", fontSize, [&](){ + auto btn22 = new Menu_Button("打卡sdk卡", font_size, [&](){ }); - auto btn23 = new DoubleTextMenuButton("开始录音", "停止录音", fontSize, [&](bool isFirst){ - if(isFirst) { - QString wav_path = "file:///" + QString(be->getAudioFileLocation() + "%1.wav").arg( + auto btn23 = new Double_Text_Menu_Button("开始录音", "停止录音", font_size, [&](bool is_first){ + if(is_first) { + QString wav_path = "file:///" + QString(be->get_audio_file_location() + "%1.wav").arg( QDateTime::currentDateTime().toString("yyyy-MM-dd_HH-mm-ss")); audioRecorder->setOutputLocation(wav_path); if (audioRecorder->audioInput().isEmpty()) { @@ -158,25 +158,25 @@ MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { } }); - auto btn24 = new DoubleTextMenuButton("开始发射", "停止发射", fontSize, [&](bool isFirst){ - if(isFirst){ + auto btn24 = new Double_Text_Menu_Button("开始发射", "停止发射", font_size, [&](bool is_first){ + if(is_first){ } else { } }); - mMainMenu->addMenuButtonOnLayout1({btn11, btn12, btn13, btn14, btn15}); - mMainMenu->addMenuButtonOnLayout2({btn21, btn22, btn23, btn24}, 1); + main_menu->add_menu_button_on_layout1({btn11, btn12, btn13, btn14, btn15}); + main_menu->add_menu_button_on_layout2({btn21, btn22, btn23, btn24}, 1); - auto btnt21 = new MenuButton("PRE", fontSize, [&]() { + auto btnt21 = new Menu_Button("PRE", font_size, [&]() { qDebug() << "PRE 按下"; }); - auto btnt22 = new MenuButton("ATT", fontSize, [&]() { + auto btnt22 = new Menu_Button("ATT", font_size, [&]() { qDebug() << "PRE 按下"; }); - mTopMenu->addMenuButtonOnLayout1({btnt21, btnt22}, 3); + top_menu->add_menu_button_on_layout1({btnt21, btnt22}, 3); #ifndef MockBackEnd @@ -186,115 +186,115 @@ MainWidget::MainWidget(QWidget *parent) : QWidget(parent) { #endif } -void MainWidget::paintEvent(QPaintEvent *event) { +void Main_Widget::paintEvent(QPaintEvent *event) { QPainter painter(this); - //qDebug() << "MainWidget::paintEvent" ; + //qDebug() << "Main_Widget::paintEvent" ; //painter.fillRect(rect(), Qt::red); painter.end(); } -void MainWidget::showIntermediateFrequencyWidget() const { - mSweepFrequencyWidget->hide(); - mRadioWidget->hide(); - mIntermediateFrequencyWidget->show(); - mIntermediateFrequencyWidget->setFocus(); +void Main_Widget::show_intermediate_frequency_widget() const { + sweep_frequency_widget->hide(); + radio_widget->hide(); + intermediate_frequency_widget->show(); + intermediate_frequency_widget->setFocus(); } -void MainWidget::showSweepFrequencyWidget() const { - mIntermediateFrequencyWidget->hide(); - mRadioWidget->hide(); - mSweepFrequencyWidget->show(); - mSweepFrequencyWidget->setFocus(); +void Main_Widget::show_sweep_frequency_widget() const { + intermediate_frequency_widget->hide(); + radio_widget->hide(); + sweep_frequency_widget->show(); + sweep_frequency_widget->setFocus(); } -void MainWidget::showRadioWidget() const { - mIntermediateFrequencyWidget->hide(); - mSweepFrequencyWidget->hide(); - mRadioWidget->show(); - mRadioWidget->setFocus(); +void Main_Widget::show_radio_widget() const { + intermediate_frequency_widget->hide(); + sweep_frequency_widget->hide(); + radio_widget->show(); + radio_widget->setFocus(); } -void MainWidget::showServerSettingWidget(){ - mServerSettingWidget->raise(); - mServerSettingWidget->show(); - mServerSettingWidget->setFocus(); - setCurrentHoverWidget(mServerSettingWidget); +void Main_Widget::show_server_setting_widget(){ + server_setting_widget->raise(); + server_setting_widget->show(); + server_setting_widget->setFocus(); + set_current_hover_widget(server_setting_widget); } -BaseWidget *MainWidget::getCurrentBaseWidget() const { - if (mRadioWidget->isVisible()) return mRadioWidget; - else if (mSweepFrequencyWidget->isVisible()) return mSweepFrequencyWidget; - else return mIntermediateFrequencyWidget; +Base_Widget *Main_Widget::get_current_base_widget() const { + if (radio_widget->isVisible()) return radio_widget; + else if (sweep_frequency_widget->isVisible()) return sweep_frequency_widget; + else return intermediate_frequency_widget; } -void MainWidget::setCurrentHoverWidget(QWidget* widget) { - qDebug() << "setCurrentHoverWidget pre" << ( mCurrentHoverWidget ? mCurrentHoverWidget->objectName() : "nullptr"); - qDebug() << "setCurrentHoverWidget set" << ( widget ? widget->objectName() : "nullptr"); - if(mCurrentHoverWidget) { - mCurrentHoverWidget->hide(); +void Main_Widget::set_current_hover_widget(QWidget* widget) { + qDebug() << "set_current_hover_widget pre" << ( current_hover_widget_value ? current_hover_widget_value->objectName() : "nullptr"); + qDebug() << "set_current_hover_widget set" << ( widget ? widget->objectName() : "nullptr"); + if(current_hover_widget_value) { + current_hover_widget_value->hide(); } - mCurrentHoverWidget = widget; + current_hover_widget_value = widget; } -void MainWidget::hideCurHoverWidget() { - qDebug() << "hideCurHoverWidget() "; - if(mCurrentHoverWidget){ - qDebug() << mCurrentHoverWidget->objectName(); - mCurrentHoverWidget->hide(); - mCurrentHoverWidget = nullptr; +void Main_Widget::hide_cur_hover_widget() { + qDebug() << "hide_cur_hover_widget() "; + if(current_hover_widget_value){ + qDebug() << current_hover_widget_value->objectName(); + current_hover_widget_value->hide(); + current_hover_widget_value = nullptr; } } -void MainWidget::resizeEvent(QResizeEvent *event) { - mServerSettingWidget->resize(size()); +void Main_Widget::resizeEvent(QResizeEvent *event) { + server_setting_widget->resize(size()); QWidget::resizeEvent(event); } -void MainWidget::keyPressEvent(QKeyEvent *event) { - //qDebug()<<"MainWidget::keyPressEvent"<text(); +void Main_Widget::keyPressEvent(QKeyEvent *event) { + //qDebug()<<"Main_Widget::keyPressEvent"<text(); if (event->type() == QEvent::KeyPress) { - BackEnd* g = BackEnd::instance(); + Back_End* g = Back_End::instance(); if(g->match(event, "主菜单")){ - if(!mMainMenu->isVisible()){ - hideCurHoverWidget(); - int baseHeight = (int)((double)height() * 0.2); - mMainMenu->setGeometry(0, height() - baseHeight, width(), baseHeight); - mMainMenu->raise(); - mMainMenu->show(); - setCurrentHoverWidget(mMainMenu); - mMainMenu->setFocus(); + if(!main_menu->isVisible()){ + hide_cur_hover_widget(); + int base_height = (int)((double)height() * 0.2); + main_menu->setGeometry(0, height() - base_height, width(), base_height); + main_menu->raise(); + main_menu->show(); + set_current_hover_widget(main_menu); + main_menu->setFocus(); } else { - mMainMenu->hide(); - getCurrentBaseWidget()->setFocus(); + main_menu->hide(); + get_current_base_widget()->setFocus(); } } if(g->match(event, "属性菜单")){ - getCurrentBaseWidget()->reserverMenu(); + get_current_base_widget()->reserver_menu(); event->accept(); return; } if(g->match(event, "顶部菜单")){ - if(!mTopMenu->isVisible()){ - hideCurHoverWidget(); - int baseHeight = (int)((double)height() * 0.2); - mTopMenu->setGeometry(0, 0, width(), baseHeight); - mTopMenu->raise(); - mTopMenu->show(); - setCurrentHoverWidget(mTopMenu); - mTopMenu->setFocus(); + if(!top_menu->isVisible()){ + hide_cur_hover_widget(); + int base_height = (int)((double)height() * 0.2); + top_menu->setGeometry(0, 0, width(), base_height); + top_menu->raise(); + top_menu->show(); + set_current_hover_widget(top_menu); + top_menu->setFocus(); } else { - mTopMenu->hide(); - getCurrentBaseWidget()->setFocus(); + top_menu->hide(); + get_current_base_widget()->setFocus(); } } if(g->match(event, "退出")){ - hideCurHoverWidget(); - getCurrentBaseWidget()->setFocus(); + hide_cur_hover_widget(); + get_current_base_widget()->setFocus(); } } event->accept(); @@ -304,7 +304,7 @@ void MainWidget::keyPressEvent(QKeyEvent *event) { -void MainWidget::wheelEvent(QWheelEvent *event) { +void Main_Widget::wheelEvent(QWheelEvent *event) { event->accept(); } diff --git a/module/radio/BackEnd/MainWidget.h b/module/radio/BackEnd/MainWidget.h index 3552e2a..adfc578 100644 --- a/module/radio/BackEnd/MainWidget.h +++ b/module/radio/BackEnd/MainWidget.h @@ -1,44 +1,44 @@ -#ifndef MainWidget_H -#define MainWidget_H +#ifndef Main_Widget_H +#define Main_Widget_H #include "../Global.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" #include #include #include #include -class IntermediateFrequencyWidget; -class SweepFrequencyWidget; -class RadioWidget; -class BaseWidget; -class ShowTime; -class BaseWidgetMenu; +class Intermediate_Frequency_Widget; +class Sweep_Frequency_Widget; +class Radio_Widget; +class Base_Widget; +class Show_Time; +class Base_Widget_Menu; class QVBoxLayout; -class TopMenuBar; -class ServerSettingWidget; -class FileExplorer; -class MainWidget : public QWidget, public YSG::Singleton_Widget { +class Top_Menu_Bar; +class Server_Setting_Widget; +class file_explorer; +class Main_Widget : public QWidget, public renderive::Singleton_Widget { 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(); + explicit Main_Widget(QWidget *parent = nullptr); + QVBoxLayout *main_layout; + Radio_Widget *radio_widget; + Sweep_Frequency_Widget *sweep_frequency_widget; + Intermediate_Frequency_Widget *intermediate_frequency_widget; + Top_Menu_Bar* top_menu_bar; + Base_Widget_Menu *main_menu, *top_menu; + Server_Setting_Widget* server_setting_widget; + void show_intermediate_frequency_widget() const; + void show_sweep_frequency_widget() const; + void show_radio_widget() const; + void show_server_setting_widget(); + [[nodiscard]] Base_Widget* get_current_base_widget() const; + QWidget* current_hover_widget() {return current_hover_widget_value;} + void set_current_hover_widget(QWidget* widget = nullptr); + void hide_cur_hover_widget(); - bool mSelectShotScreenDialogFirst = true, mSelectAudioFileFirst = true; - FileExplorer *mSelectShotScreenDialog, *mSelectAudioFile; + bool select_shot_screen_dialog_first = true, select_audio_file_first = true; + file_explorer *select_shot_screen_dialog, *select_audio_file; QAudioRecorder *audioRecorder; QMediaPlayer *mediaPlayer; protected: @@ -47,7 +47,7 @@ protected: void keyPressEvent(QKeyEvent *event) override; void wheelEvent(QWheelEvent *event) override; private: - QWidget* mCurrentHoverWidget{}; + QWidget* current_hover_widget_value{}; }; #endif diff --git a/module/radio/BackEnd/RadioWidget.cpp b/module/radio/BackEnd/RadioWidget.cpp index bb4aa3b..8a63d19 100644 --- a/module/radio/BackEnd/RadioWidget.cpp +++ b/module/radio/BackEnd/RadioWidget.cpp @@ -8,256 +8,256 @@ #include "../menu/BaseWidgetMenu.h" #include "BackEnd.h" #include "../BackEnd/MainWidget.h" -#include "YSGraphic_Core/Demo_Gallery/export.h" +#include "../../../third_party/Renderive/Renderive/base/Tool.h" static bool use_Performance_shower = false; static double max = 160; -static YSG::Range frequent_range = {-12000, 12000}; -QWidget* RadioWidget::createSpectrogramPowerPlot() { - class SpectrumPlot : public YSG::Plot { +static renderive::Range frequent_range = {-12000, 12000}; +QWidget* Radio_Widget::create_spectrogram_power_plot() { + class Spectrum_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr msr{}; - std::shared_ptr sp{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr msr{}; + std::shared_ptr sp{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "SpectrumPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal) + object_name = "Spectrum_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal) .set_coord_range(frequent_range) .set_tick_length(-10) .build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({max, 0}) .set_unit_text("功率") .build(); - sp = YSG::Spectrum::Builder(data, xAxis, yAxis) - .set_frequent_range(frequent_range) - .set_frequent_point_size(1024) + sp = renderive::Spectrum::Builder(data, x_axis, y_axis) + .set_frequency_range(frequent_range) + .set_frequency_point_size(1024) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); if (use_Performance_shower) set_use_performance_shower(true); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(sp.get(), -1), "频谱图") + - bw(cw(xAxis.get()), "频率x轴") + - bw(cw(yAxis.get()), "功率y轴") + + bw(cw(x_axis.get()), "频率x轴") + + bw(cw(y_axis.get()), "功率y轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new SpectrumPlot; + auto w = new Spectrum_Plot; w->init(); - mSpectrogramLine = w->sp; - mProgressBar1->mSetValue = [this]() { - double middleFrequent = this->mSpectrogramLine->frequent_range().center(); + spectrogram_line = w->sp; + progress_bar1->set_value = [this]() { + double middle_frequent = this->spectrogram_line->frequency_range().center(); bool ok; - this->mProgressBar1->mValue = mSpectrogramLine->get_power(middleFrequent, ok, YSG::SRC::Edit); + this->progress_bar1->value = spectrogram_line->get_power(middle_frequent, ok, renderive::SRC::Edit); }; return w; } -QWidget* RadioWidget::createWaterFallPlot() { - class WaterFallPlot : public YSG::Plot { +QWidget* Radio_Widget::create_water_fall_plot() { + class Water_Fall_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr msr{}; - std::shared_ptr wf{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr msr{}; + std::shared_ptr wf{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "WaterFallPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal) + object_name = "Water_Fall_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal) .set_tick_length(-10) .set_sub_tick_length(-5) .set_coord_range(frequent_range) .build(); - yAxis = YSG::Time_Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Time_Axis::Builder(axis, Qt::Vertical) .set_time_point_size(100) .build(); - wf = YSG::Waterfall::Builder(data, xAxis, yAxis) - .set_frequent_range(frequent_range) - .set_frequent_point_size(1024) + wf = renderive::Waterfall::Builder(data, x_axis, y_axis) + .set_frequency_range(frequent_range) + .set_frequency_point_size(1024) .set_power_range({0, max}) // .set_time_point_size(100) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); if (use_Performance_shower) set_use_performance_shower(true); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height()); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height()); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(wf.get(), -1), "瀑布图") + - bw(cw(xAxis.get()), "频率轴") + - bw(cw(yAxis.get()), "时间轴") + + bw(cw(x_axis.get()), "频率轴") + + bw(cw(y_axis.get()), "时间轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new WaterFallPlot; + auto w = new Water_Fall_Plot; w->init(); - mWaterFall = w->wf; + water_fall = w->wf; return w; } -QWidget* RadioWidget::createAudioSpectrogramPlot() { - class SpectrumPlot : public YSG::Plot { +QWidget* Radio_Widget::create_audio_spectrogram_plot() { + class Spectrum_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr msr{}; - std::shared_ptr sp{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr msr{}; + std::shared_ptr sp{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "SpectrumPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Frequent_Axis::Builder(axis, Qt::Horizontal) + object_name = "Spectrum_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Frequency_Axis::Builder(axis, Qt::Horizontal) .set_coord_range({-12000, 12000}) .set_tick_length(-10) .set_sub_tick_length(-5) .build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({12000, -12000}) .set_unit_text("功率").build(); - sp = YSG::Spectrum::Builder(data, xAxis, yAxis) - .set_frequent_range({-12000, 12000}) - .set_frequent_point_size(512) + sp = renderive::Spectrum::Builder(data, x_axis, y_axis) + .set_frequency_range({-12000, 12000}) + .set_frequency_point_size(512) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); if (use_Performance_shower) set_use_performance_shower(true); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(sp.get(), -1), "频谱图") + - bw(cw(xAxis.get()), "频率x轴") + - bw(cw(yAxis.get()), "功率y轴") + + bw(cw(x_axis.get()), "频率x轴") + + bw(cw(y_axis.get()), "功率y轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new SpectrumPlot; + auto w = new Spectrum_Plot; w->init(); - mAudioSpectrogramPlot = w->sp; + audio_spectrogram_plot = w->sp; return w; } -QWidget* RadioWidget::createTimePowerPlot() { - class AudioPlot : public YSG::Plot { +QWidget* Radio_Widget::create_time_power_plot() { + class Audio_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr audio{}; - std::shared_ptr msr{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr audio{}; + std::shared_ptr msr{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "AudioPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Time_Axis::Builder(axis, Qt::Horizontal) + object_name = "Audio_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Time_Axis::Builder(axis, Qt::Horizontal) .set_tick_length(-10) .set_sub_tick_length(-5) .build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({12000, -12000}) .build(); - audio = YSG::Audio_Frequent::Builder(data, xAxis, yAxis) + audio = renderive::Audio_Frequency::Builder(data, x_axis, y_axis) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); if (use_Performance_shower) set_use_performance_shower(true); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); - audio->set_time_point_size(xAxis->get_pixel_point_size()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); + audio->set_time_point_size(x_axis->get_pixel_point_size()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(audio.get(), -1), "音频图") + - bw(cw(yAxis.get()), "功率y轴") + - bw(cw(xAxis.get()), "时间轴") + + bw(cw(y_axis.get()), "功率y轴") + + bw(cw(x_axis.get()), "时间轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new AudioPlot; + auto w = new Audio_Plot; w->init(); - mTimePower = w->audio; + time_power = w->audio; return w; } -//mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A -RadioWidget::RadioWidget(QWidget* parent) : BaseWidget(parent) { +//am, atu, vsql, nb, nr, dnf, pre, att, spl, fil1, agc_a +Radio_Widget::Radio_Widget(QWidget* parent) : Base_Widget(parent) { setObjectName("电台界面"); - mVoiceValue = BackEnd::instance()->YsGetAfGain(); - mRFGainValue = BackEnd::instance()->YsGetRfGain(); - int fontSize = 20; - m1 = createNormal("RF Gain\n" + QString::number(mRFGainValue), fontSize); - m2 = createNormal("FFT SPAN\n100K", fontSize); - m3 = createNormal("频率表\n(12)89.6MHZ", fontSize); - m4 = createNormal("MODEM\nRTTY", fontSize); - m5 = createNormal("FIL1\n20K", fontSize); - m6 = createNormal("MSG1\n", fontSize); - mSelectValueWidget = new FrequentShower(this); + voice_value = Back_End::instance()->YsGetAfGain(); + rf_gain_value = Back_End::instance()->YsGetRfGain(); + int font_size = 20; + m1 = create_normal("RF Gain\n" + QString::number(rf_gain_value), font_size); + m2 = create_normal("FFT SPAN\n100K", font_size); + m3 = create_normal("频率表\n(12)89.6MHZ", font_size); + m4 = create_normal("MODEM\nRTTY", font_size); + m5 = create_normal("FIL1\n20K", font_size); + m6 = create_normal("MSG1\n", font_size); + select_value_widget = new Frequent_Shower(this); int n = 5; - QVector tickList(n); + QVector tick_list(n); double space = 100.0 / n; for (int i = 0; i < n; ++i) { - tickList[i] = i * space; + tick_list[i] = i * space; } QColor orange(255, 165, 0); - mProgressBar1 = new ProgressBar({ + progress_bar1 = new Progress_Bar({ Tick("S", Qt::black), {"3", Qt::black}, {"6", Qt::black}, @@ -268,120 +268,120 @@ RadioWidget::RadioWidget(QWidget* parent) : BaseWidget(parent) { {"100", orange}, {"+160", Qt::red}, }, this); - mProgressBar2 = new ProgressBar({ + progress_bar2 = new Progress_Bar({ {"1", Qt::black}, {"2", Qt::yellow}, {"3", Qt::red}, {">5", Qt::red}, }, this); - mProgressBar1->mTickSpaceW = 2.0f; - auto main = createVBoxLayout({}, this); + progress_bar1->tick_space_w = 2.0f; + auto main = create_vbox_layout({}, this); main->addStretch(1); { // 中心Layout - auto center = createHBoxLayout(); + auto center = create_hbox_layout(); main->addLayout(center, 7); - auto front = createVBoxLayout(); + auto front = create_vbox_layout(); center->addLayout(front, 1); front->addWidget(m1, 3); front->addStretch(1); front->addWidget(m2, 3); center->addSpacing(4); - auto middle = createVBoxLayout(); + auto middle = create_vbox_layout(); center->addLayout(middle, 9); middle->addStretch(1); - middle->addWidget(mSelectValueWidget, 4); - auto middleH = createHBoxLayout(); - middle->addLayout(middleH, 2); - middleH->addWidget(mProgressBar1, 5); - middleH->addStretch(1); - middleH->addWidget(mProgressBar2, 3); + middle->addWidget(select_value_widget, 4); + auto middle_h = create_hbox_layout(); + middle->addLayout(middle_h, 2); + middle_h->addWidget(progress_bar1, 5); + middle_h->addStretch(1); + middle_h->addWidget(progress_bar2, 3); center->addStretch(4); - auto back1 = createVBoxLayout(); + auto back1 = create_vbox_layout(); center->addLayout(back1, 1); back1->addWidget(m3, 3); back1->addStretch(1); back1->addWidget(m4, 3); center->addSpacing(4); - auto back2 = createVBoxLayout(); + auto back2 = create_vbox_layout(); center->addLayout(back2, 1); back2->addWidget(m5, 3); back2->addStretch(1); back2->addWidget(m6, 3); } main->addStretch(1); - auto aH1 = createHBoxLayout(); - aH1->setSpacing(8); - main->addLayout(aH1, 12); - aH1->addWidget(createSpectrogramPowerPlot(), 12); - aH1->addWidget(createTimePowerPlot(), 4); + auto a_h1 = create_hbox_layout(); + a_h1->setSpacing(8); + main->addLayout(a_h1, 12); + a_h1->addWidget(create_spectrogram_power_plot(), 12); + a_h1->addWidget(create_time_power_plot(), 4); main->addSpacing(8); - auto aH2 = createHBoxLayout(); - aH2->setSpacing(8); - main->addLayout(aH2, 12); - aH2->addWidget(createWaterFallPlot(), 12); - aH2->addWidget(createAudioSpectrogramPlot(), 4); - initMenu(); + auto a_h2 = create_hbox_layout(); + a_h2->setSpacing(8); + main->addLayout(a_h2, 12); + a_h2->addWidget(create_water_fall_plot(), 12); + a_h2->addWidget(create_audio_spectrogram_plot(), 4); + init_menu(); } -RadioWidget::~RadioWidget() {} -void RadioWidget::initMenu() { - int fontSize = 30; - auto btn1_1 = new MenuButton("模式设置", fontSize, []() {}); - auto btn1_2 = new ValueMenuButton("发射功率:%1 W", fontSize, [&](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? 1 : -1)); +Radio_Widget::~Radio_Widget() {} +void Radio_Widget::init_menu() { + int font_size = 30; + auto btn1_1 = new Menu_Button("模式设置", font_size, []() {}); + auto btn1_2 = new Value_Menu_Button("发射功率:%1 W", font_size, [&](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? 1 : -1)); }, -1); - auto btn2_1 = new ValueMenuButton("参考增益:%1", fontSize, [&](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? 1 : -1)); + auto btn2_1 = new Value_Menu_Button("参考增益:%1", font_size, [&](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? 1 : -1)); }, -1); - mBaseWidgetMenu->addMenuButtonOnLayout1({btn1_1, btn1_2, {btn2_1},}); - //mBaseWidgetMenu->addMenuButtonOnLayout2( ); - BaseWidgetMenu* sub1 = mBaseWidgetMenu->createSubWidgetMenu(btn1_1); - auto s1_1 = new MenuButton("AM", fontSize, []() {}); - auto s1_2 = new MenuButton("FM", fontSize, []() {}); - auto s1_3 = new MenuButton("SSB", fontSize, []() {}); - auto s1_4 = new MenuButton("CW", fontSize, []() {}); - sub1->addMenuButtonOnLayout1({s1_1, s1_2, s1_3, s1_4}, 1); + base_widget_menu->add_menu_button_on_layout1({btn1_1, btn1_2, {btn2_1},}); + //base_widget_menu->add_menu_button_on_layout2( ); + Base_Widget_Menu* sub1 = base_widget_menu->create_sub_widget_menu(btn1_1); + auto s1_1 = new Menu_Button("AM", font_size, []() {}); + auto s1_2 = new Menu_Button("FM", font_size, []() {}); + auto s1_3 = new Menu_Button("SSB", font_size, []() {}); + auto s1_4 = new Menu_Button("CW", font_size, []() {}); + sub1->add_menu_button_on_layout1({s1_1, s1_2, s1_3, s1_4}, 1); } -void RadioWidget::focusInEvent(QFocusEvent* event) { +void Radio_Widget::focusInEvent(QFocusEvent* event) { QWidget::focusInEvent(event); - mSelectValueWidget->setFocus(); + select_value_widget->setFocus(); } -void RadioWidget::keyPressEvent(QKeyEvent* event) { +void Radio_Widget::keyPressEvent(QKeyEvent* event) { if (event->type() == QEvent::KeyPress) { - BackEnd* g = BackEnd::instance(); - auto* keyEvent = dynamic_cast(event); - if (g->match(keyEvent, "切换音量/RF Gain")) { + Back_End* g = Back_End::instance(); + auto* key_event = dynamic_cast(event); + if (g->match(key_event, "切换音量/RF Gain")) { if (m1->text().startsWith("RF Gain")) { - m1->setText("Voice\n" + QString::number(mVoiceValue)); + m1->setText("Voice\n" + QString::number(voice_value)); } else { - m1->setText("RF Gain\n" + QString::number(mRFGainValue)); + m1->setText("RF Gain\n" + QString::number(rf_gain_value)); } } - if (g->match(keyEvent, "特别增加")) { + if (g->match(key_event, "特别增加")) { if (m1->text().startsWith("RF Gain")) { - mRFGainValue++; - BackEnd::instance()->YsSetRfGain(mRFGainValue); - m1->setText("RF Gain\n" + QString::number(mRFGainValue)); + rf_gain_value++; + Back_End::instance()->YsSetRfGain(rf_gain_value); + m1->setText("RF Gain\n" + QString::number(rf_gain_value)); } else { - mVoiceValue++; - BackEnd::instance()->YsSetAfGain(mVoiceValue); - m1->setText("Voice\n" + QString::number(mVoiceValue)); + voice_value++; + Back_End::instance()->YsSetAfGain(voice_value); + m1->setText("Voice\n" + QString::number(voice_value)); } } - if (g->match(keyEvent, "特别减小")) { + if (g->match(key_event, "特别减小")) { if (m1->text().startsWith("RF Gain")) { - mRFGainValue--; - BackEnd::instance()->YsSetRfGain(mRFGainValue); - m1->setText("RF Gain\n" + QString::number(mRFGainValue)); + rf_gain_value--; + Back_End::instance()->YsSetRfGain(rf_gain_value); + m1->setText("RF Gain\n" + QString::number(rf_gain_value)); } else { - mVoiceValue--; - BackEnd::instance()->YsSetAfGain(mVoiceValue); - m1->setText("Voice\n" + QString::number(mVoiceValue)); + voice_value--; + Back_End::instance()->YsSetAfGain(voice_value); + m1->setText("Voice\n" + QString::number(voice_value)); } } } - BaseWidget::keyPressEvent(event); + Base_Widget::keyPressEvent(event); } diff --git a/module/radio/BackEnd/RadioWidget.h b/module/radio/BackEnd/RadioWidget.h index 63cf342..8a0fd8e 100644 --- a/module/radio/BackEnd/RadioWidget.h +++ b/module/radio/BackEnd/RadioWidget.h @@ -1,35 +1,35 @@ -#ifndef RadioWidget_H -#define RadioWidget_H +#ifndef Radio_Widget_H +#define Radio_Widget_H #include "../BaseWidget.h" #include -class TextButton; -class DoubleTextButton; -class FrequentShower; -class ProgressBar; -class ConsoleWidget; -class ShowTime; +class Text_Button; +class Double_Text_Button; +class Frequent_Shower; +class Progress_Bar; +class Console_Widget; +class Show_Time; -class RadioWidget : public BaseWidget { +class Radio_Widget : public Base_Widget { Q_OBJECT public: - explicit RadioWidget(QWidget *parent = nullptr); - ~RadioWidget() override; - int mVoiceValue = 0, mRFGainValue = 0; + explicit Radio_Widget(QWidget *parent = nullptr); + ~Radio_Widget() override; + int voice_value = 0, rf_gain_value = 0; QPushButton *m1, *m2, *m3, *m4, *m5, *m6; - FrequentShower *mSelectValueWidget; - ProgressBar *mProgressBar1, *mProgressBar2; - void initMenu(); - QWidget* createSpectrogramPowerPlot(); - QWidget* createAudioSpectrogramPlot(); - QWidget* createTimePowerPlot(); - QWidget* createWaterFallPlot(); - std::shared_ptr mSpectrogramLine{}; - std::shared_ptr mAudioSpectrogramPlot{}; - std::shared_ptr mTimePower{}; - std::shared_ptr mWaterFall{}; + Frequent_Shower *select_value_widget; + Progress_Bar *progress_bar1, *progress_bar2; + void init_menu(); + QWidget* create_spectrogram_power_plot(); + QWidget* create_audio_spectrogram_plot(); + QWidget* create_time_power_plot(); + QWidget* create_water_fall_plot(); + std::shared_ptr spectrogram_line{}; + std::shared_ptr audio_spectrogram_plot{}; + std::shared_ptr time_power{}; + std::shared_ptr water_fall{}; protected: void focusInEvent(QFocusEvent *event) override; void keyPressEvent(QKeyEvent *event) override; diff --git a/module/radio/BackEnd/SweepFrequencyWidget.cpp b/module/radio/BackEnd/SweepFrequencyWidget.cpp index 1fbdb2b..d21bb3c 100644 --- a/module/radio/BackEnd/SweepFrequencyWidget.cpp +++ b/module/radio/BackEnd/SweepFrequencyWidget.cpp @@ -10,70 +10,70 @@ #include "../component/ShowTime.h" #include "../Global.h" #include "../menu/BaseWidgetMenu.h" -#include "YSGraphic_Core/Demo_Gallery/export.h" -QWidget* SweepFrequencyWidget::createSpectrogramPowerPlot() { - class SweepFrequentPlot : public YSG::Plot { +#include "Renderive/base/Tool.h" +QWidget* Sweep_Frequency_Widget::create_spectrogram_power_plot() { + class Sweep_Frequent_Plot : public renderive::Plot { public: - std::shared_ptr xAxis{}; - std::shared_ptr yAxis{}; - std::shared_ptr msr{}; - std::shared_ptr sf{}; - QMenu* mMenu{}; + std::shared_ptr x_axis{}; + std::shared_ptr y_axis{}; + std::shared_ptr msr{}; + std::shared_ptr sf{}; + QMenu* menu{}; void init() override { Plot::init(); - object_name = "AxisTestPlot"; - auto data = create_renderable_node(root_renderable(), "DataRenderable"); - auto axis = create_renderable_node(root_renderable(), "AxisRenderable"); - auto overlay = create_renderable_node(root_renderable(), "OverlayRenderable"); - xAxis = YSG::Axis::Builder(axis, Qt::Horizontal) + object_name = "Axis_Test_Plot"; + auto data = create_renderable_node(get_root_renderable(), "Data_Renderable"); + auto axis = create_renderable_node(get_root_renderable(), "Axis_Renderable"); + auto overlay = create_renderable_node(get_root_renderable(), "Overlay_Renderable"); + x_axis = renderive::Axis::Builder(axis, Qt::Horizontal) .set_coord_range({0, 100}) .set_tick_length(-10).build(); - yAxis = YSG::Axis::Builder(axis, Qt::Vertical) + y_axis = renderive::Axis::Builder(axis, Qt::Vertical) .set_coord_range({100, 0}) .set_tick_length(-10).build(); - sf = YSG::Sweep_Frequent::Builder(data, xAxis, yAxis) + sf = renderive::Sweep_Frequency::Builder(data, x_axis, y_axis) .set_block_num(200) - .set_block_frequent_point_size(20) - .set_frequent_range({0, 100}) + .set_block_frequency_point_size(20) + .set_frequency_range({0, 100}) .build(); - msr = YSG::Muti_Select_Rect::Builder(overlay, xAxis, yAxis).build(); + msr = renderive::Multi_Select_Rect::Builder(overlay, x_axis, y_axis).build(); } protected: void resizeEvent(QResizeEvent* event) override { - xAxis->set_x(0); - xAxis->set_y(height() - 1); - xAxis->set_pixel_size(width()); - yAxis->set_x(0); - yAxis->set_y(0); - yAxis->set_pixel_size(height()); + x_axis->set_x(0); + x_axis->set_y(height() - 1); + x_axis->set_pixel_size(width()); + y_axis->set_x(0); + y_axis->set_y(0); + y_axis->set_pixel_size(height()); } void contextMenuEvent(QContextMenuEvent* event) override { - if (!mMenu) { + if (!menu) { auto ws = bw(cw(sf.get(), -1), "扫频图") + - bw(cw(xAxis.get()), "x轴") + - bw(cw(yAxis.get()), "y轴") + + bw(cw(x_axis.get()), "x轴") + + bw(cw(y_axis.get()), "y轴") + bw(cw(msr.get()), "多选框"); - mMenu = createMenu(this, ws); + menu = create_menu(this, ws); } - mMenu->exec(event->globalPos()); + menu->exec(event->globalPos()); } }; - auto w = new SweepFrequentPlot; + auto w = new Sweep_Frequent_Plot; w->init(); - mSweepFrequencyLine = w->sf; + sweep_frequency_line = w->sf; return w; } -//mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A -SweepFrequencyWidget::SweepFrequencyWidget(QWidget* parent) : BaseWidget(parent) { +//am, atu, vsql, nb, nr, dnf, pre, att, spl, fil1, agc_a +Sweep_Frequency_Widget::Sweep_Frequency_Widget(QWidget* parent) : Base_Widget(parent) { setObjectName("扫频界面"); - int fontSize = 20; - m1 = createNormal("RF Gain\n62", fontSize); - m2 = createNormal("FFT SPAN\n100K", fontSize); - m3 = createNormal("频率表\n(12)89.6MHZ", fontSize); - m4 = createNormal("MODEM\nRTTY", fontSize); - mSelectValueWidget = new FrequentShower(this); - mProgressBar1 = new ProgressBar({ + int font_size = 20; + m1 = create_normal("RF Gain\n62", font_size); + m2 = create_normal("FFT SPAN\n100K", font_size); + m3 = create_normal("频率表\n(12)89.6MHZ", font_size); + m4 = create_normal("MODEM\nRTTY", font_size); + select_value_widget = new Frequent_Shower(this); + progress_bar1 = new Progress_Bar({ {"S", Qt::black}, {"3", Qt::black}, {"5", Qt::black}, @@ -83,36 +83,36 @@ SweepFrequencyWidget::SweepFrequencyWidget(QWidget* parent) : BaseWidget(parent) {"+40", Qt::yellow}, {"+60", Qt::red}, }, this); - mProgressBar2 = new ProgressBar({ + progress_bar2 = new Progress_Bar({ {"1", Qt::black}, {"2", Qt::yellow}, {"3", Qt::red}, {">5", Qt::red}, }, this); - auto main = createVBoxLayout({}, this); + auto main = create_vbox_layout({}, this); main->addStretch(1); { // 中心Layout - auto center = createHBoxLayout(); + auto center = create_hbox_layout(); main->addLayout(center, 7); - auto front = createVBoxLayout(); + auto front = create_vbox_layout(); center->addLayout(front, 1); front->addWidget(m1, 3); front->addStretch(1); front->addWidget(m2, 3); center->addSpacing(4); - auto middle = createVBoxLayout(); + auto middle = create_vbox_layout(); center->addLayout(middle, 9); middle->addStretch(1); - middle->addWidget(mSelectValueWidget, 4); - auto middleH = createHBoxLayout(); - middle->addLayout(middleH, 2); - middleH->addWidget(mProgressBar1, 5); - middleH->addStretch(1); - middleH->addWidget(mProgressBar2, 3); + middle->addWidget(select_value_widget, 4); + auto middle_h = create_hbox_layout(); + middle->addLayout(middle_h, 2); + middle_h->addWidget(progress_bar1, 5); + middle_h->addStretch(1); + middle_h->addWidget(progress_bar2, 3); center->addStretch(5); center->addSpacing(4); - auto back1 = createVBoxLayout(); + auto back1 = create_vbox_layout(); center->addLayout(back1, 1); back1->addWidget(m3, 3); back1->addStretch(1); @@ -121,26 +121,26 @@ SweepFrequencyWidget::SweepFrequencyWidget(QWidget* parent) : BaseWidget(parent) main->addStretch(1); main->addSpacing(8); //main->addWidget(new TestWidget, 24); - main->addWidget(createSpectrogramPowerPlot(), 24); - initMenu(); + main->addWidget(create_spectrogram_power_plot(), 24); + init_menu(); } -SweepFrequencyWidget::~SweepFrequencyWidget() {} -void SweepFrequencyWidget::focusInEvent(QFocusEvent* event) { +Sweep_Frequency_Widget::~Sweep_Frequency_Widget() {} +void Sweep_Frequency_Widget::focusInEvent(QFocusEvent* event) { QWidget::focusInEvent(event); - mSelectValueWidget->setFocus(); + select_value_widget->setFocus(); } -void SweepFrequencyWidget::initMenu() { - int fontSize = 30; - auto startFreq = new ValueMenuButton("起始频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? 1 : -1)); +void Sweep_Frequency_Widget::init_menu() { + int font_size = 30; + auto start_freq = new Value_Menu_Button("起始频率:%1 Hz", font_size, [&](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? 1 : -1)); }, -1); - startFreq->setValue(mSweepFrequencyLine->frequent_range().origin); - auto endFreq = new ValueMenuButton("终止频率:%1 Hz", fontSize, [&](ValueMenuButton* that, bool add) { - that->setValue(that->mValue + (double)(add ? 1 : -1)); + start_freq->setValue(sweep_frequency_line->frequency_range().origin); + auto end_freq = new Value_Menu_Button("终止频率:%1 Hz", font_size, [&](Value_Menu_Button* that, bool add) { + that->setValue(that->value + (double)(add ? 1 : -1)); }, -1); - endFreq->setValue(mSweepFrequencyLine->frequent_range().target); - auto btn3 = new MenuButton("设置频率", fontSize, [&, startFreq, endFreq]() { - mSweepFrequencyLine->set_frequent_range({startFreq->mValue, endFreq->mValue}); + end_freq->setValue(sweep_frequency_line->frequency_range().target); + auto btn3 = new Menu_Button("设置频率", font_size, [&, start_freq, end_freq]() { + sweep_frequency_line->set_frequency_range({start_freq->value, end_freq->value}); }); - mBaseWidgetMenu->addMenuButtonOnLayout1({startFreq, endFreq, btn3}, 2); + base_widget_menu->add_menu_button_on_layout1({start_freq, end_freq, btn3}, 2); } diff --git a/module/radio/BackEnd/SweepFrequencyWidget.h b/module/radio/BackEnd/SweepFrequencyWidget.h index d6307d2..5962bfa 100644 --- a/module/radio/BackEnd/SweepFrequencyWidget.h +++ b/module/radio/BackEnd/SweepFrequencyWidget.h @@ -1,30 +1,30 @@ -#ifndef SweepFrequencyWidget_H -#define SweepFrequencyWidget_H +#ifndef Sweep_Frequency_Widget_H +#define Sweep_Frequency_Widget_H #include "../BaseWidget.h" #include -class TextButton; -class DoubleTextButton; -class FrequentShower; -class ProgressBar; -class ConsoleWidget; -class ShowTime; +class Text_Button; +class Double_Text_Button; +class Frequent_Shower; +class Progress_Bar; +class Console_Widget; +class Show_Time; namespace YS{ - class SpectrogramPowerPlot; - class TimePowerPlot; - class SweepFrequencyLine; + class Spectrogram_Power_Plot; + class Time_Power_Plot; + class Sweep_Frequency_Line; } -class SweepFrequencyWidget : public BaseWidget { +class Sweep_Frequency_Widget : public Base_Widget { Q_OBJECT public: - explicit SweepFrequencyWidget(QWidget *parent = nullptr); - ~SweepFrequencyWidget() override; + explicit Sweep_Frequency_Widget(QWidget *parent = nullptr); + ~Sweep_Frequency_Widget() override; QPushButton *m1, *m2, *m3, *m4; - FrequentShower *mSelectValueWidget; - ProgressBar *mProgressBar1, *mProgressBar2; - void initMenu(); - std::shared_ptr mSweepFrequencyLine{}; - QWidget* createSpectrogramPowerPlot(); + Frequent_Shower *select_value_widget; + Progress_Bar *progress_bar1, *progress_bar2; + void init_menu(); + std::shared_ptr sweep_frequency_line{}; + QWidget* create_spectrogram_power_plot(); protected: void focusInEvent(QFocusEvent *event) override; }; diff --git a/module/radio/BaseWidget.cpp b/module/radio/BaseWidget.cpp index 4579f4f..2b8a636 100644 --- a/module/radio/BaseWidget.cpp +++ b/module/radio/BaseWidget.cpp @@ -5,41 +5,41 @@ -BaseWidget::BaseWidget(QWidget *parent) : QWidget(parent) { +Base_Widget::Base_Widget(QWidget *parent) : QWidget(parent) { // setAttribute(Qt::WA_OpaquePaintEvent); - mBaseWidgetMenu = new BaseWidgetMenu(this); - mBaseWidgetMenu->setObjectName("属性菜单"); + base_widget_menu = new Base_Widget_Menu(this); + base_widget_menu->setObjectName("属性菜单"); hide(); } -void BaseWidget::resizeEvent(QResizeEvent *event) { - int baseHeight = (int)((double)height() * 0.2); - mBaseWidgetMenu->setGeometry(0, height() - baseHeight, width(), baseHeight); +void Base_Widget::resizeEvent(QResizeEvent *event) { + int base_height = (int)((double)height() * 0.2); + base_widget_menu->setGeometry(0, height() - base_height, width(), base_height); QWidget::resizeEvent(event); } -void BaseWidget::reserverMenu() { - if(!mBaseWidgetMenu->isVisible()){ - QWidget* curWidget = MainWidget::instance()->currentHoverWidget(); - if(curWidget) curWidget->hide(); - mBaseWidgetMenu->raise(); - mBaseWidgetMenu->show(); - curWidget = mBaseWidgetMenu; - mBaseWidgetMenu->setFocus(); +void Base_Widget::reserver_menu() { + if(!base_widget_menu->isVisible()){ + QWidget* cur_widget = Main_Widget::instance()->current_hover_widget(); + if(cur_widget) cur_widget->hide(); + base_widget_menu->raise(); + base_widget_menu->show(); + cur_widget = base_widget_menu; + base_widget_menu->setFocus(); } else { - mBaseWidgetMenu->hide(); + base_widget_menu->hide(); setFocus(); } } -void BaseWidget::keyPressEvent(QKeyEvent *event) { +void Base_Widget::keyPressEvent(QKeyEvent *event) { if (event->type() == QEvent::KeyPress) { Global *g = Global::instance(); - auto *keyEvent = dynamic_cast(event); - //qDebug() << keyEvent; -// if(g->match(keyEvent, "属性菜单")){ -// reserverMenu(); + auto *key_event = dynamic_cast(event); + //qDebug() << key_event; +// if(g->match(key_event, "属性菜单")){ +// reserver_menu(); // event->accept(); // return; // } diff --git a/module/radio/BaseWidget.h b/module/radio/BaseWidget.h index f1b4a57..961d64e 100644 --- a/module/radio/BaseWidget.h +++ b/module/radio/BaseWidget.h @@ -1,21 +1,20 @@ -#ifndef BaseWidget_H -#define BaseWidget_H +#ifndef Base_Widget_H +#define Base_Widget_H #include "Global.h" -#include "YSGraphic_Core/export.h" - -class BaseWidgetMenu; +#include "Renderive/export.h" +class Base_Widget_Menu; class QHBoxLayout; -class MainWidget; -class DoubleTextButton; -class BaseWidget : public QWidget { +class Main_Widget; +class Double_Text_Button; +class Base_Widget : public QWidget { public: - explicit BaseWidget(QWidget *parent = nullptr); - BaseWidgetMenu *mBaseWidgetMenu; - void reserverMenu(); + explicit Base_Widget(QWidget* parent = nullptr); + Base_Widget_Menu* base_widget_menu; + void reserver_menu(); protected: -// void paintEvent(QPaintEvent *event) override; - void resizeEvent(QResizeEvent *event) override; - void keyPressEvent(QKeyEvent *event) override; + // void paintEvent(QPaintEvent *event) override; + void resizeEvent(QResizeEvent* event) override; + void keyPressEvent(QKeyEvent* event) override; }; #endif diff --git a/module/radio/FileDialog/CustomFileDelegate.cpp b/module/radio/FileDialog/CustomFileDelegate.cpp index be26ad2..c850186 100644 --- a/module/radio/FileDialog/CustomFileDelegate.cpp +++ b/module/radio/FileDialog/CustomFileDelegate.cpp @@ -1,10 +1,10 @@ #include "CustomFileDelegate.h" #include "FileExplorer.h" -CustomFileDelegate::CustomFileDelegate(FileExplorer* fileExplorer, QObject* parent): QStyledItemDelegate(parent) { +Custom_File_Delegate::Custom_File_Delegate(file_explorer* fileExplorer, QObject* parent): QStyledItemDelegate(parent) { this->fileExplorer = fileExplorer; } -void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { +void Custom_File_Delegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const { // 获取数据 QFileSystemModel *model = qobject_cast(const_cast(index.model())); if (!model) { @@ -13,11 +13,11 @@ void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& op } QString fileName = model->fileName(index); // 文件/文件夹名称 - QFileInfo fileInfo = model->fileInfo(index); // 文件/文件夹信息 - QIcon fileIcon = model->fileIcon(index); // 文件/文件夹图标 + QFileInfo file_info = model->fileInfo(index); // 文件/文件夹信息 + QIcon file_icon = model->fileIcon(index); // 文件/文件夹图标 // 设置选中和未选中背景颜色 - QColor background_color = fileInfo.isDir() ? QColor(220, 240, 255) : QColor(255, 255, 220); // 文件夹和文件的不同背景色 + QColor background_color = file_info.isDir() ? QColor(220, 240, 255) : QColor(255, 255, 220); // 文件夹和文件的不同背景色 if (option.state & QStyle::State_Selected) { background_color = QColor(0, 120, 215); // 选中的背景色 } @@ -26,23 +26,23 @@ void CustomFileDelegate::paint(QPainter* painter, const QStyleOptionViewItem& op painter->fillRect(option.rect, background_color); // 设置文本颜色 - QColor textColor = (option.state & QStyle::State_Selected) ? Qt::white : Qt::black; + QColor text_color = (option.state & QStyle::State_Selected) ? Qt::white : Qt::black; // 绘制图标 - QRect iconRect = option.rect; - iconRect.setWidth(fileExplorer->height); // 图标宽度 - fileIcon.paint(painter, iconRect, Qt::AlignVCenter | Qt::AlignLeft); + QRect icon_rect = option.rect; + icon_rect.setWidth(fileExplorer->height); // 图标宽度 + file_icon.paint(painter, icon_rect, Qt::AlignVCenter | Qt::AlignLeft); // 绘制文件名 - QRect textRect = option.rect; - textRect.setLeft(iconRect.right() + 5); // 图标右侧开始绘制文本 - painter->setPen(textColor); - painter->drawText(textRect, Qt::AlignVCenter | Qt::AlignLeft, fileName); + QRect text_rect = option.rect; + text_rect.setLeft(icon_rect.right() + 5); // 图标右侧开始绘制文本 + painter->setPen(text_color); + painter->drawText(text_rect, Qt::AlignVCenter | Qt::AlignLeft, fileName); // 调用父类实现绘制焦点等其他内容 //QStyledItemDelegate::paint(painter, option, Windex); } -QSize CustomFileDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const { - QSize defaultSize = QStyledItemDelegate::sizeHint(option, index); - return QSize(defaultSize.width(), fileExplorer->height); // 自定义行高 +QSize Custom_File_Delegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const { + QSize default_size = QStyledItemDelegate::sizeHint(option, index); + return QSize(default_size.width(), fileExplorer->height); // 自定义行高 } diff --git a/module/radio/FileDialog/CustomFileDelegate.h b/module/radio/FileDialog/CustomFileDelegate.h index 9b9b967..d9730f7 100644 --- a/module/radio/FileDialog/CustomFileDelegate.h +++ b/module/radio/FileDialog/CustomFileDelegate.h @@ -6,12 +6,12 @@ #include #include -class FileExplorer; -class CustomFileDelegate : public QStyledItemDelegate { +class file_explorer; +class Custom_File_Delegate : public QStyledItemDelegate { Q_OBJECT public: - explicit CustomFileDelegate(FileExplorer *fileExplorer, QObject *parent = nullptr); - FileExplorer *fileExplorer{}; + explicit Custom_File_Delegate(file_explorer *fileExplorer, QObject *parent = nullptr); + file_explorer *fileExplorer{}; void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; diff --git a/module/radio/FileDialog/FileExplorer.cpp b/module/radio/FileDialog/FileExplorer.cpp index ee7a995..4d9e6dd 100644 --- a/module/radio/FileDialog/FileExplorer.cpp +++ b/module/radio/FileDialog/FileExplorer.cpp @@ -2,23 +2,23 @@ #include "CustomFileDelegate.h" -FileExplorer::FileExplorer() { +file_explorer::file_explorer() { model = new QFileSystemModel(this); resize(1000, 800); - treeView = new QTreeView(this); - treeView->setModel(model); - it = new CustomFileDelegate(this, treeView); - treeView->setItemDelegate(it); - treeView->setHeaderHidden(false); - treeView->setColumnWidth(0, 250); - treeView->setAnimated(true); - treeView->setSortingEnabled(true); - treeView->setSelectionMode(QAbstractItemView::SingleSelection); + tree_view = new QTreeView(this); + tree_view->setModel(model); + it = new Custom_File_Delegate(this, tree_view); + tree_view->setItemDelegate(it); + tree_view->setHeaderHidden(false); + tree_view->setColumnWidth(0, 250); + tree_view->setAnimated(true); + tree_view->setSortingEnabled(true); + tree_view->setSelectionMode(QAbstractItemView::SingleSelection); layout = new QVBoxLayout(this); - showRootDir = new QLineEdit; + show_root_dir = new QLineEdit; showFocusFile = new QLabel; - layout->addWidget(showRootDir); - layout->addWidget(treeView); + layout->addWidget(show_root_dir); + layout->addWidget(tree_view); auto bottom = new QHBoxLayout(); confirmButton = new QPushButton("确定"); cancelButton = new QPushButton("取消"); @@ -29,12 +29,12 @@ FileExplorer::FileExplorer() { bottom->addWidget(confirmButton); bottom->addWidget(cancelButton); layout->addLayout(bottom); - changeRoot("D:/"); + change_root("D:/"); - connect(showRootDir, &QLineEdit::returnPressed, [this](){ - changeRoot(showRootDir->text()); + connect(show_root_dir, &QLineEdit::returnPressed, [this](){ + change_root(show_root_dir->text()); }); - connect(treeView, &QTreeView::clicked, [this](const QModelIndex &index) { + connect(tree_view, &QTreeView::clicked, [this](const QModelIndex &index) { focus = model->fileInfo(index); showFocusFile->setText(focus.fileName()); }); diff --git a/module/radio/FileDialog/FileExplorer.h b/module/radio/FileDialog/FileExplorer.h index 7fc9a52..f907b68 100644 --- a/module/radio/FileDialog/FileExplorer.h +++ b/module/radio/FileDialog/FileExplorer.h @@ -26,9 +26,9 @@ -// class CustomStyle : public QProxyStyle { +// class Custom_Style : public QProxyStyle { // public: -// explicit CustomStyle(QStyle *baseStyle = nullptr) : QProxyStyle(baseStyle) {} +// explicit Custom_Style(QStyle *baseStyle = nullptr) : QProxyStyle(baseStyle) {} // // void drawPrimitive(QStyle::PrimitiveElement element, // const QStyleOption *option, @@ -66,25 +66,25 @@ // -class CustomFileDelegate; -class FileExplorer : public QWidget { +class Custom_File_Delegate; +class file_explorer : public QWidget { Q_OBJECT public: - QTreeView *treeView; + QTreeView *tree_view; QFileSystemModel *model; QVBoxLayout *layout; - QLineEdit* showRootDir; + QLineEdit* show_root_dir; QFileInfo focus; QLabel *showFocusFile; QPushButton *confirmButton, *cancelButton; int height = 60; - CustomFileDelegate *it; - void showCenter() { + Custom_File_Delegate *it; + void show_center() { QScreen *screen = QGuiApplication::primaryScreen(); - QRect screenRect = screen->availableGeometry(); - QRect windowRect = frameGeometry(); - int x = (screenRect.width() - windowRect.width()) / 2; - int y = (screenRect.height() - windowRect.height()) / 2; + QRect screen_rect = screen->availableGeometry(); + QRect window_rect = frameGeometry(); + int x = (screen_rect.width() - window_rect.width()) / 2; + int y = (screen_rect.height() - window_rect.height()) / 2; move(x, y); show(); } @@ -98,35 +98,35 @@ protected: painter.end(); } public: - void changeRoot(QString dir_path) { + void change_root(QString dir_path) { dir_path.replace("\\", "/"); - QFileInfo fileInfo(dir_path); // 用 QFileInfo 检测路径 - if (fileInfo.isDir()) { + QFileInfo file_info(dir_path); // 用 QFileInfo 检测路径 + if (file_info.isDir()) { //qDebug() << "dir " << dir_path; - } else if (fileInfo.isFile()) { + } else if (file_info.isFile()) { //qDebug() << "file " << dir_path; - focus = fileInfo; + focus = file_info; showFocusFile->setText(focus.absolutePath()); - dir_path = fileInfo.dir().absolutePath(); + dir_path = file_info.dir().absolutePath(); } else { //qDebug() << "error " << dir_path; - showRootDir->setText(model->rootPath()); + show_root_dir->setText(model->rootPath()); return; } if (!dir_path.endsWith("/")) { dir_path.append("/"); } - showRootDir->setText(dir_path); + show_root_dir->setText(dir_path); model->setRootPath(dir_path); - treeView->setRootIndex(model->index(dir_path)); + tree_view->setRootIndex(model->index(dir_path)); model->setHeaderData(0,Qt::Horizontal,"文件名称"); model->setHeaderData(1,Qt::Horizontal,"文件大小"); - treeView->setColumnWidth(0, 500); + tree_view->setColumnWidth(0, 500); } - FileExplorer(); + file_explorer(); }; diff --git a/module/radio/Global.cpp b/module/radio/Global.cpp index ea05a70..635e943 100644 --- a/module/radio/Global.cpp +++ b/module/radio/Global.cpp @@ -1,10 +1,10 @@ #include "Global.h" #include "BackEnd/MainWidget.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" #include "menu/BaseWidgetMenu.h" #include -QVBoxLayout* createVBoxLayout(const QVector& children, QWidget *parent){ +QVBoxLayout* create_vbox_layout(const QVector& children, QWidget *parent){ auto ret = new QVBoxLayout(parent); ret->setMargin(0); ret->setSpacing(0); @@ -15,7 +15,7 @@ QVBoxLayout* createVBoxLayout(const QVector& children, QWidget *parent return ret; } -QHBoxLayout* createHBoxLayout(const QVector& children, QWidget *parent){ +QHBoxLayout* create_hbox_layout(const QVector& children, QWidget *parent){ auto ret = new QHBoxLayout(parent); ret->setMargin(0); ret->setSpacing(0); @@ -26,65 +26,65 @@ QHBoxLayout* createHBoxLayout(const QVector& children, QWidget *parent return ret; } -QRect getMaxRect(const QRect& rect, double WHRate){ +QRect get_max_rect(const QRect& rect, double WHRate){ double w = rect.width(), h = rect.height(); QRect ret; if(w/h > WHRate) { - double shouldW = h * WHRate; - double x = (w - shouldW)/2; - ret = QRect((int)x, 0, (int)shouldW, (int)h); + double should_w = h * WHRate; + double x = (w - should_w)/2; + ret = QRect((int)x, 0, (int)should_w, (int)h); } else { - double shouldH = w / WHRate; - double y = (h - shouldH)/2; - ret = QRect(0, (int)y, (int)w, (int)shouldH); + double should_h = w / WHRate; + double y = (h - should_h)/2; + ret = QRect(0, (int)y, (int)w, (int)should_h); } return ret; } -int calculateOptimalFontSize(const QVector& textList, const QSize& spaceSize, const QFont& font) { - int fontSize = 1, textWidth, textHeight; +int calculate_optimal_font_size(const QVector& text_list, const QSize& space_size, const QFont& font) { + int font_size = 1, textWidth, textHeight; do { textWidth = -1; textHeight = 0; - QFontMetrics fontMetrics(QFont(font.family(), fontSize)); - for(const QString& text : textList){ + QFontMetrics fontMetrics(QFont(font.family(), font_size)); + for(const QString& text : text_list){ textWidth = std::max(textWidth, fontMetrics.horizontalAdvance(text)); textHeight += fontMetrics.height(); } - fontSize++; - } while (textWidth < spaceSize.width() && textHeight < spaceSize.height()); - return fontSize; + font_size++; + } while (textWidth < space_size.width() && textHeight < space_size.height()); + return font_size; } -int calculateOptimalFontSize(const QString& text, const QSize& spaceSize, const QFont& font) { - int fontSize = 1, textWidth, textHeight; +int calculate_optimal_font_size(const QString& text, const QSize& space_size, const QFont& font) { + int font_size = 1, textWidth, textHeight; do { - QFontMetrics fontMetrics(QFont(font.family(), fontSize)); + QFontMetrics fontMetrics(QFont(font.family(), font_size)); textWidth = fontMetrics.horizontalAdvance(text); textHeight = fontMetrics.height(); - fontSize++; - } while (textWidth < spaceSize.width() && textHeight < spaceSize.height()); - return fontSize; + font_size++; + } while (textWidth < space_size.width() && textHeight < space_size.height()); + return font_size; } Global::Global() { } -int Global::adaptHeight(int fullScreenHeight) { - auto m = MainWidget::instance(); - return (int)(double(m->height() * fullScreenHeight)/double(QGuiApplication::primaryScreen()->size().height())); +int Global::adapt_height(int full_screen_height) { + auto m = Main_Widget::instance(); + return (int)(double(m->height() * full_screen_height)/double(QGuiApplication::primaryScreen()->size().height())); } -int Global::adaptWidth(int fullScreenWidth) { - auto m = MainWidget::instance(); - return (int)(double(m->width() * fullScreenWidth)/double(QGuiApplication::primaryScreen()->size().width())); +int Global::adapt_width(int full_screen_width) { + auto m = Main_Widget::instance(); + return (int)(double(m->width() * full_screen_width)/double(QGuiApplication::primaryScreen()->size().width())); } -QPushButton *createButton(const QString& text, int fontSize, const std::function& mFunc) { +QPushButton *create_button(const QString& text, int font_size, const std::function& func) { auto button = new QPushButton(text); button->setDisabled(true); button->setFocusPolicy(Qt::NoFocus); @@ -93,21 +93,21 @@ QPushButton *createButton(const QString& text, int fontSize, const std::functio button->setCheckable(true); button->setChecked(false); QFont font; - font.setPixelSize(fontSize); + font.setPixelSize(font_size); button->setFont(font); - if(mFunc) QObject::connect(button, &QPushButton::clicked, mFunc); + if(func) QObject::connect(button, &QPushButton::clicked, func); return button; } -QPushButton *createClickButton(const QString &text, int fontSize, const std::function &mFunc, - YSG::Roll_Object *rollObject) { +QPushButton *create_click_button(const QString &text, int font_size, const std::function &func, + renderive::Roll_Object *rollObject) { auto button = new QPushButton; - initClickButton(button, text, fontSize, mFunc, rollObject); + init_click_button(button, text, font_size, func, rollObject); return button; } -void initClickButton(QPushButton* button, const QString &text, int fontSize, const std::function &mFunc, - YSG::Roll_Object *rollObject){ +void init_click_button(QPushButton* button, const QString &text, int font_size, const std::function &func, + renderive::Roll_Object *rollObject){ button->setText(text); button->setFocusPolicy(Qt::NoFocus); button->setFlat(true); @@ -115,17 +115,17 @@ void initClickButton(QPushButton* button, const QString &text, int fontSize, con button->setCheckable(true); button->setChecked(false); QFont font; - font.setPixelSize(fontSize); + font.setPixelSize(font_size); button->setFont(font); - if(mFunc) QObject::connect(button, &QPushButton::clicked, [button, rollObject, mFunc](){ - rollObject->setCur(button); - mFunc(); + if(func) QObject::connect(button, &QPushButton::clicked, [button, rollObject, func](){ + rollObject->set_cur(button); + func(); }); } -QPushButton* createNormal(const QString& text, int fontSize, const std::function& mFunc) { +QPushButton* create_normal(const QString& text, int font_size, const std::function& func) { auto button = new QPushButton(text); button->setDisabled(true); @@ -135,23 +135,23 @@ QPushButton* createNormal(const QString& text, int fontSize, const std::function //button->setDefault(true); QFont font; - font.setPixelSize(fontSize); + font.setPixelSize(font_size); button->setFont(font); - if(mFunc) QObject::connect(button, &QPushButton::clicked, mFunc); + if(func) QObject::connect(button, &QPushButton::clicked, func); return button; } -// int cellWidth = width() / 15; -// int cellHeight = height() / 32; +// int cell_width = width() / 15; +// int cell_height = height() / 32; // // 绘制水平线条 // for (int row = 0; row < 33; ++row) { -// int y = row * cellHeight; +// int y = row * cell_height; // painter.drawLine(QPoint(0, y), QPoint(width(), y)); // } // // 绘制垂直线条 // for (int col = 0; col < 17; ++col) { -// int x = col * cellWidth; +// int x = col * cell_width; // painter.drawLine(QPoint(x, 0), QPoint(x, height())); // } diff --git a/module/radio/Global.h b/module/radio/Global.h index 0bc5ab8..9312010 100644 --- a/module/radio/Global.h +++ b/module/radio/Global.h @@ -1,7 +1,7 @@ #ifndef Global_H #define Global_H #include "BackEnd/BackEnd.h" -#include "YSGraphic_Core/architecture/export.h" +#include "Renderive/architecture/export.h" #include #include #include @@ -18,21 +18,21 @@ class Global : public Psc::Singleton { public: explicit Global(); - int adaptHeight(int fullScreenHeight); - int adaptWidth(int fullScreenWidth); + int adapt_height(int full_screen_height); + int adapt_width(int full_screen_width); }; -QVBoxLayout* createVBoxLayout(const QVector& children = {}, QWidget* parent = nullptr); -QHBoxLayout* createHBoxLayout(const QVector& children = {}, QWidget* parent = nullptr); -QRect getMaxRect(const QRect& rect, double WHRate); -int calculateOptimalFontSize(const QString& text, const QSize& spaceSize, const QFont& font); -int calculateOptimalFontSize(const QVector& textList, const QSize& spaceSize, const QFont& font); -QPushButton* createButton(const QString& text, int fontSize, const std::function& mFunc = nullptr); -namespace YSG { +QVBoxLayout* create_vbox_layout(const QVector& children = {}, QWidget* parent = nullptr); +QHBoxLayout* create_hbox_layout(const QVector& children = {}, QWidget* parent = nullptr); +QRect get_max_rect(const QRect& rect, double WHRate); +int calculate_optimal_font_size(const QString& text, const QSize& space_size, const QFont& font); +int calculate_optimal_font_size(const QVector& text_list, const QSize& space_size, const QFont& font); +QPushButton* create_button(const QString& text, int font_size, const std::function& func = nullptr); +namespace renderive { template class Roll_Object; } -class BaseWidgetMenu; -void initClickButton(QPushButton* button, const QString& text, int fontSize, const std::function& mFunc, YSG::Roll_Object*); -QPushButton* createClickButton(const QString& text, int fontSize, const std::function& mFunc, YSG::Roll_Object*); -QPushButton* createNormal(const QString& text, int fontSize, const std::function& mFunc = nullptr); +class Base_Widget_Menu; +void init_click_button(QPushButton* button, const QString& text, int font_size, const std::function& func, renderive::Roll_Object*); +QPushButton* create_click_button(const QString& text, int font_size, const std::function& func, renderive::Roll_Object*); +QPushButton* create_normal(const QString& text, int font_size, const std::function& func = nullptr); #endif diff --git a/module/radio/MainWidget.rar b/module/radio/MainWidget.rar deleted file mode 100644 index 244ccc626690fbe851e98b33ee3979896744e2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2941 zcmV-@3xf1gVR9iF2LS-{;ezW60R;yD1_1$pfPes4Czib^0s{-Q1O%@PAa-zYf`9`6 z3{7EaZdYk!XJvFQXbJ-Y0I#_6_1D?~$)PX;Hv}^?GxTs)_rPz1p=XScLASfNKsDQ4 zaN2<+uxsfx zucK3pZ~J?0+FG304?99=r<*|4p1o+@Yu-eoh3;&^?c_wb<>NhjV|hZ{ym>>fW;btf zSYbjxUn$so@Z;VU80@ZEC$(m^zr8=UwT&afFddI(qcG)R+ocp!59uSwf=EjFrWG$o zVp%Ei{WAr3g0N}mx*&|!qSq@@{-bBam+Ej?2E>}mwbP&;8%@mZZ0%A7AC?6Wrs+el4vr}#}HBaCy&{TAFtVpf;?hQHvAnn;w> z&kHlYJw3&6JQXbG+U-9;Pl$JXECK@y%aH&CpU40pcgabSfCB&yO<`$nS7~HtWpplM zaBvC(0-+nY;L@$z0nJ#)2r!03G&3{ucxLy|FTu>_D+iNHl3bhuj!Cc^iMrsAnn|S` z^ie_wxRkip-NeJkm*F5lC@U5<8$nrYV$my>2E~?3U~#rA{2Y)Sd>pnole?Mbd6~Jnx^;YSKf-yNo4J}df3ytT_;(R|b?n_$WT;h9dw#O& z=&ao<6hB|;I^&k5exEYhxPG0s)@stquAuMDX>VTY!3S1tM>kDnnVuzdR08a97--wO zh7qnTYucptj)Pr`OtEi)H-`HyyxR;0(_UYB%ra15DIp5w+Qwpo&|cCX@%r0h^F{Hk7l$*f`7JJ|235>y0lZo zg#sBVeUx>AXu(ufQ(;l-cqwASm~`|$Bz=qsh;nfHYAdJ}rZYnN>LeG?Z?0+PTokdf zZ_nZ*H0fSs!6kT+b@yH^2js{hZA*+%r~h|rvgXfW*?$b@BCn*$6yEK9JKxLXkS>CW z&#=(k#bjI*$~ry4E}=94=rAeNzp$|av9Tb`n`|XnyLh;-unRC^&|2FC&Ch%2b8EeO z9O+xxx;JD=lk#j;b4^jx_){mU_EezY{Y zgr@-ih{oO#@mW@fg~ zk)(~SDPJN}ID+sTQsV?nk(eTEys1*Th)`GnxxZ0NMtn`PspK;|8JH+xBrJkzoXR-!DnZJtcTee4rRw`hn#fh3d0(qGwWnRkZ z00c^Yc=)A2%Mwu&E`{qeEqzN$GLt6l$PtNqf?FC=vIuUHW=Et+eNGWcBC;SO*-?6> zZgqRxe`oWcTX+Ct!Bm5nac&qX{`>pCKgIX>di%dubsVE*ZV1u88*Gc>+XGhX`$Ng z^bIr${93ky-(ix)+Q8AAwxe+cobcd#-o7j_(J){iIGz!JO)jjtDc0Sw`TR z#ZTEU+ExqSS!V5xo?5O8J|xxE*~_o7B6UDLtPF^ zmQCI#4Q3u3NFOLWK`2vS1EebZWMz0Z24qIQ0sAK|Nb^#nN z|E@IE9}%eq#=s4@kxBD0DIR6icv_4Z5>!C=5#}VW2hj#2gn-cY7BxD0Cwf6nsk~2l zK{vl3**}B;*lKN^1 zzzTf#kp zEwsTXoN$;Y+FwQD(27~OeF)-pDL{x8Z=$Gvv8DHfUw+h}=^YfNna6u;P0IV7|Mh!c z*6MSrd;!o$c5Gjf5 zg%5_$Tk99WKQNw{S3e=1jqQDRJ-@O{px-#ixOr9bGySCGESD0RU!o+x5#=W6_bzuh ni1EhQ`1NJBvEe;T88qxHwUcVY>qF-sRykML9d}ky0|f*CMS-4) diff --git a/module/radio/Toolbox_private/CircularLinkedList.hpp b/module/radio/Toolbox_private/CircularLinkedList.hpp index 1fc3572..2f63536 100644 --- a/module/radio/Toolbox_private/CircularLinkedList.hpp +++ b/module/radio/Toolbox_private/CircularLinkedList.hpp @@ -1,92 +1,92 @@ -#ifndef Toolbox_CircularLinkedList_H -#define Toolbox_CircularLinkedList_H +#ifndef Toolbox_Circular_Linked_List_H +#define Toolbox_Circular_Linked_List_H namespace Toolbox { template - struct CircularLinkedListNode { - CircularLinkedListNode *prev = nullptr, *next = nullptr; + struct Circular_Linked_List_Node { + Circular_Linked_List_Node *prev = nullptr, *next = nullptr; T data; }; template - class CircularLinkedList { + class Circular_Linked_List { public: - CircularLinkedListNode *mHead = nullptr; - CircularLinkedListNode *mCur = nullptr; - void init(const QVector &dataList) { - mHead = new CircularLinkedListNode(); - mHead->data = dataList.first(); - CircularLinkedListNode *prev = mHead; - int n = dataList.size(); + Circular_Linked_List_Node *head = nullptr; + Circular_Linked_List_Node *cur = nullptr; + void init(const QVector &data_list) { + head = new Circular_Linked_List_Node(); + head->data = data_list.first(); + Circular_Linked_List_Node *prev = head; + int n = data_list.size(); for (int i = 1; i < n - 1; i++) { - auto node = new CircularLinkedListNode(); - node->data = dataList[i]; + auto node = new Circular_Linked_List_Node(); + node->data = data_list[i]; node->prev = prev; prev->next = node; prev = node; } - auto tail = new CircularLinkedListNode(); - tail->data = dataList.last(); + auto tail = new Circular_Linked_List_Node(); + tail->data = data_list.last(); tail->prev = prev; prev->next = tail; - tail->next = mHead; - mHead->prev = tail; - mCur = mHead; + tail->next = head; + head->prev = tail; + cur = head; } - CircularLinkedListNode *move(int step = 1) { + Circular_Linked_List_Node *move(int step = 1) { if (step == 0) return nullptr; return step > 0 ? next(step) : prev(-step); } - CircularLinkedListNode *next(int step = 1) { + Circular_Linked_List_Node *next(int step = 1) { if (step <= 0) return nullptr; for (int i = 0; i < step; i++) { - mCur = mCur->next; + cur = cur->next; } - return mCur; + return cur; } - CircularLinkedListNode *prev(int step = 1) { + Circular_Linked_List_Node *prev(int step = 1) { if (step <= 0) return nullptr; for (int i = 0; i < step; i++) { - mCur = mCur->prev; + cur = cur->prev; } - return mCur; + return cur; } - void insert_next(const T &t, CircularLinkedListNode *that = nullptr) { - if (that == nullptr) that = mCur; - auto node = new CircularLinkedListNode(); + void insert_next(const T &t, Circular_Linked_List_Node *that = nullptr) { + if (that == nullptr) that = cur; + auto node = new Circular_Linked_List_Node(); node->data = t; node->next = that->next; node->prev = that; that->next = node; } - void insert_prev(const T &t, CircularLinkedListNode *that = nullptr) { - if (that == nullptr) that = mCur; - auto node = new CircularLinkedListNode(); + void insert_prev(const T &t, Circular_Linked_List_Node *that = nullptr) { + if (that == nullptr) that = cur; + auto node = new Circular_Linked_List_Node(); node->data = t; node->prev = that->prev; node->next = that; that->prev = node; } - QVector *> to_vector() { - if (mHead == nullptr) return {}; - QVector *> ret; - CircularLinkedListNode *cur = mHead; + QVector *> to_vector() { + if (head == nullptr) return {}; + QVector *> ret; + Circular_Linked_List_Node *cur = head; do { ret.push_back(cur); cur = cur->next; - } while (cur != mHead); + } while (cur != head); return ret; } void clear() { - if (mHead == nullptr) return; - CircularLinkedListNode *cur = mHead; + if (head == nullptr) return; + Circular_Linked_List_Node *cur = head; do { - CircularLinkedListNode *temp = cur; + Circular_Linked_List_Node *temp = cur; cur = cur->next; delete temp; - } while (cur != mHead); - mHead = nullptr; + } while (cur != head); + head = nullptr; } - ~CircularLinkedList() { + ~Circular_Linked_List() { clear(); } }; diff --git a/module/radio/Toolbox_private/Node.hpp b/module/radio/Toolbox_private/Node.hpp index 95fd041..87c3827 100644 --- a/module/radio/Toolbox_private/Node.hpp +++ b/module/radio/Toolbox_private/Node.hpp @@ -30,18 +30,18 @@ namespace Toolbox { That *next() { if (!father) return nullptr; int i = father->sons.indexOf(static_cast(this)) + 1; - if (i > father->sons.mBufferSize()) return nullptr; + if (i > father->sons.buffer_size()) return nullptr; return father->sons[i]; } - That *lastChild() { + That *last_child() { if (sons.empty()) return nullptr; return sons.last(); } - That *firstChild() { + That *first_child() { if (sons.empty()) return nullptr; return sons.first(); } - That *rootNode() { + That *root_node() { That *ret = static_cast(this); while (ret->father != nullptr) { ret = ret->father; @@ -57,22 +57,22 @@ namespace Toolbox { return ret; } //遍历值 - QVector deepTraversed() { + QVector deep_traversed() { std::vector ret; ret.append(static_cast(this)); for (auto &child: sons) { - ret.append(child->deepTraversed()); + ret.append(child->deep_traversed()); } return ret; } - QVector sequenceTraversed() { + QVector sequence_traversed() { QVector ret; QQueue que; That *that = static_cast(this); que.enqueue(that); while (!que.empty()) { That *cur = que.dequeue(); - int n = cur->sons.mBufferSize(); + int n = cur->sons.buffer_size(); ret.append(cur); for (int i = 0; i < n; ++i) { que.enqueue(cur->sons[i]); @@ -81,7 +81,7 @@ namespace Toolbox { return ret; } QVector descendants() { - QVector &&ret = sequenceTraversed(); + QVector &&ret = sequence_traversed(); ret.pop_front(); return ret; } @@ -89,7 +89,7 @@ namespace Toolbox { QVector sons; }; template - class NodeManager { + class Node_Manager { public: QVector roots; }; diff --git a/module/radio/Toolbox_private/RollObject.h b/module/radio/Toolbox_private/RollObject.h index be44abf..1bcd6cf 100644 --- a/module/radio/Toolbox_private/RollObject.h +++ b/module/radio/Toolbox_private/RollObject.h @@ -1,62 +1,62 @@ -#ifndef Toolbox_RollWidget_H -#define Toolbox_RollWidget_H +#ifndef Toolbox_Roll_Widget_H +#define Toolbox_Roll_Widget_H #include #include namespace Toolbox { template - class RollObject : QObject { + class Roll_Object : QObject { public: - explicit RollObject(QObject *parent = nullptr) : QObject(parent) {} - explicit RollObject(QVector widgets, std::function enterFunc, - std::function leaveFunc, QObject *parent) : - mWidgets(std::move(widgets)), mEnterFunc(enterFunc), mLeaveFunc(leaveFunc), QObject(parent) { - if (mEnterFunc) mEnterFunc(mWidgets[mIndex]); + explicit Roll_Object(QObject *parent = nullptr) : QObject(parent) {} + explicit Roll_Object(QVector widgets, std::function enter_func, + std::function leave_func, QObject *parent) : + widgets(std::move(widgets)), enter_func(enter_func), leave_func(leave_func), QObject(parent) { + if (enter_func) enter_func(widgets[index]); } - int mIndex = 0; - QVector mWidgets; - std::function mEnterFunc; - std::function mLeaveFunc; + int index = 0; + QVector widgets; + std::function enter_func; + std::function leave_func; T *cur() { - if (mWidgets.empty()) return nullptr; - return mWidgets[mIndex]; + if (widgets.empty()) return nullptr; + return widgets[index]; } - void setCur(T *cur) { - if (mWidgets.empty()) return; - int index = mWidgets.indexOf(cur); - if (mLeaveFunc) mLeaveFunc(mWidgets[mIndex]); - mIndex = index; - if (mEnterFunc) mEnterFunc(mWidgets[mIndex]); - mWidgets[mIndex]->update(); + void set_cur(T *cur) { + if (widgets.empty()) return; + int new_index = widgets.indexOf(cur); + if (leave_func) leave_func(widgets[index]); + index = new_index; + if (enter_func) enter_func(widgets[index]); + widgets[index]->update(); } - void rollRight() { - if (mWidgets.empty()) return; - if (mLeaveFunc) mLeaveFunc(mWidgets[mIndex]); - mWidgets[mIndex]->update(); - if (mWidgets.last() != mWidgets[mIndex]) { - mIndex++; + void roll_right() { + if (widgets.empty()) return; + if (leave_func) leave_func(widgets[index]); + widgets[index]->update(); + if (widgets.last() != widgets[index]) { + index++; } else { - mIndex = 0; + index = 0; } - if (mEnterFunc) mEnterFunc(mWidgets[mIndex]); - mWidgets[mIndex]->update(); + if (enter_func) enter_func(widgets[index]); + widgets[index]->update(); } - void rollLeft() { - if (mWidgets.empty()) return; - if (mLeaveFunc) mLeaveFunc(mWidgets[mIndex]); - mWidgets[mIndex]->update(); - if (mWidgets.first() != mWidgets[mIndex]) { - mIndex--; + void roll_left() { + if (widgets.empty()) return; + if (leave_func) leave_func(widgets[index]); + widgets[index]->update(); + if (widgets.first() != widgets[index]) { + index--; } else { - mIndex = mWidgets.size() - 1; + index = widgets.size() - 1; } - if (mEnterFunc) mEnterFunc(mWidgets[mIndex]); - mWidgets[mIndex]->update(); + if (enter_func) enter_func(widgets[index]); + widgets[index]->update(); } - QHBoxLayout *hBoxLayout(int space) { + QHBoxLayout *hbox_layout(int space) { auto ret = new QHBoxLayout; ret->setMargin(0); ret->setSpacing(space); - for (auto widget: mWidgets) { + for (auto widget: widgets) { ret->addWidget(widget, 1); } return ret; diff --git a/module/radio/Toolbox_private/SingletonWidget.hpp b/module/radio/Toolbox_private/SingletonWidget.hpp index 20cd969..4e4683b 100644 --- a/module/radio/Toolbox_private/SingletonWidget.hpp +++ b/module/radio/Toolbox_private/SingletonWidget.hpp @@ -1,29 +1,29 @@ -#ifndef Toolbox_SingletonWidget_H -#define Toolbox_SingletonWidget_H +#ifndef Toolbox_Singleton_Widget_H +#define Toolbox_Singleton_Widget_H #include namespace Toolbox { template - class SingletonWidget { + class Singleton_Widget { public: static T *instance() { - if (!mInstance) { - qInfo() << "error SingletonWidget 未创建" << mInstance; + if (!instance) { + qInfo() << "error Singleton_Widget 未创建" << instance; } - return mInstance; + return instance; } - SingletonWidget() { - if (mInstance) { - qInfo() << "error SingletonWidget 重复创建" << mInstance; + Singleton_Widget() { + if (instance) { + qInfo() << "error Singleton_Widget 重复创建" << instance; } - mInstance = static_cast(this); + instance = static_cast(this); } - virtual ~SingletonWidget() {} - SingletonWidget(T &&) = delete; - SingletonWidget(const T &) = delete; + virtual ~Singleton_Widget() {} + Singleton_Widget(T &&) = delete; + Singleton_Widget(const T &) = delete; void operator=(const T &) = delete; protected: - static T *mInstance; + static T *instance; }; - template T *SingletonWidget::mInstance = nullptr; + template T *Singleton_Widget::instance = nullptr; } #endif diff --git a/module/radio/Toolbox_private/export.h b/module/radio/Toolbox_private/export.h index f6cf054..c4b2951 100644 --- a/module/radio/Toolbox_private/export.h +++ b/module/radio/Toolbox_private/export.h @@ -1,7 +1,7 @@ #include "Node.hpp" -#include "CircularLinkedList.hpp" +#include "Circular_Linked_List.hpp" #include "Singleton.hpp" -#include "RollObject.h" -#include "SingletonWidget.hpp" +#include "Roll_Object.h" +#include "Singleton_Widget.hpp" #include "view/FileFolderBar.h" #include "pinyin/VirtualKeyBoard.h" diff --git a/module/radio/Toolbox_private/view/FileFolderBar.cpp b/module/radio/Toolbox_private/view/FileFolderBar.cpp index 478fad6..67b9c80 100644 --- a/module/radio/Toolbox_private/view/FileFolderBar.cpp +++ b/module/radio/Toolbox_private/view/FileFolderBar.cpp @@ -1,33 +1,33 @@ #include "FileFolderBar.h" #include namespace Toolbox { - FileFolderBar::FileFolderBar(QWidget *parent) : QWidget(parent) { + File_Folder_Bar::File_Folder_Bar(QWidget *parent) : QWidget(parent) { //setAttribute(Qt::WA_OpaquePaintEvent); } - FileFolderBar::~FileFolderBar() { + File_Folder_Bar::~File_Folder_Bar() { } - void FileFolder::draw(int index, QPainter *painter) { - static QImage fileFolder = QImage(":fileFolder.png"); + void File_Folder::draw(int index, QPainter *painter) { + static QImage file_folder = QImage(":fileFolder.png"); int x = 10 + 20 * deep; int y = 10 + 30 * index; -// painter->drawImage(x, y, fileFolder); - painter->drawImage(0, 0, fileFolder); - painter->drawText(x + 20, y + 10, mName); +// painter->drawImage(x, y, file_folder); + painter->drawImage(0, 0, file_folder); + painter->drawText(x + 20, y + 10, name); } - void FileFolderBar::paintEvent(QPaintEvent *event) { + void File_Folder_Bar::paintEvent(QPaintEvent *event) { QWidget::paintEvent(event); QPainter painter(this); int index = 0; - for (FileFolder *&root: roots) { - QQueue que; + for (File_Folder *&root: roots) { + QQueue que; root->deep = 0; que.enqueue(root); while (!que.empty()) { - FileFolder *cur = que.dequeue(); + File_Folder *cur = que.dequeue(); int n = cur->sons.size(); cur->draw(index++, &painter); for (int i = 0; i < n; ++i) { - if (cur->isShowSons) { + if (cur->is_show_sons) { cur->sons[i]->deep = cur->deep + 1; que.enqueue(cur->sons[i]); } diff --git a/module/radio/Toolbox_private/view/FileFolderBar.h b/module/radio/Toolbox_private/view/FileFolderBar.h index eafb6f7..a513a5d 100644 --- a/module/radio/Toolbox_private/view/FileFolderBar.h +++ b/module/radio/Toolbox_private/view/FileFolderBar.h @@ -1,20 +1,20 @@ -#ifndef Toolbox_FileFolderBar_H -#define Toolbox_FileFolderBar_H +#ifndef Toolbox_File_Folder_Bar_H +#define Toolbox_File_Folder_Bar_H #include #include "../Node.hpp" namespace Toolbox { - class FileFolder : public Node { + class File_Folder : public Node { public: - QString mName; - bool isShowSons = false; + QString name; + bool is_show_sons = false; int deep = 0; void draw(int index, QPainter *painter); }; - class FileFolderBar : public QWidget, public NodeManager { + class File_Folder_Bar : public QWidget, public Node_Manager { Q_OBJECT public: - explicit FileFolderBar(QWidget *parent = nullptr); - ~FileFolderBar() override; + explicit File_Folder_Bar(QWidget *parent = nullptr); + ~File_Folder_Bar() override; protected: void paintEvent(QPaintEvent *event) override; }; diff --git a/module/radio/component/AbstractTextButton.cpp b/module/radio/component/AbstractTextButton.cpp index aa6bc53..798fb8d 100644 --- a/module/radio/component/AbstractTextButton.cpp +++ b/module/radio/component/AbstractTextButton.cpp @@ -2,16 +2,16 @@ #include "AbstractTextButton.h" #include -AbstractTextButton::AbstractTextButton(QWidget *parent) : QWidget(parent) { +Abstract_Text_Button::Abstract_Text_Button(QWidget *parent) : QWidget(parent) { } -void AbstractTextButton::paintEvent(QPaintEvent *event) { +void Abstract_Text_Button::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.fillRect(rect(), Qt::red); painter.end(); } -void AbstractTextButton::mousePressEvent(QMouseEvent *event) { - if(mClick) mClick(); +void Abstract_Text_Button::mousePressEvent(QMouseEvent *event) { + if(click) click(); event->accept(); } \ No newline at end of file diff --git a/module/radio/component/AbstractTextButton.h b/module/radio/component/AbstractTextButton.h index 6e1cbdd..1c97ac1 100644 --- a/module/radio/component/AbstractTextButton.h +++ b/module/radio/component/AbstractTextButton.h @@ -1,15 +1,15 @@ -#ifndef AbstractTextButton_H -#define AbstractTextButton_H +#ifndef Abstract_Text_Button_H +#define Abstract_Text_Button_H #include "../Global.h" -class AbstractTextButton : public QWidget { +class Abstract_Text_Button : public QWidget { public: - explicit AbstractTextButton(QWidget *parent = nullptr); - QFont mFont; - QColor mBackgroundColor; - QColor mEnterColor; - QPen mPen; - bool mEnter = false; - std::function mClick = nullptr; + explicit Abstract_Text_Button(QWidget *parent = nullptr); + QFont font; + QColor background_color; + QColor enter_color; + QPen pen; + bool enter = false; + std::function click = nullptr; protected: void paintEvent(QPaintEvent *event) override; void mousePressEvent(QMouseEvent *event) override; diff --git a/module/radio/component/ConsoleWidget.h b/module/radio/component/ConsoleWidget.h index b06805c..29b2b4d 100644 --- a/module/radio/component/ConsoleWidget.h +++ b/module/radio/component/ConsoleWidget.h @@ -1,8 +1,8 @@ -#ifndef ConsoleWidget_H -#define ConsoleWidget_H +#ifndef Console_Widget_H +#define Console_Widget_H #include "../Global.h" #include -class ConsoleWidget : public QTextEdit { +class Console_Widget : public QTextEdit { public: }; #endif diff --git a/module/radio/component/ExpandInput.cpp b/module/radio/component/ExpandInput.cpp index 2ada1d5..ad166c7 100644 --- a/module/radio/component/ExpandInput.cpp +++ b/module/radio/component/ExpandInput.cpp @@ -1,43 +1,43 @@ #include "ExpandInput.h" #include "../BackEnd/MainWidget.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" #include #include -ExpandInput::ExpandInput(QWidget *parent) : QLineEdit(parent) { +Expand_Input::Expand_Input(QWidget *parent) : QLineEdit(parent) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setMinimumSize(0, 0); setFrame(false); - mFont.setBold(true); - YSG::Virtual_Keyboard::instance()->set_edit(this); + font.setBold(true); + renderive::Virtual_Keyboard::instance()->set_edit(this); } -void ExpandInput::paintEvent(QPaintEvent *event) { +void Expand_Input::paintEvent(QPaintEvent *event) { // QPainter painter(this); // painter.fillRect(rect(), Qt::red); // painter.end(); QLineEdit::paintEvent(event); } -void ExpandInput::resizeEvent(QResizeEvent *event) { - int pixel_size = Global::instance()->adaptHeight(60); - QFont font = mFont; +void Expand_Input::resizeEvent(QResizeEvent *event) { + int pixel_size = Global::instance()->adapt_height(60); + QFont font = font; font.setPixelSize(pixel_size); setFont(font); QWidget::resizeEvent(event); } -void ExpandInput::focusInEvent(QFocusEvent *event) { +void Expand_Input::focusInEvent(QFocusEvent *event) { setStyleSheet("QLineEdit { border: 4px dashed gray; }"); update(); event->accept(); } -void ExpandInput::focusOutEvent(QFocusEvent *event) { +void Expand_Input::focusOutEvent(QFocusEvent *event) { setStyleSheet("QLineEdit { border: 0px dashed gray; }"); QLineEdit::focusOutEvent(event); } -void ExpandInput::keyPressEvent(QKeyEvent *event) { +void Expand_Input::keyPressEvent(QKeyEvent *event) { QLineEdit::keyPressEvent(event); event->ignore(); } diff --git a/module/radio/component/ExpandInput.h b/module/radio/component/ExpandInput.h index 9dd25b6..2ad1190 100644 --- a/module/radio/component/ExpandInput.h +++ b/module/radio/component/ExpandInput.h @@ -1,11 +1,11 @@ -#ifndef ExpandInput_H -#define ExpandInput_H +#ifndef Expand_Input_H +#define Expand_Input_H #include "../Global.h" #include -class ExpandInput : public QLineEdit { +class Expand_Input : public QLineEdit { public: - explicit ExpandInput(QWidget *parent = nullptr); - QFont mFont; + explicit Expand_Input(QWidget *parent = nullptr); + QFont font; protected: void paintEvent(QPaintEvent *event) override; void resizeEvent(QResizeEvent *event) override; diff --git a/module/radio/component/FrequentShower.cpp b/module/radio/component/FrequentShower.cpp index a8c5502..1307b49 100644 --- a/module/radio/component/FrequentShower.cpp +++ b/module/radio/component/FrequentShower.cpp @@ -7,36 +7,36 @@ -FrequentShower::FrequentShower(QWidget *parent) : QWidget(parent) { +Frequent_Shower::Frequent_Shower(QWidget *parent) : QWidget(parent) { setObjectName("设置频率值控件"); - set_frequent(BackEnd::instance()->YsGetFreq()); + set_frequent(Back_End::instance()->YsGetFreq()); } -void FrequentShower::paintEvent(QPaintEvent *event) { +void Frequent_Shower::paintEvent(QPaintEvent *event) { QPainter painter(this); QFont font; - font.setPointSize(calculateOptimalFontSize(mFrequent, {(int)((double)width() * 0.9), height()}, font)); + font.setPointSize(calculate_optimal_font_size(frequent, {(int)((double)width() * 0.9), height()}, font)); painter.setFont(font); painter.setPen(Qt::black); - painter.drawText(rect(), Qt::AlignCenter, mFrequent); + painter.drawText(rect(), Qt::AlignCenter, frequent); QFontMetrics fontMetrics(font); - if (selectIndex >= 0 && selectIndex < mFrequent.length()) { - int a = (QWidget::width() - fontMetrics.horizontalAdvance(mFrequent)) / 2; - int startX = a + fontMetrics.horizontalAdvance(mFrequent.mid(0, selectIndex)); - int w = fontMetrics.horizontalAdvance(mFrequent[selectIndex]); - painter.fillRect(startX, 0, w, QWidget::height(), Qt::black); + if (select_index >= 0 && select_index < frequent.length()) { + int a = (QWidget::width() - fontMetrics.horizontalAdvance(frequent)) / 2; + int start_x = a + fontMetrics.horizontalAdvance(frequent.mid(0, select_index)); + int w = fontMetrics.horizontalAdvance(frequent[select_index]); + painter.fillRect(start_x, 0, w, QWidget::height(), Qt::black); painter.setPen(Qt::white); - painter.drawText(QRect(startX, 0, w, QWidget::height()), Qt::AlignCenter, QString(mFrequent[selectIndex])); + painter.drawText(QRect(start_x, 0, w, QWidget::height()), Qt::AlignCenter, QString(frequent[select_index])); } } -void FrequentShower::keyPressEvent(QKeyEvent *event) { - BackEnd* g = BackEnd::instance(); +void Frequent_Shower::keyPressEvent(QKeyEvent *event) { + Back_End* g = Back_End::instance(); - QString keyText = event->text(); - if (keyText >= "0" && keyText <= "9") { - mFrequent[selectIndex] = keyText.at(0).toLatin1(); + QString key_text = event->text(); + if (key_text >= "0" && key_text <= "9") { + frequent[select_index] = key_text.at(0).toLatin1(); update(); return; } @@ -53,51 +53,51 @@ void FrequentShower::keyPressEvent(QKeyEvent *event) { } -void FrequentShower::move(int num) { - selectIndex += num; - if(selectIndex < 0) { - selectIndex = 0; - } else if(selectIndex >= mFrequent.length()) { - selectIndex = mFrequent.length() - 1; +void Frequent_Shower::move(int num) { + select_index += num; + if(select_index < 0) { + select_index = 0; + } else if(select_index >= frequent.length()) { + select_index = frequent.length() - 1; } - if(mFrequent[selectIndex] == '.') { + if(frequent[select_index] == '.') { if(num > 0) { - selectIndex++; + select_index++; } else { - selectIndex--; + select_index--; } } update(); } -void FrequentShower::change(int num) { - if (selectIndex >= 0 && selectIndex < mFrequent.length()) { - int n = mFrequent[selectIndex].digitValue(); +void Frequent_Shower::change(int num) { + if (select_index >= 0 && select_index < frequent.length()) { + int n = frequent[select_index].digitValue(); n += num; if (n < 0) { n = 9; } else if (n > 9) { n = 0; } - mFrequent[selectIndex] = QString::number(n)[0]; + frequent[select_index] = QString::number(n)[0]; update(); - BackEnd::instance()->YsSetFreq(QString(mFrequent).replace('.', "").toULongLong()); + Back_End::instance()->YsSetFreq(QString(frequent).replace('.', "").toULongLong()); } } -void FrequentShower::set_frequent(quint64 frequent) { - QString strNumber = QString::number(frequent, 10); - int padding = 11 - strNumber.length(); +void Frequent_Shower::set_frequent(quint64 frequent) { + QString str_number = QString::number(frequent, 10); + int padding = 11 - str_number.length(); if (padding > 0) { - strNumber = QString(padding, '0') + strNumber; + str_number = QString(padding, '0') + str_number; } - mFrequent = QString("%1.%2.%3.%4").arg( - strNumber.mid(0, 2), - strNumber.mid(2, 3), - strNumber.mid(5, 3), - strNumber.mid(8, 3) + this->frequent = QString("%1.%2.%3.%4").arg( + str_number.mid(0, 2), + str_number.mid(2, 3), + str_number.mid(5, 3), + str_number.mid(8, 3) ); -// qDebug() << strNumber << " " << mFrequent; +// qDebug() << str_number << " " << frequent; update(); } diff --git a/module/radio/component/FrequentShower.h b/module/radio/component/FrequentShower.h index d2c6538..c525ba7 100644 --- a/module/radio/component/FrequentShower.h +++ b/module/radio/component/FrequentShower.h @@ -1,13 +1,13 @@ -#ifndef FrequentShower_H -#define FrequentShower_H +#ifndef Frequent_Shower_H +#define Frequent_Shower_H #include "../Global.h" -class FrequentShower : public QWidget { +class Frequent_Shower : public QWidget { public: - explicit FrequentShower(QWidget *parent = nullptr); + explicit Frequent_Shower(QWidget *parent = nullptr); void set_frequent(quint64 frequent); - int selectIndex = 0; - QString mFrequent = "00.000.000.000"; + int select_index = 0; + QString frequent = "00.000.000.000"; protected: void paintEvent(QPaintEvent *event) override; void keyPressEvent(QKeyEvent *event) override; diff --git a/module/radio/component/ProgressBar.cpp b/module/radio/component/ProgressBar.cpp index 4fe79d1..5df42ec 100644 --- a/module/radio/component/ProgressBar.cpp +++ b/module/radio/component/ProgressBar.cpp @@ -1,87 +1,87 @@ #include "ProgressBar.h" #include -ProgressBar::ProgressBar(const QVector& tickList, QWidget *parent) : QWidget(parent), mTickList(tickList) { +Progress_Bar::Progress_Bar(const QVector& tick_list, QWidget *parent) : QWidget(parent), tick_list(tick_list) { setAttribute(Qt::WA_OpaquePaintEvent, true); - mTimer = startTimer(30); + timer = startTimer(30); } -double ProgressBar::getDrawWidth(double value) { - int n = mTickList.size(); +double Progress_Bar::get_draw_width(double value) { + int n = tick_list.size(); int i = 1; for(; i < n - 1; ++i) { - double cur = mTickList[i].mValue; - if(mValue < cur || qFuzzyCompare(mValue, cur)) { + double cur = tick_list[i].value; + if(value < cur || qFuzzyCompare(value, cur)) { break; } } - int lowerOffset = i - 1; - int upperOffset = i; - double lower = mTickList[lowerOffset].mValue; - double upper = mTickList[upperOffset].mValue; + int lower_offset = i - 1; + int upper_offset = i; + double lower = tick_list[lower_offset].value; + double upper = tick_list[upper_offset].value; double w_step = (double)QWidget::width()/(double)(n-1); - double lastRate = qMax(0.0, (mValue - lower)/(upper - lower)); - double drawWidth = w_step * (lastRate + lowerOffset); + double last_rate = qMax(0.0, (value - lower)/(upper - lower)); + double draw_width = w_step * (last_rate + lower_offset); QString ticks; - for(Tick& tick : mTickList) { - ticks.append(" " + QString::number(tick.mValue)); + for(Tick& tick : tick_list) { + ticks.append(" " + QString::number(tick.value)); } - // qDebug() << QString("%1->[%2,%3] i=%4 n=%5 drawWidth:%6 width:%7 ticks:%8 w_step:%9 lastRate:%10") - // .arg(mValue).arg(lower).arg(upper).arg(i).arg(n).arg(drawWidth).arg(width()).arg(ticks) - // .arg(w_step).arg(lastRate); - return drawWidth; + // qDebug() << QString("%1->[%2,%3] i=%4 n=%5 draw_width:%6 width:%7 ticks:%8 w_step:%9 last_rate:%10") + // .arg(value).arg(lower).arg(upper).arg(i).arg(n).arg(draw_width).arg(width()).arg(ticks) + // .arg(w_step).arg(last_rate); + return draw_width; } -void ProgressBar::paintEvent(QPaintEvent *event) { +void Progress_Bar::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setPen(Qt::NoPen); painter.fillRect(rect(), QApplication::style()->standardPalette().brush(QPalette::Window)); painter.setPen(QPen(Qt::black)); auto w = (double)QWidget::width(); auto hh = (double)height()/2; - int n = mTickList.size(); - int tickW = 1; - double drawWidth = getDrawWidth(mValue); + int n = tick_list.size(); + int tick_w = 1; + double draw_width = get_draw_width(value); // 背景 - painter.fillRect(0, 0, drawWidth - tickW - 4, height()/2, Qt::black); - int curX = 0; + painter.fillRect(0, 0, draw_width - tick_w - 4, height()/2, Qt::black); + int cur_x = 0; // 进度条 - while(curX + tickW + 4 < drawWidth){ - painter.fillRect(curX, 0, tickW, height()/2, Qt::gray); - curX += tickW + (int)mTickSpaceW; + while(cur_x + tick_w + 4 < draw_width){ + painter.fillRect(cur_x, 0, tick_w, height()/2, Qt::gray); + cur_x += tick_w + (int)tick_space_w; } - int lineY = (int)hh + 2; - painter.fillRect(curX -(int)mTickSpaceW , 0, 4, lineY - 0, Qt::yellow); - painter.drawLine(0, lineY , (int)w, lineY); + int line_y = (int)hh + 2; + painter.fillRect(cur_x -(int)tick_space_w , 0, 4, line_y - 0, Qt::yellow); + painter.drawLine(0, line_y , (int)w, line_y); // 画刻度 QFont font; font.setBold(true); QFontMetrics fm(font); for(int i = 0; i < n; ++i){ - int tickX = (int)((double)(QWidget::width() * i)/(double)(n - 1)); - int textW = fm.horizontalAdvance( mTickList[i].mText); - int textX; + int tick_x = (int)((double)(QWidget::width() * i)/(double)(n - 1)); + int text_w = fm.horizontalAdvance( tick_list[i].text); + int text_x; if(i == n - 1) { - textX = tickX - textW; - tickX -=1; + text_x = tick_x - text_w; + tick_x -=1; } else if( i == 0) { - textX = tickX; + text_x = tick_x; } else { - textX = tickX - textW/2; + text_x = tick_x - text_w/2; } painter.setPen(Qt::black); - painter.drawLine(tickX, lineY, tickX, (lineY + 5)); - painter.setPen(mTickList[i].mColor); + painter.drawLine(tick_x, line_y, tick_x, (line_y + 5)); + painter.setPen(tick_list[i].color); painter.setFont(font); - painter.drawText(QRectF(textX, lineY, textW, lineY), Qt::AlignCenter, mTickList[i].mText); + painter.drawText(QRectF(text_x, line_y, text_w, line_y), Qt::AlignCenter, tick_list[i].text); } } -void ProgressBar::timerEvent(QTimerEvent *event) { - if(event->timerId() == mTimer) { - if(mSetValue) mSetValue(); +void Progress_Bar::timerEvent(QTimerEvent *event) { + if(event->timerId() == timer) { + if(set_value) set_value(); update(); } QObject::timerEvent(event); diff --git a/module/radio/component/ProgressBar.h b/module/radio/component/ProgressBar.h index 508214f..4ddbc33 100644 --- a/module/radio/component/ProgressBar.h +++ b/module/radio/component/ProgressBar.h @@ -1,35 +1,35 @@ -#ifndef ProgressBar_H -#define ProgressBar_H +#ifndef Progress_Bar_H +#define Progress_Bar_H #include #include "../Global.h" struct Tick{ - QString mText; - QColor mColor; - double mValue = 0; - Tick(QString text, QColor color) : mText(std::move(text)), mColor(std::move(color)){ - QString that = (mText[0] == '+' || mText[0] == '-' || mText[0] == '<' || mText[0] == '>') ? mText.mid(1) : mText; - mValue = that.toDouble(); + QString text; + QColor color; + double value = 0; + Tick(QString text, QColor color) : text(std::move(text)), color(std::move(color)){ + QString that = (text[0] == '+' || text[0] == '-' || text[0] == '<' || text[0] == '>') ? text.mid(1) : text; + value = that.toDouble(); } - Tick(QString text, QColor color, double value) : mText(std::move(text)), mColor(std::move(color)){ - mValue = value; + Tick(QString text, QColor color, double value) : text(std::move(text)), color(std::move(color)){ + value = value; } }; -class ProgressBar : public QWidget { +class Progress_Bar : public QWidget { public: - explicit ProgressBar(const QVector& tickList, QWidget *parent = nullptr); - double mTickSpaceW = 1; - double mValue = 0; - int mTimer; - std::function mSetValue = nullptr; - double getDrawWidth(double value); + explicit Progress_Bar(const QVector& tick_list, QWidget *parent = nullptr); + double tick_space_w = 1; + double value = 0; + int timer; + std::function set_value = nullptr; + double get_draw_width(double value); protected: void paintEvent(QPaintEvent *event) override; void timerEvent(QTimerEvent *event) override; - QVector mTickList; + QVector tick_list; }; #endif diff --git a/module/radio/component/ShowHelpInfo.cpp b/module/radio/component/ShowHelpInfo.cpp index dc9b0a3..4c62037 100644 --- a/module/radio/component/ShowHelpInfo.cpp +++ b/module/radio/component/ShowHelpInfo.cpp @@ -3,7 +3,7 @@ #include #include "../BackEnd/MainWidget.h" -ShowHelpInfo::ShowHelpInfo(QWidget *parent) : QTextEdit(parent) { +Show_Help_Info::Show_Help_Info(QWidget *parent) : QTextEdit(parent) { setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); setMinimumSize(0, 0); setFrameStyle(0); @@ -11,17 +11,17 @@ ShowHelpInfo::ShowHelpInfo(QWidget *parent) : QTextEdit(parent) { setFocusPolicy(Qt::NoFocus); setReadOnly(true); setStyleSheet("color: black;"); - mFont.setBold(true); + font.setBold(true); setEnabled(false); } -//void ShowHelpInfo::paintEvent(QPaintEvent *event) { +//void Show_Help_Info::paintEvent(QPaintEvent *event) { // QTextEdit::paintEvent(event); //} -void ShowHelpInfo::resizeEvent(QResizeEvent *e) { - QFont font = mFont; - font.setPixelSize(Global::instance()->adaptHeight(mFont.pixelSize())); +void Show_Help_Info::resizeEvent(QResizeEvent *e) { + QFont font = font; + font.setPixelSize(Global::instance()->adapt_height(font.pixelSize())); setFont(font); QTextEdit::resizeEvent(e); } diff --git a/module/radio/component/ShowHelpInfo.h b/module/radio/component/ShowHelpInfo.h index 2dbf9ba..3c77cef 100644 --- a/module/radio/component/ShowHelpInfo.h +++ b/module/radio/component/ShowHelpInfo.h @@ -1,11 +1,11 @@ -#ifndef ShowHelpInfo_H -#define ShowHelpInfo_H +#ifndef Show_Help_Info_H +#define Show_Help_Info_H #include "../Global.h" #include -class ShowHelpInfo : public QTextEdit { +class Show_Help_Info : public QTextEdit { public: - explicit ShowHelpInfo(QWidget *parent = nullptr); - QFont mFont; + explicit Show_Help_Info(QWidget *parent = nullptr); + QFont font; protected: // void paintEvent(QPaintEvent *event) override; void resizeEvent(QResizeEvent *e) override; diff --git a/module/radio/component/ShowTime.cpp b/module/radio/component/ShowTime.cpp index 9c2832c..19f9f2a 100644 --- a/module/radio/component/ShowTime.cpp +++ b/module/radio/component/ShowTime.cpp @@ -3,16 +3,16 @@ #include #include -ShowTime::ShowTime(QWidget *parent) : QWidget(parent) { - setObjectName("ShowTime"); +Show_Time::Show_Time(QWidget *parent) : QWidget(parent) { + setObjectName("Show_Time"); setAttribute(Qt::WA_OpaquePaintEvent); - mTimer.start(1000); - connect(&mTimer, &QTimer::timeout, this, [this](){ + timer.start(1000); + connect(&timer, &QTimer::timeout, this, [this](){ update(); }); } -void ShowTime::paintEvent(QPaintEvent *event) { +void Show_Time::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setPen(Qt::NoPen); painter.fillRect(rect(), QApplication::style()->standardPalette().brush(QPalette::Window)); diff --git a/module/radio/component/ShowTime.h b/module/radio/component/ShowTime.h index a7ff878..4002500 100644 --- a/module/radio/component/ShowTime.h +++ b/module/radio/component/ShowTime.h @@ -1,11 +1,11 @@ -#ifndef ShowTime_H -#define ShowTime_H +#ifndef Show_Time_H +#define Show_Time_H #include "../Global.h" #include -class ShowTime : public QWidget { +class Show_Time : public QWidget { public: - explicit ShowTime(QWidget *parent = nullptr); - QTimer mTimer; + explicit Show_Time(QWidget *parent = nullptr); + QTimer timer; protected: void paintEvent(QPaintEvent *event) override; }; diff --git a/module/radio/component/TopMenuBar.cpp b/module/radio/component/TopMenuBar.cpp index 0b81bb5..f344932 100644 --- a/module/radio/component/TopMenuBar.cpp +++ b/module/radio/component/TopMenuBar.cpp @@ -6,34 +6,34 @@ #include "Wifi.h" -TopMenuBar::TopMenuBar(QWidget *parent) : QWidget(parent) { - int fontSize = 20; - mAM = createButton("AM", fontSize); - mATU = createButton("ATU", fontSize); - mVSQL = createButton("VSQL", fontSize); - mNB = createButton("NB", fontSize); - mNR = createButton("NR", fontSize); - mDNF = createButton("DNF", fontSize); - mPRE = createButton("PRE", fontSize); - mATT = createButton("ATT", fontSize); - mSPL = createButton("SPL", fontSize); - mFIL1 = createButton("FIL1", fontSize); - mAGC_A = createButton("AGC_A", fontSize); - mTextButtonList = new YSG::Roll_Object({mAM, mATU, mVSQL, mNB, mNR, mDNF, mPRE, mATT, mSPL, mFIL1, mAGC_A}, [](QPushButton* cur){ +Top_Menu_Bar::Top_Menu_Bar(QWidget *parent) : QWidget(parent) { + int font_size = 20; + am = create_button("AM", font_size); + atu = create_button("ATU", font_size); + vsql = create_button("VSQL", font_size); + nb = create_button("NB", font_size); + nr = create_button("NR", font_size); + dnf = create_button("DNF", font_size); + pre = create_button("PRE", font_size); + att = create_button("ATT", font_size); + spl = create_button("SPL", font_size); + fil1 = create_button("FIL1", font_size); + agc_a = create_button("AGC_A", font_size); + text_button_list = new renderive::Roll_Object({am, atu, vsql, nb, nr, dnf, pre, att, spl, fil1, agc_a}, [](QPushButton* cur){ }, [](QPushButton* btn){ }, this); - mShowTime = new ShowTime; - mWifi = new Wifi; - QHBoxLayout* statusBar = mTextButtonList->hBoxLayout(2); + show_time = new Show_Time; + wifi = new Wifi; + QHBoxLayout* statusBar = text_button_list->hbox_layout(2); statusBar->addStretch(3); - statusBar->addWidget(mWifi, 1); - statusBar->addWidget(mShowTime, 1); + statusBar->addWidget(wifi, 1); + statusBar->addWidget(show_time, 1); setLayout(statusBar); } -//void TopMenuBar::paintEvent(QPaintEvent *event) { +//void Top_Menu_Bar::paintEvent(QPaintEvent *event) { // QPainter painter(this); // painter.fillRect(rect(), Qt::red); // painter.end(); diff --git a/module/radio/component/TopMenuBar.h b/module/radio/component/TopMenuBar.h index 0f7951f..d790237 100644 --- a/module/radio/component/TopMenuBar.h +++ b/module/radio/component/TopMenuBar.h @@ -1,20 +1,20 @@ -#ifndef TopMenuBar_H -#define TopMenuBar_H +#ifndef Top_Menu_Bar_H +#define Top_Menu_Bar_H #include "../Global.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" -class TopButton; -class ShowTime; +class Top_Button; +class Show_Time; class Wifi; class QPushButton; -class TopMenuBar : public QWidget, public YSG::Singleton_Widget { +class Top_Menu_Bar : public QWidget, public renderive::Singleton_Widget { public: - explicit TopMenuBar(QWidget *parent = nullptr); - QPushButton *mAM, *mATU, *mVSQL, *mNB, *mNR, *mDNF, *mPRE, *mATT, *mSPL, *mFIL1, *mAGC_A; - Wifi* mWifi; - YSG::Roll_Object *mTextButtonList; + explicit Top_Menu_Bar(QWidget *parent = nullptr); + QPushButton *am, *atu, *vsql, *nb, *nr, *dnf, *pre, *att, *spl, *fil1, *agc_a; + Wifi* wifi; + renderive::Roll_Object *text_button_list; int index = 0; - ShowTime *mShowTime; + Show_Time *show_time; protected: // void paintEvent(QPaintEvent *event) override; }; diff --git a/module/radio/component/Wifi.cpp b/module/radio/component/Wifi.cpp index 2610739..3b1ec82 100644 --- a/module/radio/component/Wifi.cpp +++ b/module/radio/component/Wifi.cpp @@ -15,16 +15,16 @@ void Wifi::paintEvent(QPaintEvent *event) { QRect window(0, 0, 20, 10); painter.setWindow(window); double w = window.width(), h = window.height(); - QRect drawRect = getMaxRect(rect(), w / h); + QRect drawRect = get_max_rect(rect(), w / h); painter.setViewport(drawRect); double rate = 1.5; // wife宽度 : 间隙宽度 - double baseHeightRate = 0.2; - double spaceWidth = w/(1.0 * 4 + rate * 5); - double stripWidth = spaceWidth * rate; - double baseHeight = h * baseHeightRate; - double raiseHeight = h * (1.0 - baseHeightRate)/4.0; - double raiseWidth = spaceWidth + stripWidth; - QRect textRect = QRect(0, 0, (int)(raiseWidth * 2), (int)(baseHeight * 2)); + double base_height_rate = 0.2; + double space_width = w/(1.0 * 4 + rate * 5); + double strip_width = space_width * rate; + double base_height = h * base_height_rate; + double raise_height = h * (1.0 - base_height_rate)/4.0; + double raise_width = space_width + strip_width; + QRect text_rect = QRect(0, 0, (int)(raise_width * 2), (int)(base_height * 2)); QFont font; font.setPixelSize(5); font.setBold(true); @@ -32,12 +32,12 @@ void Wifi::paintEvent(QPaintEvent *event) { QPen pen; pen.setColor(Qt::white); painter.setPen(pen); - painter.drawText(textRect, Qt::AlignJustify | Qt::AlignVCenter, "4G"); + painter.drawText(text_rect, Qt::AlignJustify | Qt::AlignVCenter, "4G"); for(int i = 0; i < 5; ++i){ - double curHeight = baseHeight + i * raiseHeight; - double curX = 0 + raiseWidth * i; + double cur_height = base_height + i * raise_height; + double cur_x = 0 + raise_width * i; QColor color = i < value ? Qt::white : QColor(0, 0, 0, 50); - painter.fillRect(QRectF(curX, h - curHeight, stripWidth, curHeight), color); + painter.fillRect(QRectF(cur_x, h - cur_height, strip_width, cur_height), color); } painter.end(); } diff --git a/module/radio/main.cpp b/module/radio/main.cpp index 51c1f86..2c85bc5 100644 --- a/module/radio/main.cpp +++ b/module/radio/main.cpp @@ -5,11 +5,11 @@ #endif #include "./BackEnd/MainWidget.h" #include "Application.h" -#include "YSGraphic_Core/architecture/export.h" +#include "Renderive/architecture/export.h" int main(int argc, char* argv[]) { Application app(argc, argv); Application::setAttribute(Qt::AA_UseHighDpiPixmaps); - BackEnd::instance(); + Back_End::instance(); QFile file(":/qss/ElegantDark.qss"); file.open(QIODevice::ReadOnly); QString stylesheet = QLatin1String(file.readAll()); @@ -21,9 +21,9 @@ int main(int argc, char* argv[]) { system("chcp 65001"); //setbuf(stdout, 0); #endif - MainWidget w; - app.mMainWidget = &w; - YSG::start_render_scheduler(); + Main_Widget w; + app.main_widget = &w; + renderive::start_render_scheduler(); w.show(); return QApplication::exec(); } diff --git a/module/radio/menu/BaseWidgetMenu.cpp b/module/radio/menu/BaseWidgetMenu.cpp index 9bc103b..ca19ee1 100644 --- a/module/radio/menu/BaseWidgetMenu.cpp +++ b/module/radio/menu/BaseWidgetMenu.cpp @@ -5,87 +5,87 @@ -BaseWidgetMenu::BaseWidgetMenu(QWidget* parent) : QWidget(parent){ - setObjectName("BaseWidgetMenu"); +Base_Widget_Menu::Base_Widget_Menu(QWidget* parent) : QWidget(parent){ + setObjectName("Base_Widget_Menu"); setAttribute(Qt::WA_OpaquePaintEvent); - mMainLayout = new QVBoxLayout(this); - mFirstLayout = new QHBoxLayout(); - mMainLayout->addLayout(mFirstLayout, 1); - mSecondLayout = new QHBoxLayout(); - mMainLayout->addLayout(mSecondLayout, 1); - mRollObject.mEnterFunc = [](AbstractMenuButton* btn){ + main_layout = new QVBoxLayout(this); + first_layout = new QHBoxLayout(); + main_layout->addLayout(first_layout, 1); + second_layout = new QHBoxLayout(); + main_layout->addLayout(second_layout, 1); + roll_object.enter_func = [](Abstract_Menu_Button* btn){ btn->setChecked(true); }; - mRollObject.mLeaveFunc = [](AbstractMenuButton* btn){ + roll_object.leave_func = [](Abstract_Menu_Button* btn){ btn->setChecked(false); }; hide(); } -void BaseWidgetMenu::paintEvent(QPaintEvent *event) { +void Base_Widget_Menu::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setPen(Qt::NoPen); QPalette palette = QApplication::style()->standardPalette(); - const QBrush& base1Brush = palette.brush(QPalette::Window); - painter.setBrush(base1Brush); + const QBrush& base1_brush = palette.brush(QPalette::Window); + painter.setBrush(base1_brush); painter.drawRect(rect()); painter.end(); } -void BaseWidgetMenu::hideEvent(QHideEvent *event) { +void Base_Widget_Menu::hideEvent(QHideEvent *event) { for(auto btn : sons){ btn->hide(); } - emit hideThat(); + emit hide_that(); event->accept(); } -void BaseWidgetMenu::showEvent(QShowEvent *event) { - if(!mRollObject.mWidgets.empty()) mRollObject.mEnterFunc(mRollObject.cur()); - emit showThat(); +void Base_Widget_Menu::showEvent(QShowEvent *event) { + if(!roll_object.widgets.empty()) roll_object.enter_func(roll_object.cur()); + emit show_that(); event->accept(); } -void BaseWidgetMenu::addMenuButtonOnLayout1(const QVector& buttons, int stretch) { - for(AbstractMenuButton* btn : buttons){ - mFirstLayout->addWidget(btn, 1); - mRollObject.mWidgets.push_back(btn); - btn->mParentMenu = this; +void Base_Widget_Menu::add_menu_button_on_layout1(const QVector& buttons, int stretch) { + for(Abstract_Menu_Button* btn : buttons){ + first_layout->addWidget(btn, 1); + roll_object.widgets.push_back(btn); + btn->parent_menu = this; } if(stretch != 0) { - mFirstLayout->addStretch(stretch); - mFirstLayout->addSpacing(mSecondLayout->spacing() * stretch); + first_layout->addStretch(stretch); + first_layout->addSpacing(second_layout->spacing() * stretch); }; } -void BaseWidgetMenu::addMenuButtonOnLayout2(const QVector& buttons, int stretch) { - for(AbstractMenuButton* btn : buttons){ - mSecondLayout->addWidget(btn, 1); - mRollObject.mWidgets.push_back(btn); - btn->mParentMenu = this; +void Base_Widget_Menu::add_menu_button_on_layout2(const QVector& buttons, int stretch) { + for(Abstract_Menu_Button* btn : buttons){ + second_layout->addWidget(btn, 1); + roll_object.widgets.push_back(btn); + btn->parent_menu = this; } if(stretch != 0) { - mSecondLayout->addStretch(stretch); - mSecondLayout->addSpacing(mSecondLayout->spacing() * stretch); + second_layout->addStretch(stretch); + second_layout->addSpacing(second_layout->spacing() * stretch); }; } -void BaseWidgetMenu::addMenuButtonOnLayout1(const QVector& buttons) { - addMenuButtonOnLayout1(buttons, 5 - buttons.size()); +void Base_Widget_Menu::add_menu_button_on_layout1(const QVector& buttons) { + add_menu_button_on_layout1(buttons, 5 - buttons.size()); } -void BaseWidgetMenu::addMenuButtonOnLayout2(const QVector& buttons) { - addMenuButtonOnLayout2(buttons, 5 - buttons.size()); +void Base_Widget_Menu::add_menu_button_on_layout2(const QVector& buttons) { + add_menu_button_on_layout2(buttons, 5 - buttons.size()); } -BaseWidgetMenu* BaseWidgetMenu::createSubWidgetMenu(AbstractMenuButton *btn) { - auto ret = new BaseWidgetMenu(parentWidget()); - ret->parentBtn = btn; +Base_Widget_Menu* Base_Widget_Menu::create_sub_widget_menu(Abstract_Menu_Button *btn) { + auto ret = new Base_Widget_Menu(parentWidget()); + ret->parent_btn = btn; ret->hide(); ret->father = this; sons.push_back(ret); - btn->mOwnMenu = ret; + btn->own_menu = ret; return ret; } @@ -93,24 +93,24 @@ BaseWidgetMenu* BaseWidgetMenu::createSubWidgetMenu(AbstractMenuButton *btn) { -void BaseWidgetMenu::keyPressEvent(QKeyEvent *event) { - BackEnd* g = BackEnd::instance(); +void Base_Widget_Menu::keyPressEvent(QKeyEvent *event) { + Back_End* g = Back_End::instance(); if (g->match(event, "右移")) { - mRollObject.rollRight(); + roll_object.roll_right(); } else if (g->match(event, "左移")) { - mRollObject.rollLeft(); + roll_object.roll_left(); } else if (g->match(event, "增加")) { - auto v = dynamic_cast(mRollObject.cur()); + auto v = dynamic_cast(roll_object.cur()); if(v){ - v->mValueChanged(v, true); + v->value_changed(v, true); } } else if (g->match(event, "减小")) { - auto v = dynamic_cast(mRollObject.cur()); + auto v = dynamic_cast(roll_object.cur()); if(v){ - v->mValueChanged(v, false); + v->value_changed(v, false); } } else if (g->match(event, "确定")){ @@ -125,8 +125,8 @@ void BaseWidgetMenu::keyPressEvent(QKeyEvent *event) { -void BaseWidgetMenu::confirm() { - BaseWidgetMenu* m = mRollObject.cur()->mOwnMenu; +void Base_Widget_Menu::confirm() { + Base_Widget_Menu* m = roll_object.cur()->own_menu; if(m){ m->resize(size()); m->move(geometry().topLeft() + QPoint(0, -height())); @@ -134,17 +134,17 @@ void BaseWidgetMenu::confirm() { m->setFocus(); m->show(); } else { - mRollObject.cur()->emit clicked(); - if(mRollObject.cur()->mClickHide){ - rootNode()->hide(); + roll_object.cur()->emit clicked(); + if(roll_object.cur()->click_hide){ + root_node()->hide(); } } } -void BaseWidgetMenu::esc(BaseWidgetMenu* menu){ +void Base_Widget_Menu::esc(Base_Widget_Menu* menu){ if(menu->root()){ - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); } else { menu->father->setFocus(); } @@ -152,7 +152,7 @@ void BaseWidgetMenu::esc(BaseWidgetMenu* menu){ } -void AbstractMenuButton::hideRoot() { - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); - mParentMenu->rootNode()->hide(); +void Abstract_Menu_Button::hide_root() { + Main_Widget::instance()->get_current_base_widget()->setFocus(); + parent_menu->root_node()->hide(); } diff --git a/module/radio/menu/BaseWidgetMenu.h b/module/radio/menu/BaseWidgetMenu.h index a1a7f35..1b1436b 100644 --- a/module/radio/menu/BaseWidgetMenu.h +++ b/module/radio/menu/BaseWidgetMenu.h @@ -1,146 +1,135 @@ -#ifndef BaseWidgetMenu_H -#define BaseWidgetMenu_H -#include "YSGraphic_Core/export.h" - +#ifndef Base_Widget_Menu_H +#define Base_Widget_Menu_H +#include "Renderive/export.h" #include #include #include - +#include "Widget/base/Node.hpp" +#include "Widget/base/Roll_Object.h" class QHBoxLayout; class QVBoxLayout; -class AbstractTextButton; -class AbstractMenuButton; - - -class BaseWidgetMenu : public QWidget, public YSG::Node { +class Abstract_Text_Button; +class Abstract_Menu_Button; +class Base_Widget_Menu : public QWidget, public renderive::Node { Q_OBJECT public: - explicit BaseWidgetMenu(QWidget* parent); - QVBoxLayout *mMainLayout; - QHBoxLayout *mFirstLayout; - QHBoxLayout *mSecondLayout; - AbstractMenuButton *parentBtn{}; - YSG::Roll_Object mRollObject; - BaseWidgetMenu* createSubWidgetMenu(AbstractMenuButton * btn); - void esc(BaseWidgetMenu* menu); + explicit Base_Widget_Menu(QWidget* parent); + QVBoxLayout* main_layout; + QHBoxLayout* first_layout; + QHBoxLayout* second_layout; + Abstract_Menu_Button* parent_btn{}; + renderive::Roll_Object roll_object; + Base_Widget_Menu* create_sub_widget_menu(Abstract_Menu_Button* btn); + void esc(Base_Widget_Menu* menu); void confirm(); - void addMenuButtonOnLayout1(const QVector& buttons, int stretch); - void addMenuButtonOnLayout2(const QVector& buttons, int stretch); - void addMenuButtonOnLayout1(const QVector& buttons); - void addMenuButtonOnLayout2(const QVector& buttons); -signals: - void showThat(); - void hideThat(); -protected: - void paintEvent(QPaintEvent *event) override; - void keyPressEvent(QKeyEvent *event) override; - void showEvent(QShowEvent *event) override; - void hideEvent(QHideEvent *event) override; -}; + void add_menu_button_on_layout1(const QVector& buttons, int stretch); + void add_menu_button_on_layout2(const QVector& buttons, int stretch); + void add_menu_button_on_layout1(const QVector& buttons); + void add_menu_button_on_layout2(const QVector& buttons); + signals : -class AbstractMenuButton : public QPushButton { + void show_that(); + void hide_that(); +protected: + void paintEvent(QPaintEvent* event) override; + void keyPressEvent(QKeyEvent* event) override; + void showEvent(QShowEvent* event) override; + void hideEvent(QHideEvent* event) override; +}; +class Abstract_Menu_Button : public QPushButton { public: - AbstractMenuButton() = default; - BaseWidgetMenu *mParentMenu{}; - BaseWidgetMenu *mOwnMenu{}; - bool mClickHide = true; - void init(int fontSize){ + Abstract_Menu_Button() = default; + Base_Widget_Menu* parent_menu{}; + Base_Widget_Menu* own_menu{}; + bool click_hide = true; + void init(int font_size) { setFocusPolicy(Qt::NoFocus); setFlat(true); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setCheckable(true); setChecked(false); QFont font; - font.setPixelSize(fontSize); + font.setPixelSize(font_size); setFont(font); } - - void mousePressEvent(QMouseEvent *e) override { - mParentMenu->mRollObject.setCur(this); - mParentMenu->confirm(); + void mousePressEvent(QMouseEvent* e) override { + parent_menu->roll_object.set_cur(this); + parent_menu->confirm(); } - - void hideRoot(); + void hide_root(); }; - -class MenuButton : public AbstractMenuButton{ +class Menu_Button : public Abstract_Menu_Button { public: - std::function mClick = nullptr; - MenuButton(const QString &text, int fontSize, const std::function &click){ - mClick = click; + std::function click = nullptr; + Menu_Button(const QString& text, int font_size, const std::function& click) { + this->click = click; setText(text); - init(fontSize); - connect(this, &AbstractMenuButton::clicked, [this](){ - mClick(); + init(font_size); + connect(this, &Abstract_Menu_Button::clicked, [this]() { + this->click(); }); } }; - -class DoubleTextMenuButton : public AbstractMenuButton{ +class Double_Text_Menu_Button : public Abstract_Menu_Button { public: - std::function mSwitchClick = nullptr; - QString mText1, mText2; - bool mIsText1 = false; - DoubleTextMenuButton(const QString &text1, const QString &text2, int fontSize, const std::function &click){ - mClickHide = false; - mText1 = text1; - mText2 = text2; - mSwitchClick = click; + std::function switch_click = nullptr; + QString text1, text2; + bool is_text1 = false; + Double_Text_Menu_Button(const QString& text1, const QString& text2, int font_size, const std::function& click) { + click_hide = false; + this->text1 = text1; + this->text2 = text2; + switch_click = click; setText(text1); - init(fontSize); - connect(this, &AbstractMenuButton::clicked, [this](){ - mIsText1 = !mIsText1; - mSwitchClick(mIsText1); - if(mIsText1){ - setText(mText2); - } else { - setText(mText1); + init(font_size); + connect(this, &Abstract_Menu_Button::clicked, [this]() { + is_text1 = !is_text1; + switch_click(is_text1); + if (is_text1) { + setText(this->text2); + } + else { + setText(this->text1); } }); } }; - -class ValueMenuButton : public AbstractMenuButton{ +class Value_Menu_Button : public Abstract_Menu_Button { public: - double mValue{}; - QString mText; - std::function mValueChanged; - void setValue(double value){ - mValue = value; - setText(mText.arg(mValue)); + double value{}; + QString text; + std::function value_changed; + void setValue(double value) { + this->value = value; + setText(text.arg(this->value)); } - ValueMenuButton(const QString &text, int fontSize, - const std::function &valueChanged, double firstValue) { - mText = text; - init(fontSize); - mValueChanged = valueChanged; - setValue(firstValue); + Value_Menu_Button(const QString& text, int font_size, + const std::function& valueChanged, double first_value) { + this->text = text; + init(font_size); + value_changed = valueChanged; + setValue(first_value); } }; - -// class ValueMenuButton : public AbstractMenuButton{ +// class Value_Menu_Button : public Abstract_Menu_Button{ // public: -// std::function mHandleUp = nullptr; -// std::function mHandleDown = nullptr; -// QString mText; -// double mValue{}; -// ValueMenuButton(const QString &text, int fontSize, -// const std::function &handleUp, -// const std::function &handleDown){ -// mClickHide = false; -// mText = text; -// mHandleUp = handleUp; -// mHandleDown = handleDown; -// setValue(mValue); -// init(fontSize); +// std::function handle_up = nullptr; +// std::function handle_down = nullptr; +// QString text; +// double value{}; +// Value_Menu_Button(const QString &text, int font_size, +// const std::function &handleUp, +// const std::function &handleDown){ +// click_hide = false; +// text = text; +// handle_up = handleUp; +// handle_down = handleDown; +// setValue(value); +// init(font_size); // } // void setValue(double value){ -// mValue = value; -// setText(mText.arg(mValue)); +// value = value; +// setText(text.arg(value)); // } // }; - #endif - - - diff --git a/module/radio/styles/AbstractStyle.h b/module/radio/styles/AbstractStyle.h index e199bd6..75270e7 100644 --- a/module/radio/styles/AbstractStyle.h +++ b/module/radio/styles/AbstractStyle.h @@ -1,16 +1,16 @@ -#ifndef AbstractStyle_H -#define AbstractStyle_H +#ifndef Abstract_Style_H +#define Abstract_Style_H #include -class AbsWidget { +class Abs_Widget { public: - int mType; + int type; }; template -class AbsExWidget : public Base, public AbsWidget { +class Abs_Ex_Widget : public Base, public Abs_Widget { public: template - explicit AbsExWidget(Params... params) : Base(params...) {} + explicit Abs_Ex_Widget(Params... params) : Base(params...) {} }; #endif diff --git a/module/radio/styles/norwegianwoodstyle.cpp b/module/radio/styles/norwegianwoodstyle.cpp index b28141a..64c2815 100644 --- a/module/radio/styles/norwegianwoodstyle.cpp +++ b/module/radio/styles/norwegianwoodstyle.cpp @@ -7,32 +7,32 @@ #include #include -NorwegianWoodStyle::NorwegianWoodStyle() : +Norwegian_Wood_Style::Norwegian_Wood_Style() : QProxyStyle(QStyleFactory::create("windows")) { setObjectName("NorwegianWood"); } //! [0] -QPalette NorwegianWoodStyle::standardPalette() const { - if (!m_standardPalette.isBrushSet(QPalette::Disabled, QPalette::Mid)) { +QPalette Norwegian_Wood_Style::standardPalette() const { + if (!m_standard_palette.isBrushSet(QPalette::Disabled, QPalette::Mid)) { QColor brown(212, 140, 95); QColor beige(236, 182, 120); - QColor slightlyOpaqueBlack(0, 0, 0, 63); - QImage backgroundImage(":/images/woodbackground.png"); - QImage buttonImage(":/images/woodbutton.png"); - QImage midImage = buttonImage.convertToFormat(QImage::Format_RGB32); + QColor slightly_opaque_black(0, 0, 0, 63); + QImage background_image(":/images/woodbackground.png"); + QImage button_image(":/images/woodbutton.png"); + QImage mid_image = button_image.convertToFormat(QImage::Format_RGB32); QPainter painter; - painter.begin(&midImage); + painter.begin(&mid_image); painter.setPen(Qt::NoPen); - painter.fillRect(midImage.rect(), slightlyOpaqueBlack); + painter.fillRect(mid_image.rect(), slightly_opaque_black); painter.end(); QPalette palette(brown); palette.setBrush(QPalette::BrightText, Qt::white); palette.setBrush(QPalette::Base, beige); palette.setBrush(QPalette::Highlight, Qt::darkGreen); - setTexture(palette, QPalette::Button, buttonImage); - setTexture(palette, QPalette::Mid, midImage); - setTexture(palette, QPalette::Window, backgroundImage); + set_texture(palette, QPalette::Button, button_image); + set_texture(palette, QPalette::Mid, mid_image); + set_texture(palette, QPalette::Window, background_image); QBrush brush = palette.window(); brush.setColor(brush.color().darker()); palette.setBrush(QPalette::Disabled, QPalette::WindowText, brush); @@ -41,24 +41,24 @@ QPalette NorwegianWoodStyle::standardPalette() const { palette.setBrush(QPalette::Disabled, QPalette::Base, brush); palette.setBrush(QPalette::Disabled, QPalette::Button, brush); palette.setBrush(QPalette::Disabled, QPalette::Mid, brush); - m_standardPalette = palette; + m_standard_palette = palette; } - return m_standardPalette; + return m_standard_palette; } -void NorwegianWoodStyle::polish(QWidget *widget) { +void Norwegian_Wood_Style::polish(QWidget *widget) { if (qobject_cast(widget) || qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover, true); } -void NorwegianWoodStyle::unpolish(QWidget *widget) { +void Norwegian_Wood_Style::unpolish(QWidget *widget) { if (qobject_cast(widget) || qobject_cast(widget)) widget->setAttribute(Qt::WA_Hover, false); } -int NorwegianWoodStyle::pixelMetric(PixelMetric metric, +int Norwegian_Wood_Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const QWidget *widget) const { switch (metric) { @@ -71,7 +71,7 @@ int NorwegianWoodStyle::pixelMetric(PixelMetric metric, } } -int NorwegianWoodStyle::styleHint(StyleHint hint, const QStyleOption *option, +int Norwegian_Wood_Style::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returnData) const { switch (hint) { @@ -84,26 +84,26 @@ int NorwegianWoodStyle::styleHint(StyleHint hint, const QStyleOption *option, } } -void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element, +void Norwegian_Wood_Style::drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { switch (element) { case PE_PanelButtonCommand: { int delta = (option->state & State_MouseOver) ? 64 : 0; - QColor slightlyOpaqueBlack(0, 0, 0, 63); - QColor semiTransparentWhite(255, 255, 255, 127 + delta); - QColor semiTransparentBlack(0, 0, 0, 127 - delta); + QColor slightly_opaque_black(0, 0, 0, 63); + QColor semi_transparent_white(255, 255, 255, 127 + delta); + QColor semi_transparent_black(0, 0, 0, 127 - delta); int x, y, width, height; option->rect.getRect(&x, &y, &width, &height); - QPainterPath roundRect = roundRectPath(option->rect); + QPainterPath round_rect = round_rect_path(option->rect); int radius = qMin(width, height) / 2; QBrush brush; bool darker; - const QStyleOptionButton *buttonOption = + const QStyleOptionButton *button_option = qstyleoption_cast(option); - if (buttonOption - && (buttonOption->features & QStyleOptionButton::Flat)) { + if (button_option + && (button_option->features & QStyleOptionButton::Flat)) { brush = option->palette.window(); darker = (option->state & (State_Sunken | State_On)); } else { @@ -117,20 +117,20 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element, } painter->save(); painter->setRenderHint(QPainter::Antialiasing, true); - painter->fillPath(roundRect, brush); + painter->fillPath(round_rect, brush); if (darker) - painter->fillPath(roundRect, slightlyOpaqueBlack); - int penWidth; + painter->fillPath(round_rect, slightly_opaque_black); + int pen_width; if (radius < 10) - penWidth = 3; + pen_width = 3; else if (radius < 20) - penWidth = 5; + pen_width = 5; else - penWidth = 7; - QPen topPen(semiTransparentWhite, penWidth); - QPen bottomPen(semiTransparentBlack, penWidth); + pen_width = 7; + QPen top_pen(semi_transparent_white, pen_width); + QPen bottom_pen(semi_transparent_black, pen_width); if (option->state & (State_Sunken | State_On)) - qSwap(topPen, bottomPen); + qSwap(top_pen, bottom_pen); int x1 = x; int x2 = x + radius; int x3 = x + width - radius; @@ -139,25 +139,25 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element, qSwap(x1, x4); qSwap(x2, x3); } - QPolygon topHalf; - topHalf << QPoint(x1, y) + QPolygon top_half; + top_half << QPoint(x1, y) << QPoint(x4, y) << QPoint(x3, y + radius) << QPoint(x2, y + height - radius) << QPoint(x1, y + height); - painter->setClipPath(roundRect); - painter->setClipRegion(topHalf, Qt::IntersectClip); - painter->setPen(topPen); - painter->drawPath(roundRect); - QPolygon bottomHalf = topHalf; - bottomHalf[0] = QPoint(x4, y + height); - painter->setClipPath(roundRect); - painter->setClipRegion(bottomHalf, Qt::IntersectClip); - painter->setPen(bottomPen); - painter->drawPath(roundRect); + painter->setClipPath(round_rect); + painter->setClipRegion(top_half, Qt::IntersectClip); + painter->setPen(top_pen); + painter->drawPath(round_rect); + QPolygon bottom_half = top_half; + bottom_half[0] = QPoint(x4, y + height); + painter->setClipPath(round_rect); + painter->setClipRegion(bottom_half, Qt::IntersectClip); + painter->setPen(bottom_pen); + painter->drawPath(round_rect); painter->setPen(option->palette.windowText().color()); painter->setClipping(false); - painter->drawPath(roundRect); + painter->drawPath(round_rect); painter->restore(); } break; @@ -166,29 +166,29 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element, } } -void NorwegianWoodStyle::drawControl(ControlElement element, +void Norwegian_Wood_Style::drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const { switch (element) { case CE_PushButtonLabel: { - QStyleOptionButton myButtonOption; + QStyleOptionButton my_button_option; auto btn = (QPushButton*)(widget); - auto buttonOption = qstyleoption_cast(option); - if (buttonOption) { - myButtonOption = *buttonOption; - QBrush bright = myButtonOption.palette.brightText(); + auto button_option = qstyleoption_cast(option); + if (button_option) { + my_button_option = *button_option; + QBrush bright = my_button_option.palette.brightText(); if(!btn->isFlat()){ - myButtonOption.palette.setBrush(QPalette::ButtonText, bright); + my_button_option.palette.setBrush(QPalette::ButtonText, bright); } - if (myButtonOption.palette.currentColorGroup() + if (my_button_option.palette.currentColorGroup() != QPalette::Disabled) { - if (myButtonOption.state & (State_Sunken | State_On)) { - myButtonOption.palette.setBrush(QPalette::ButtonText, bright); + if (my_button_option.state & (State_Sunken | State_On)) { + my_button_option.palette.setBrush(QPalette::ButtonText, bright); } } } - QProxyStyle::drawControl(element, &myButtonOption, painter, widget); + QProxyStyle::drawControl(element, &my_button_option, painter, widget); } break; default: @@ -196,7 +196,7 @@ void NorwegianWoodStyle::drawControl(ControlElement element, } } -void NorwegianWoodStyle::setTexture(QPalette &palette, QPalette::ColorRole role, +void Norwegian_Wood_Style::set_texture(QPalette &palette, QPalette::ColorRole role, const QImage &image) { for (int i = 0; i < QPalette::NColorGroups; ++i) { QBrush brush(image); @@ -205,7 +205,7 @@ void NorwegianWoodStyle::setTexture(QPalette &palette, QPalette::ColorRole role, } } -QPainterPath NorwegianWoodStyle::roundRectPath(const QRect &rect) { +QPainterPath Norwegian_Wood_Style::round_rect_path(const QRect &rect) { int radius = qMin(rect.width(), rect.height()) / 4; int diam = 2 * radius; int x1, y1, x2, y2; diff --git a/module/radio/styles/norwegianwoodstyle.h b/module/radio/styles/norwegianwoodstyle.h index 117203b..09fd0c3 100644 --- a/module/radio/styles/norwegianwoodstyle.h +++ b/module/radio/styles/norwegianwoodstyle.h @@ -60,12 +60,12 @@ QT_END_NAMESPACE //挪威森林风格 //! [0] -class NorwegianWoodStyle : public QProxyStyle +class Norwegian_Wood_Style : public QProxyStyle { Q_OBJECT public: - NorwegianWoodStyle(); + Norwegian_Wood_Style(); QPalette standardPalette() const override; @@ -81,10 +81,10 @@ public: QPainter *painter, const QWidget *widget) const override; private: - static void setTexture(QPalette &palette, QPalette::ColorRole role, + static void set_texture(QPalette &palette, QPalette::ColorRole role, const QImage &image); - static QPainterPath roundRectPath(const QRect &rect); - mutable QPalette m_standardPalette; + static QPainterPath round_rect_path(const QRect &rect); + mutable QPalette m_standard_palette; }; //! [0] diff --git a/module/radio/subWidget/ServerSettingWidget.cpp b/module/radio/subWidget/ServerSettingWidget.cpp index 2f8a200..43167b9 100644 --- a/module/radio/subWidget/ServerSettingWidget.cpp +++ b/module/radio/subWidget/ServerSettingWidget.cpp @@ -9,82 +9,82 @@ #include "../BaseWidget.h" -ServerSettingWidget::ServerSettingWidget(QWidget *parent) : QWidget(parent) { +Server_Setting_Widget::Server_Setting_Widget(QWidget *parent) : QWidget(parent) { setObjectName("服务端设置界面"); hide(); - auto mainLayout = new QVBoxLayout(this); - mainLayout->setAlignment(Qt::AlignTop); - mRigNameLabel = createLabel("Rig Name"); - mUserNameLabel = createLabel("User Name"); - mPasswordLabel = createLabel("Password"); - mCtrlPortLabel = createLabel("Ctrl Port"); - mCivPortLabel = createLabel("Civ Port"); - mAudioPortLabel = createLabel("Audio Port"); + auto main_layout = new QVBoxLayout(this); + main_layout->setAlignment(Qt::AlignTop); + rig_name_label = create_label("Rig Name"); + user_name_label = create_label("User Name"); + password_label = create_label("Password"); + ctrl_port_label = create_label("Ctrl Port"); + civ_port_label = create_label("Civ Port"); + audio_port_label = create_label("Audio Port"); - mRigNameEdit = new ExpandInput(); - mUserNameEdit = new ExpandInput(); - mPasswordEdit = new ExpandInput(); - mCtrlPortEdit = new ExpandInput(); - mCivPortEdit = new ExpandInput(); - mAudioPortEdit = new ExpandInput(); + rig_name_edit = new Expand_Input(); + user_name_edit = new Expand_Input(); + password_edit = new Expand_Input(); + ctrl_port_edit = new Expand_Input(); + civ_port_edit = new Expand_Input(); + audio_port_edit = new Expand_Input(); - mainLayout->addLayout(createHBoxLayout({mRigNameLabel, mRigNameEdit}), 1); - mainLayout->addLayout(createHBoxLayout({mUserNameLabel, mUserNameEdit}), 1); - mainLayout->addLayout(createHBoxLayout({mPasswordLabel, mPasswordEdit}), 1); - mainLayout->addLayout(createHBoxLayout({mCtrlPortLabel, mCtrlPortEdit}), 1); - mainLayout->addLayout(createHBoxLayout({mCivPortLabel, mCivPortEdit}), 1); - mainLayout->addLayout(createHBoxLayout({mAudioPortLabel, mAudioPortEdit}), 1); - mShowHelpInfo = new ShowHelpInfo; - mShowHelpInfo->mFont.setPixelSize(40); - mainLayout->addWidget(mShowHelpInfo, 3); - int fontSize = 40; - mStartButton = createClickButton("Start", fontSize, [&]() { - mShowHelpInfo->setText("Start 帮助信息"); - mShowHelpInfo->update(); - }, &mRollObject); - mDefaultButton = createClickButton("Default", fontSize, [&]() { - mShowHelpInfo->setText("Default 帮助信息"); - mShowHelpInfo->update(); - }, &mRollObject); - mClearButton = createClickButton("Clear", fontSize, [&]() { - mShowHelpInfo->setText("Clear 帮助信息"); - mShowHelpInfo->update(); - }, &mRollObject); - mSaveButton = createClickButton("Save", fontSize, [&]() { - mShowHelpInfo->setText("Save 帮助信息"); - mShowHelpInfo->update(); - }, &mRollObject); - mExitButton = createClickButton("Exit", fontSize, [&]() { - MainWidget::instance()->hideCurHoverWidget(); - MainWidget::instance()->getCurrentBaseWidget()->setFocus(); - }, &mRollObject); - mRollObject.mWidgets = {mStartButton, mDefaultButton, mClearButton, mSaveButton, mExitButton}; - mRollObject.mEnterFunc = [](QPushButton* btn){ + main_layout->addLayout(create_hbox_layout({rig_name_label, rig_name_edit}), 1); + main_layout->addLayout(create_hbox_layout({user_name_label, user_name_edit}), 1); + main_layout->addLayout(create_hbox_layout({password_label, password_edit}), 1); + main_layout->addLayout(create_hbox_layout({ctrl_port_label, ctrl_port_edit}), 1); + main_layout->addLayout(create_hbox_layout({civ_port_label, civ_port_edit}), 1); + main_layout->addLayout(create_hbox_layout({audio_port_label, audio_port_edit}), 1); + show_help_info = new Show_Help_Info; + show_help_info->font.setPixelSize(40); + main_layout->addWidget(show_help_info, 3); + int font_size = 40; + start_button = create_click_button("Start", font_size, [&]() { + show_help_info->setText("Start 帮助信息"); + show_help_info->update(); + }, &roll_object); + default_button = create_click_button("Default", font_size, [&]() { + show_help_info->setText("Default 帮助信息"); + show_help_info->update(); + }, &roll_object); + clear_button = create_click_button("Clear", font_size, [&]() { + show_help_info->setText("Clear 帮助信息"); + show_help_info->update(); + }, &roll_object); + save_button = create_click_button("Save", font_size, [&]() { + show_help_info->setText("Save 帮助信息"); + show_help_info->update(); + }, &roll_object); + exit_button = create_click_button("Exit", font_size, [&]() { + Main_Widget::instance()->hide_cur_hover_widget(); + Main_Widget::instance()->get_current_base_widget()->setFocus(); + }, &roll_object); + roll_object.widgets = {start_button, default_button, clear_button, save_button, exit_button}; + roll_object.enter_func = [](QPushButton* btn){ btn->setChecked(true); }; - mRollObject.mLeaveFunc = [](QPushButton* btn){ + roll_object.leave_func = [](QPushButton* btn){ btn->setChecked(false); }; - mainLayout->addLayout(mRollObject.hBoxLayout(8), 2); + main_layout->addLayout(roll_object.hbox_layout(8), 2); } -void ServerSettingWidget::paintEvent(QPaintEvent *event) { +void Server_Setting_Widget::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setPen(Qt::NoPen); QPalette palette = QApplication::style()->standardPalette(); - const QBrush& base1Brush = palette.brush(QPalette::Window); - painter.setBrush(base1Brush); + const QBrush& base1_brush = palette.brush(QPalette::Window); + painter.setBrush(base1_brush); painter.drawRect(rect()); painter.end(); } -QLabel *ServerSettingWidget::createLabel(const QString& text) { +QLabel *Server_Setting_Widget::create_label(const QString& text) { auto ret = new QLabel(text); QFont font; font.setBold(true); - font.setPixelSize(Global::instance()->adaptHeight(50)); + font.setPixelSize(Global::instance()->adapt_height(50)); ret->setFont(font); QPalette pe; pe.setColor(QPalette::WindowText, Qt::black); @@ -92,22 +92,22 @@ QLabel *ServerSettingWidget::createLabel(const QString& text) { return ret; } -void ServerSettingWidget::keyPressEvent(QKeyEvent *event) { +void Server_Setting_Widget::keyPressEvent(QKeyEvent *event) { if (event->type() == QEvent::KeyPress) { - BackEnd* g = BackEnd::instance(); - auto *keyEvent = dynamic_cast(event); - if(g->match(keyEvent, "左移")){ - mRollObject.rollLeft(); + Back_End* g = Back_End::instance(); + auto *key_event = dynamic_cast(event); + if(g->match(key_event, "左移")){ + roll_object.roll_left(); event->accept(); return; } - if(g->match(keyEvent, "右移")){ - mRollObject.rollRight(); + if(g->match(key_event, "右移")){ + roll_object.roll_right(); event->accept(); return; } - if(g->match(keyEvent, "确定")){ - mRollObject.cur()->emit clicked(); + if(g->match(key_event, "确定")){ + roll_object.cur()->emit clicked(); event->accept(); return; } @@ -115,8 +115,8 @@ void ServerSettingWidget::keyPressEvent(QKeyEvent *event) { event->ignore(); } -void ServerSettingWidget::showEvent(QShowEvent *event) { - mRollObject.mEnterFunc(mRollObject.cur()); +void Server_Setting_Widget::showEvent(QShowEvent *event) { + roll_object.enter_func(roll_object.cur()); event->accept(); } diff --git a/module/radio/subWidget/ServerSettingWidget.h b/module/radio/subWidget/ServerSettingWidget.h index 89e8a30..0be21cb 100644 --- a/module/radio/subWidget/ServerSettingWidget.h +++ b/module/radio/subWidget/ServerSettingWidget.h @@ -1,20 +1,20 @@ -#ifndef ServerSettingWidget_H -#define ServerSettingWidget_H +#ifndef Server_Setting_Widget_H +#define Server_Setting_Widget_H #include "../Global.h" -#include "YSGraphic_Core/base/export.h" +#include "Widget/base/export.h" class QLabel; class QPushButton; -class ExpandInput; -class ShowHelpInfo; -class ServerSettingWidget : public QWidget { +class Expand_Input; +class Show_Help_Info; +class Server_Setting_Widget : public QWidget { public: - explicit ServerSettingWidget(QWidget *parent = nullptr); - QLabel *mRigNameLabel, *mUserNameLabel, *mPasswordLabel, *mCtrlPortLabel, *mCivPortLabel, *mAudioPortLabel; - ExpandInput *mRigNameEdit, *mUserNameEdit, *mPasswordEdit, *mCtrlPortEdit, *mCivPortEdit, *mAudioPortEdit; - ShowHelpInfo* mShowHelpInfo; - YSG::Roll_Object mRollObject; - QPushButton *mStartButton, *mDefaultButton, *mClearButton, *mSaveButton, *mExitButton; - static QLabel* createLabel(const QString& text); + explicit Server_Setting_Widget(QWidget *parent = nullptr); + QLabel *rig_name_label, *user_name_label, *password_label, *ctrl_port_label, *civ_port_label, *audio_port_label; + Expand_Input *rig_name_edit, *user_name_edit, *password_edit, *ctrl_port_edit, *civ_port_edit, *audio_port_edit; + Show_Help_Info* show_help_info; + renderive::Roll_Object roll_object; + QPushButton *start_button, *default_button, *clear_button, *save_button, *exit_button; + static QLabel* create_label(const QString& text); protected: void paintEvent(QPaintEvent *event) override; void keyPressEvent(QKeyEvent *event) override; diff --git a/module/radio/todolist.txt b/module/radio/todolist.txt deleted file mode 100644 index 7ee760b..0000000 --- a/module/radio/todolist.txt +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - -余辉图添加修改线等单元测试 diff --git a/third_party/init.bash b/third_party/init.bash index f7066ba..b08f8b5 100644 --- a/third_party/init.bash +++ b/third_party/init.bash @@ -28,4 +28,4 @@ fetch_repo_ex() { fetch_repo_ex "build_infra" fetch_repo_ex "CPP_Core" -fetch_repo_ex "Graphic_Core" +fetch_repo_ex "Renderive" diff --git a/third_party/init.ps1 b/third_party/init.ps1 index 00b70e6..170a7b4 100644 --- a/third_party/init.ps1 +++ b/third_party/init.ps1 @@ -42,4 +42,4 @@ function Fetch-RepoEx Fetch-RepoEx "build_infra" Fetch-RepoEx "CPP_Core" -Fetch-RepoEx "Graphic_Core" \ No newline at end of file +Fetch-RepoEx "Renderive" \ No newline at end of file